diff --git a/.travis.yml b/.travis.yml index edd9984f84c..754b84c3743 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,9 +3,14 @@ language: c sudo: false env: - BYOND_MAJOR="511" - BYOND_MINOR="1381" - MACRO_COUNT=4 + global: + - BYOND_MAJOR="512" + - BYOND_MINOR="1414" + - MACRO_COUNT=4 + matrix: + - TEST_DEFINE="MAP_TEST" TEST_FILE="code/_map_tests.dm" RUN="0" + - TEST_DEFINE="AWAY_MISSION_TEST" TEST_FILE="code/_away_mission_tests.dm" RUN="0" + - TEST_DEFINE="UNIT_TEST" TEST_FILE="code/_unit_tests.dm" RUN="1" cache: directories: @@ -36,14 +41,10 @@ script: - (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ]) - source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup - python tools/TagMatcher/tag-matcher.py ../.. - #First compile is to ensure maps are valid. - - echo "#define MAP_TEST 1" > code/_map_tests.dm + # Run our test - cp config/example/* config/ + - echo "#define ${TEST_DEFINE} 1" > ${TEST_FILE} - DreamMaker polaris.dme - - echo "#define MAP_TEST 0" > code/_map_tests.dm - #Second compile is for the unit tests. Compiling a second time to exclude the validated maps is actually faster than waiting for startup with them compiled. - - echo "#define UNIT_TEST 1" > code/_unit_tests.dm - - DreamMaker polaris.dme - - DreamDaemon polaris.dmb -invisible -trusted -core 2>&1 | tee log.txt - - grep "All Unit Tests Passed" log.txt + - if [ $RUN -eq 1 ]; then DreamDaemon polaris.dmb -invisible -trusted -core 2>&1 | tee log.txt; fi + - if [ $RUN -eq 1 ]; then grep "All Unit Tests Passed" log.txt; fi diff --git a/README.md b/README.md index ea59760d955..49de2b6eafa 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # polaris -[Forums](http://ss13polaris.com/forums/) - [Wiki](http://ss13polaris.com/wiki/doku.php) +[Forums](https://forum.ss13polaris.com/) - [Wiki](http://wiki.ss13polaris.com/) Polaris is a fork of the Baystation12 code branch for the game Spacestation13. diff --git a/code/ATMOSPHERICS/_atmos_setup.dm b/code/ATMOSPHERICS/_atmos_setup.dm index b8c3e911509..09bb2911806 100644 --- a/code/ATMOSPHERICS/_atmos_setup.dm +++ b/code/ATMOSPHERICS/_atmos_setup.dm @@ -15,11 +15,6 @@ #define PIPE_COLOR_BLACK "#444444" #define PIPE_COLOR_PURPLE "#5c1ec0" -#define CONNECT_TYPE_REGULAR 1 -#define CONNECT_TYPE_SUPPLY 2 -#define CONNECT_TYPE_SCRUBBER 4 -#define CONNECT_TYPE_HE 8 - var/global/list/pipe_colors = list("grey" = PIPE_COLOR_GREY, "red" = PIPE_COLOR_RED, "blue" = PIPE_COLOR_BLUE, "cyan" = PIPE_COLOR_CYAN, "green" = PIPE_COLOR_GREEN, "yellow" = PIPE_COLOR_YELLOW, "black" = PIPE_COLOR_BLACK, "purple" = PIPE_COLOR_PURPLE) /proc/pipe_color_lookup(var/color) diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm index 6fc2b923dd1..b5cd6486b9f 100644 --- a/code/ATMOSPHERICS/_atmospherics_helpers.dm +++ b/code/ATMOSPHERICS/_atmospherics_helpers.dm @@ -455,3 +455,40 @@ var/sink_pressure = sink.return_pressure() return (source_pressure - sink_pressure)/(R_IDEAL_GAS_EQUATION * (source.temperature/source_volume + sink.temperature/sink_volume)) + +// +// Debugging helper procs +// + +/proc/atmos_piping_layer_str(piping_layer) + switch(piping_layer) + if(PIPING_LAYER_SUPPLY) + return "SUPPLY" + if(PIPING_LAYER_REGULAR) + return "REGULAR" + if(PIPING_LAYER_SCRUBBER) + return "SCRUBBER" + +/proc/atmos_pipe_flags_str(pipe_flags) + var/list/dat = list() + if(pipe_flags & PIPING_ALL_LAYER) + dat += "ALL_LAYER" + if(pipe_flags & PIPING_ONE_PER_TURF) + dat += "ONE_PER_TURF" + if(pipe_flags & PIPING_DEFAULT_LAYER_ONLY) + dat += "DEFAULT_LAYER_ONLY" + if(pipe_flags & PIPING_CARDINAL_AUTONORMALIZE) + dat += "CARDINAL_AUTONORMALIZE" + return dat.Join("|") + +/proc/atmos_connect_types_str(connect_types) + var/list/dat = list() + if(connect_types & CONNECT_TYPE_REGULAR) + dat += "REGULAR" + if(connect_types & CONNECT_TYPE_SUPPLY) + dat += "SUPPLY" + if(connect_types & CONNECT_TYPE_SCRUBBER) + dat += "SCRUBBER" + if(connect_types & CONNECT_TYPE_HE) + dat += "HE" + return dat.Join("|") diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 0502f2b8f8f..acb1da7b022 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -17,10 +17,15 @@ Pipelines + Other Objects -> Pipe network var/nodealert = 0 var/power_rating //the maximum amount of power the machine can use to do work, affects how powerful the machine is, in Watts - layer = 2.4 //under wires with their 2.44 + layer = ATMOS_LAYER + plane = PLATING_PLANE + var/pipe_flags = PIPING_DEFAULT_LAYER_ONLY // Allow other layers by exception basis. var/connect_types = CONNECT_TYPE_REGULAR + var/piping_layer = PIPING_LAYER_DEFAULT // This will replace icon_connect_type at some point ~Leshana var/icon_connect_type = "" //"-supply" or "-scrubbers" + var/construction_type = null // Type path of the pipe item when this is deconstructed. + var/pipe_state // icon_state as a pipe item var/initialize_directions = 0 var/pipe_color @@ -29,11 +34,12 @@ Pipelines + Other Objects -> Pipe network var/obj/machinery/atmospherics/node1 var/obj/machinery/atmospherics/node2 -/obj/machinery/atmospherics/New() +/obj/machinery/atmospherics/New(loc, newdir) ..() if(!icon_manager) icon_manager = new() - + if(!isnull(newdir)) + set_dir(newdir) if(!pipe_color) pipe_color = color color = null @@ -46,6 +52,15 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/init_dir() return +// Get ALL initialize_directions - Some types (HE pipes etc) combine two vars together for this. +/obj/machinery/atmospherics/proc/get_init_dirs() + return initialize_directions + +// Get the direction each node is facing to connect. +// It now returns as a list so it can be fetched nicely, each entry corresponds to node of same number. +/obj/machinery/atmospherics/proc/get_node_connect_dirs() + return + // Initializes nodes by looking at neighboring atmospherics machinery to connect to. // When we're being constructed at runtime, atmos_init() is called by the construction code. // When dynamically loading a map atmos_init is called by the maploader (initTemplateBounds proc) @@ -54,6 +69,14 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/atmos_init() return +/** Check if target is an acceptable target to connect as a node from this machine. */ +/obj/machinery/atmospherics/proc/can_be_node(obj/machinery/atmospherics/target, node_num) + return (target.initialize_directions & get_dir(target,src)) && check_connectable(target) && target.check_connectable(src) + +/** Check if this machine is willing to connect with the target machine. */ +/obj/machinery/atmospherics/proc/check_connectable(obj/machinery/atmospherics/target) + return (src.connect_types & target.connect_types) + /obj/machinery/atmospherics/attackby(atom/A, mob/user as mob) if(istype(A, /obj/item/device/pipe_painter)) return @@ -77,12 +100,6 @@ Pipelines + Other Objects -> Pipe network else return 0 -obj/machinery/atmospherics/proc/check_connect_types(obj/machinery/atmospherics/atmos1, obj/machinery/atmospherics/atmos2) - return (atmos1.connect_types & atmos2.connect_types) - -/obj/machinery/atmospherics/proc/check_connect_types_construction(obj/machinery/atmospherics/atmos1, obj/item/pipe/pipe2) - return (atmos1.connect_types & pipe2.connect_types) - /obj/machinery/atmospherics/proc/check_icon_cache(var/safety = 0) if(!istype(icon_manager)) if(!safety) //to prevent infinite loops @@ -141,4 +158,60 @@ obj/machinery/atmospherics/proc/check_connect_types(obj/machinery/atmospherics/a var/datum/gas_mixture/env_air = loc.return_air() if((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE) return 0 - return 1 \ No newline at end of file + return 1 + +// Deconstruct into a pipe item. +/obj/machinery/atmospherics/proc/deconstruct() + if(QDELETED(src)) + return + if(construction_type) + var/obj/item/pipe/I = new construction_type(loc, null, null, src) + I.setPipingLayer(piping_layer) + transfer_fingerprints_to(I) + qdel(src) + +// Return a list of nodes which we should call atmos_init() and build_network() during on_construction() +/obj/machinery/atmospherics/proc/get_neighbor_nodes_for_init() + return null + +// Called on construction (i.e from pipe item) but not on initialization +/obj/machinery/atmospherics/proc/on_construction(obj_color, set_layer) + pipe_color = obj_color + setPipingLayer(set_layer) + // TODO - M.connect_types = src.connect_types - Or otherwise copy from item? Or figure it out from piping layer? + var/turf/T = get_turf(src) + level = !T.is_plating() ? 2 : 1 + atmos_init() + if(QDELETED(src)) + return // TODO - Eventually should get rid of the need for this. + build_network() + var/list/nodes = get_neighbor_nodes_for_init() + for(var/obj/machinery/atmospherics/A in nodes) + A.atmos_init() + A.build_network() + // TODO - Should we do src.build_network() before or after the nodes? + // We've historically done before, but /tg does after. TODO research if there is a difference. + +// This sets our piping layer. Hopefully its cool. +/obj/machinery/atmospherics/proc/setPipingLayer(new_layer) + if(pipe_flags & (PIPING_DEFAULT_LAYER_ONLY|PIPING_ALL_LAYER)) + new_layer = PIPING_LAYER_DEFAULT + piping_layer = new_layer + // Do it the Polaris way + switch(piping_layer) + if(PIPING_LAYER_SCRUBBER) + icon_state = "[icon_state]-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + if(PIPING_LAYER_SUPPLY) + icon_state = "[icon_state]-supply" + connect_types = CONNECT_TYPE_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + if(pipe_flags & PIPING_ALL_LAYER) + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + // Or if we were to do it the TG way... + // pixel_x = PIPE_PIXEL_OFFSET_X(piping_layer) + // pixel_y = PIPE_PIXEL_OFFSET_Y(piping_layer) + // layer = initial(layer) + PIPE_LAYER_OFFSET(piping_layer) diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm index 6e6662f39c1..4698c613a9e 100644 --- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm +++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm @@ -30,6 +30,9 @@ initialize_directions = EAST|WEST // Housekeeping and pipe network stuff below +/obj/machinery/atmospherics/binary/get_neighbor_nodes_for_init() + return list(node1, node2) + /obj/machinery/atmospherics/binary/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node1) network1 = new_network @@ -64,17 +67,8 @@ var/node2_connect = dir var/node1_connect = turn(dir, 180) - for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node2 = target - break + STANDARD_ATMOS_CHOOSE_NODE(1, node1_connect) + STANDARD_ATMOS_CHOOSE_NODE(2, node2_connect) update_icon() update_underlays() diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 68ce37d0884..ff1089e6f8d 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -9,6 +9,7 @@ icon = 'icons/obj/pipes.dmi' icon_state = "circ-off" anchored = 0 + pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF var/kinetic_efficiency = 0.04 //combined kinetic and kinetic-to-electric efficiency var/volume_ratio = 0.2 diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 5c5ff502998..d696aad039a 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -24,6 +24,7 @@ idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 7500 //7500 W ~ 10 HP + pipe_flags = PIPING_ALL_LAYER connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER //connects to regular, supply and scrubbers pipes var/pump_direction = 1 //0 = siphoning, 1 = releasing @@ -194,7 +195,7 @@ return 1 /obj/machinery/atmospherics/binary/dp_vent_pump/initialize() - ..() + . = ..() if(frequency) set_frequency(frequency) diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 4c1863b1334..c08c82f6b90 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -5,6 +5,8 @@ /obj/machinery/atmospherics/binary/passive_gate icon = 'icons/atmos/passive_gate.dmi' icon_state = "map" + construction_type = /obj/item/pipe/directional + pipe_state = "passivegate" level = 1 name = "pressure regulator" @@ -128,7 +130,7 @@ return 1 /obj/machinery/atmospherics/binary/passive_gate/initialize() - ..() + . = ..() if(frequency) set_frequency(frequency) @@ -257,8 +259,7 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() #undef REGULATE_NONE #undef REGULATE_INPUT diff --git a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm index b8c7883796e..a7127a4dc62 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm @@ -139,6 +139,9 @@ src.set_dir(turn(src.dir, 90)) //Goddamn copypaste from binary base class because atmospherics machinery API is not damn flexible + get_neighbor_nodes_for_init() + return list(node1, node2) + network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node1) network1 = new_network diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index cddd9f95270..a89b1c5659b 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -15,6 +15,8 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/pump icon = 'icons/atmos/pump.dmi' icon_state = "map_off" + construction_type = /obj/item/pipe/directional + pipe_state = "pump" level = 1 name = "gas pump" @@ -148,7 +150,7 @@ Thus, the two variables affect pump operation are set in New(): ui.set_auto_update(1) // auto update every Master Controller tick /obj/machinery/atmospherics/binary/pump/initialize() - ..() + . = ..() if(frequency) set_frequency(frequency) @@ -236,5 +238,4 @@ Thus, the two variables affect pump operation are set in New(): "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm index 42b02282cc2..b4493a15661 100644 --- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm @@ -1,6 +1,8 @@ /obj/machinery/atmospherics/binary/pump/high_power icon = 'icons/atmos/volume_pump.dmi' icon_state = "map_off" + construction_type = /obj/item/pipe/directional + pipe_state = "volumepump" level = 1 name = "high power gas pump" diff --git a/code/ATMOSPHERICS/components/omni_devices/filter.dm b/code/ATMOSPHERICS/components/omni_devices/filter.dm index 8710623dfdd..57889c463e0 100644 --- a/code/ATMOSPHERICS/components/omni_devices/filter.dm +++ b/code/ATMOSPHERICS/components/omni_devices/filter.dm @@ -4,6 +4,7 @@ /obj/machinery/atmospherics/omni/atmos_filter name = "omni gas filter" icon_state = "map_filter" + pipe_state = "omni_filter" var/list/atmos_filters = new() var/datum/omni_port/input diff --git a/code/ATMOSPHERICS/components/omni_devices/mixer.dm b/code/ATMOSPHERICS/components/omni_devices/mixer.dm index 6340397870a..c833b5bb2a7 100644 --- a/code/ATMOSPHERICS/components/omni_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/omni_devices/mixer.dm @@ -4,6 +4,7 @@ /obj/machinery/atmospherics/omni/mixer name = "omni gas mixer" icon_state = "map_mixer" + pipe_state = "omni_mixer" use_power = 1 idle_power_usage = 150 //internal circuitry, friction losses and stuff diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index 7416a5bfc44..e7ec93852da 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -7,6 +7,7 @@ icon_state = "base" use_power = 1 initialize_directions = 0 + construction_type = /obj/item/pipe/quaternary level = 1 var/configuring = 0 @@ -93,8 +94,7 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() /obj/machinery/atmospherics/omni/can_unwrench() var/int_pressure = 0 @@ -222,6 +222,11 @@ // Housekeeping and pipe network stuff below +/obj/machinery/atmospherics/omni/get_neighbor_nodes_for_init() + var/list/neighbor_nodes = list() + for(var/datum/omni_port/P in ports) + neighbor_nodes += P.node + return neighbor_nodes /obj/machinery/atmospherics/omni/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) for(var/datum/omni_port/P in ports) @@ -252,10 +257,9 @@ if(P.node || P.mode == 0) continue for(var/obj/machinery/atmospherics/target in get_step(src, P.dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - P.node = target - break + if(can_be_node(target, 1)) + P.node = target + break for(var/datum/omni_port/P in ports) P.update = 1 diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm index 6911288c932..7dca3f52d49 100644 --- a/code/ATMOSPHERICS/components/portables_connector.dm +++ b/code/ATMOSPHERICS/components/portables_connector.dm @@ -7,6 +7,9 @@ dir = SOUTH initialize_directions = SOUTH + construction_type = /obj/item/pipe/directional + pipe_state = "connector" + pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF var/obj/machinery/portable_atmospherics/connected_device @@ -47,6 +50,9 @@ return 1 // Housekeeping and pipe network stuff below +/obj/machinery/atmospherics/portables_connector/get_neighbor_nodes_for_init() + return list(node) + /obj/machinery/atmospherics/portables_connector/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node) network = new_network @@ -77,10 +83,9 @@ var/node_connect = dir for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node = target - break + if(can_be_node(target, 1)) + node = target + break update_icon() update_underlays() @@ -146,5 +151,4 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index 951e5a03de8..49cb05e9afa 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -1,6 +1,8 @@ /obj/machinery/atmospherics/trinary/atmos_filter icon = 'icons/atmos/filter.dmi' icon_state = "map" + construction_type = /obj/item/pipe/trinary/flippable + pipe_state = "filter" density = 0 level = 1 @@ -59,7 +61,7 @@ . = ..() /obj/machinery/atmospherics/trinary/atmos_filter/update_icon() - if(istype(src, /obj/machinery/atmospherics/trinary/atmos_filter/m_filter)) + if(mirrored) icon_state = "m" else icon_state = "" @@ -72,31 +74,6 @@ icon_state += "off" use_power = 0 -/obj/machinery/atmospherics/trinary/atmos_filter/update_underlays() - if(..()) - underlays.Cut() - var/turf/T = get_turf(src) - if(!istype(T)) - return - - add_underlay(T, node1, turn(dir, -180)) - - if(istype(src, /obj/machinery/atmospherics/trinary/atmos_filter/m_filter)) - add_underlay(T, node2, turn(dir, 90)) - else - add_underlay(T, node2, turn(dir, -90)) - - add_underlay(T, node3, dir) - -/obj/machinery/atmospherics/trinary/atmos_filter/hide(var/i) - update_underlays() - -/obj/machinery/atmospherics/trinary/atmos_filter/power_change() - var/old_stat = stat - ..() - if(old_stat != stat) - update_icon() - /obj/machinery/atmospherics/trinary/atmos_filter/process() ..() @@ -129,26 +106,9 @@ return 1 /obj/machinery/atmospherics/trinary/atmos_filter/initialize() - set_frequency(frequency) - ..() - -/obj/machinery/atmospherics/trinary/atmos_filter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if (!istype(W, /obj/item/weapon/wrench)) - return ..() - if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") - add_fingerprint(user) - return 1 - playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") - if (do_after(user, 40 * W.toolspeed)) - user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ - "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) - + . = ..() + if(frequency) + set_frequency(frequency) /obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user as mob) // -- TLE if(..()) @@ -234,44 +194,11 @@ */ return +// +// Mirrored Orientation - Flips the output dir to opposite side from normal. +// /obj/machinery/atmospherics/trinary/atmos_filter/m_filter icon_state = "mmap" - dir = SOUTH initialize_directions = SOUTH|NORTH|EAST - -obj/machinery/atmospherics/trinary/atmos_filter/m_filter/init_dir() - switch(dir) - if(NORTH) - initialize_directions = WEST|NORTH|SOUTH - if(SOUTH) - initialize_directions = SOUTH|EAST|NORTH - if(EAST) - initialize_directions = EAST|WEST|NORTH - if(WEST) - initialize_directions = WEST|SOUTH|EAST - -/obj/machinery/atmospherics/trinary/atmos_filter/m_filter/atmos_init() - if(node1 && node2 && node3) return - - var/node1_connect = turn(dir, -180) - var/node2_connect = turn(dir, 90) - var/node3_connect = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - if(target.initialize_directions & get_dir(target,src)) - node1 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - if(target.initialize_directions & get_dir(target,src)) - node2 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node3_connect)) - if(target.initialize_directions & get_dir(target,src)) - node3 = target - break - - update_icon() - update_underlays() + mirrored = TRUE diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 5739a57895e..84c5d49daa4 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -1,6 +1,8 @@ /obj/machinery/atmospherics/trinary/mixer icon = 'icons/atmos/mixer.dmi' icon_state = "map" + construction_type = /obj/item/pipe/trinary/flippable + pipe_state = "mixer" density = 0 level = 1 @@ -20,10 +22,10 @@ //node 3 is the outlet, nodes 1 & 2 are intakes /obj/machinery/atmospherics/trinary/mixer/update_icon(var/safety = 0) - if(istype(src, /obj/machinery/atmospherics/trinary/mixer/m_mixer)) - icon_state = "m" - else if(istype(src, /obj/machinery/atmospherics/trinary/mixer/t_mixer)) + if(tee) icon_state = "t" + else if(mirrored) + icon_state = "m" else icon_state = "" @@ -35,34 +37,6 @@ icon_state += "off" use_power = 0 -/obj/machinery/atmospherics/trinary/mixer/update_underlays() - if(..()) - underlays.Cut() - var/turf/T = get_turf(src) - if(!istype(T)) - return - - if(istype(src, /obj/machinery/atmospherics/trinary/mixer/t_mixer)) - add_underlay(T, node1, turn(dir, -90)) - else - add_underlay(T, node1, turn(dir, -180)) - - if(istype(src, /obj/machinery/atmospherics/trinary/mixer/m_mixer) || istype(src, /obj/machinery/atmospherics/trinary/mixer/t_mixer)) - add_underlay(T, node2, turn(dir, 90)) - else - add_underlay(T, node2, turn(dir, -90)) - - add_underlay(T, node3, dir) - -/obj/machinery/atmospherics/trinary/mixer/hide(var/i) - update_underlays() - -/obj/machinery/atmospherics/trinary/mixer/power_change() - var/old_stat = stat - ..() - if(old_stat != stat) - update_icon() - /obj/machinery/atmospherics/trinary/mixer/New() ..() air1.volume = ATMOS_DEFAULT_VOLUME_MIXER @@ -103,23 +77,6 @@ return 1 -/obj/machinery/atmospherics/trinary/mixer/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if (!istype(W, /obj/item/weapon/wrench)) - return ..() - if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") - add_fingerprint(user) - return 1 - playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") - if (do_after(user, 40 * W.toolspeed)) - user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ - "You hear ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) - /obj/machinery/atmospherics/trinary/mixer/attack_hand(user as mob) if(..()) return @@ -173,92 +130,22 @@ src.updateUsrDialog() return +// +// "T" Orientation - Inputs are on oposite sides instead of adjacent +// obj/machinery/atmospherics/trinary/mixer/t_mixer icon_state = "tmap" - + construction_type = /obj/item/pipe/trinary // Can't flip a "T", its symmetrical + pipe_state = "t_mixer" dir = SOUTH initialize_directions = SOUTH|EAST|WEST + tee = TRUE - //node 3 is the outlet, nodes 1 & 2 are intakes - -obj/machinery/atmospherics/trinary/mixer/t_mixer/init_dir() - switch(dir) - if(NORTH) - initialize_directions = EAST|NORTH|WEST - if(SOUTH) - initialize_directions = SOUTH|WEST|EAST - if(EAST) - initialize_directions = EAST|NORTH|SOUTH - if(WEST) - initialize_directions = WEST|NORTH|SOUTH - -obj/machinery/atmospherics/trinary/mixer/t_mixer/atmos_init() - ..() - if(node1 && node2 && node3) return - - var/node1_connect = turn(dir, -90) - var/node2_connect = turn(dir, 90) - var/node3_connect = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - if(target.initialize_directions & get_dir(target,src)) - node1 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - if(target.initialize_directions & get_dir(target,src)) - node2 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node3_connect)) - if(target.initialize_directions & get_dir(target,src)) - node3 = target - break - - update_icon() - update_underlays() - -obj/machinery/atmospherics/trinary/mixer/m_mixer +// +// Mirrored Orientation - Flips the output dir to opposite side from normal. +// +/obj/machinery/atmospherics/trinary/mixer/m_mixer icon_state = "mmap" - dir = SOUTH initialize_directions = SOUTH|NORTH|EAST - - //node 3 is the outlet, nodes 1 & 2 are intakes - -obj/machinery/atmospherics/trinary/mixer/m_mixer/init_dir() - switch(dir) - if(NORTH) - initialize_directions = WEST|NORTH|SOUTH - if(SOUTH) - initialize_directions = SOUTH|EAST|NORTH - if(EAST) - initialize_directions = EAST|WEST|NORTH - if(WEST) - initialize_directions = WEST|SOUTH|EAST - -obj/machinery/atmospherics/trinary/mixer/m_mixer/atmos_init() - ..() - if(node1 && node2 && node3) return - - var/node1_connect = turn(dir, -180) - var/node2_connect = turn(dir, 90) - var/node3_connect = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - if(target.initialize_directions & get_dir(target,src)) - node1 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - if(target.initialize_directions & get_dir(target,src)) - node2 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node3_connect)) - if(target.initialize_directions & get_dir(target,src)) - node3 = target - break - - update_icon() - update_underlays() + mirrored = TRUE diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index 807523fe7a0..0a68f74c71e 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -2,6 +2,10 @@ dir = SOUTH initialize_directions = SOUTH|NORTH|WEST use_power = 0 + pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF + + var/mirrored = FALSE + var/tee = FALSE var/datum/gas_mixture/air1 var/datum/gas_mixture/air2 @@ -25,17 +29,48 @@ air3.volume = 200 /obj/machinery/atmospherics/trinary/init_dir() - switch(dir) - if(NORTH) - initialize_directions = EAST|NORTH|SOUTH - if(SOUTH) - initialize_directions = SOUTH|WEST|NORTH - if(EAST) - initialize_directions = EAST|WEST|SOUTH - if(WEST) - initialize_directions = WEST|NORTH|EAST + initialize_directions = get_initialize_directions_trinary(dir, mirrored, tee) + +/obj/machinery/atmospherics/trinary/update_underlays() + if(..()) + underlays.Cut() + var/turf/T = get_turf(src) + if(!istype(T)) + return + var/list/node_connects = get_node_connect_dirs() + add_underlay(T, node1, node_connects[1]) + add_underlay(T, node2, node_connects[2]) + add_underlay(T, node3, node_connects[3]) + +/obj/machinery/atmospherics/trinary/hide(var/i) + update_underlays() + +/obj/machinery/atmospherics/trinary/power_change() + var/old_stat = stat + . = ..() + if(old_stat != stat) + update_icon() + +/obj/machinery/atmospherics/trinary/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + if (!istype(W, /obj/item/weapon/wrench)) + return ..() + if(!can_unwrench()) + to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") + add_fingerprint(user) + return 1 + playsound(src, W.usesound, 50, 1) + to_chat(user, "You begin to unfasten \the [src]...") + if (do_after(user, 40 * W.toolspeed)) + user.visible_message( \ + "\The [user] unfastens \the [src].", \ + "You have unfastened \the [src].", \ + "You hear a ratchet.") + deconstruct() // Housekeeping and pipe network stuff below +/obj/machinery/atmospherics/trinary/get_neighbor_nodes_for_init() + return list(node1, node2, node3) + /obj/machinery/atmospherics/trinary/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node1) network1 = new_network @@ -70,30 +105,20 @@ node2 = null node3 = null +// Get the direction each node is facing to connect. +// It now returns as a list so it can be fetched nicely, each entry corresponds to node of same number. +/obj/machinery/atmospherics/trinary/get_node_connect_dirs() + return get_node_connect_dirs_trinary(dir, mirrored, tee) + /obj/machinery/atmospherics/trinary/atmos_init() if(node1 && node2 && node3) return - var/node1_connect = turn(dir, -180) - var/node2_connect = turn(dir, -90) - var/node3_connect = dir + var/list/node_connects = get_node_connect_dirs() - for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node2 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node3_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node3 = target - break + STANDARD_ATMOS_CHOOSE_NODE(1, node_connects[1]) + STANDARD_ATMOS_CHOOSE_NODE(2, node_connects[2]) + STANDARD_ATMOS_CHOOSE_NODE(3, node_connects[3]) update_icon() update_underlays() @@ -166,4 +191,58 @@ update_underlays() - return null \ No newline at end of file + return null + +// Trinary init_dir() logic in a separate proc so it can be referenced from "trinary-ish" places like T-Valves +// TODO - Someday refactor those places under atmospherics/trinary +/proc/get_initialize_directions_trinary(var/dir, var/mirrored = FALSE, var/tee = FALSE) + if(tee) + switch(dir) + if(NORTH) + return EAST|NORTH|WEST + if(SOUTH) + return SOUTH|WEST|EAST + if(EAST) + return EAST|NORTH|SOUTH + if(WEST) + return WEST|NORTH|SOUTH + else if(mirrored) + switch(dir) + if(NORTH) + return WEST|NORTH|SOUTH + if(SOUTH) + return SOUTH|EAST|NORTH + if(EAST) + return EAST|WEST|NORTH + if(WEST) + return WEST|SOUTH|EAST + else + switch(dir) + if(NORTH) + return EAST|NORTH|SOUTH + if(SOUTH) + return SOUTH|WEST|NORTH + if(EAST) + return EAST|WEST|SOUTH + if(WEST) + return WEST|NORTH|EAST + +// Trinary get_node_connect_dirs() logic in a separate proc so it can be referenced from "trinary-ish" places like T-Valves +/proc/get_node_connect_dirs_trinary(var/dir, var/mirrored = FALSE, var/tee = FALSE) + var/node1_connect + var/node2_connect + var/node3_connect + + if(tee) + node1_connect = turn(dir, -90) + node2_connect = turn(dir, 90) + node3_connect = dir + else if(mirrored) + node1_connect = turn(dir, 180) + node2_connect = turn(dir, 90) + node3_connect = dir + else + node1_connect = turn(dir, 180) + node2_connect = turn(dir, -90) + node3_connect = dir + return list(node1_connect, node2_connect, node3_connect) diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm index 09d2d5e4247..b65c615174e 100644 --- a/code/ATMOSPHERICS/components/tvalve.dm +++ b/code/ATMOSPHERICS/components/tvalve.dm @@ -1,6 +1,8 @@ /obj/machinery/atmospherics/tvalve icon = 'icons/atmos/tvalve.dmi' icon_state = "map_tvalve0" + construction_type = /obj/item/pipe/trinary/flippable + pipe_state = "mtvalve" name = "manual switching valve" desc = "A pipe valve" @@ -11,6 +13,9 @@ var/state = 0 // 0 = go straight, 1 = go to side + var/mirrored = FALSE + var/tee = FALSE // Note: Tee not actually supported for T-valves: no sprites + // like a trinary component, node1 is input, node2 is side output, node3 is straight output var/obj/machinery/atmospherics/node3 @@ -24,9 +29,9 @@ /obj/machinery/atmospherics/tvalve/update_icon(animation) if(animation) - flick("tvalve[src.state][!src.state]",src) + flick("tvalve[mirrored ? "m" : ""][src.state][!src.state]",src) else - icon_state = "tvalve[state]" + icon_state = "tvalve[mirrored ? "m" : ""][state]" /obj/machinery/atmospherics/tvalve/update_underlays() if(..()) @@ -34,28 +39,19 @@ var/turf/T = get_turf(src) if(!istype(T)) return - add_underlay(T, node1, turn(dir, -180)) - - if(istype(src, /obj/machinery/atmospherics/tvalve/mirrored)) - add_underlay(T, node2, turn(dir, 90)) - else - add_underlay(T, node2, turn(dir, -90)) - - add_underlay(T, node3, dir) + var/list/node_connects = get_node_connect_dirs() + add_underlay(T, node1, node_connects[1]) + add_underlay(T, node2, node_connects[2]) + add_underlay(T, node3, node_connects[3]) /obj/machinery/atmospherics/tvalve/hide(var/i) update_underlays() /obj/machinery/atmospherics/tvalve/init_dir() - switch(dir) - if(NORTH) - initialize_directions = SOUTH|NORTH|EAST - if(SOUTH) - initialize_directions = NORTH|SOUTH|WEST - if(EAST) - initialize_directions = WEST|EAST|SOUTH - if(WEST) - initialize_directions = EAST|WEST|NORTH + initialize_directions = get_initialize_directions_trinary(dir, mirrored) + +/obj/machinery/atmospherics/tvalve/get_neighbor_nodes_for_init() + return list(node1, node2, node3) /obj/machinery/atmospherics/tvalve/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node1) @@ -179,30 +175,18 @@ return +/obj/machinery/atmospherics/tvalve/get_node_connect_dirs() + return get_node_connect_dirs_trinary(dir, mirrored) + /obj/machinery/atmospherics/tvalve/atmos_init() - var/node1_dir - var/node2_dir - var/node3_dir + if(node1 && node2 && node3) + return - node1_dir = turn(dir, 180) - node2_dir = turn(dir, -90) - node3_dir = dir + var/list/node_connects = get_node_connect_dirs() - for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node2 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node3_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node3 = target - break + STANDARD_ATMOS_CHOOSE_NODE(1, node_connects[1]) + STANDARD_ATMOS_CHOOSE_NODE(2, node_connects[2]) + STANDARD_ATMOS_CHOOSE_NODE(3, node_connects[3]) update_icon() update_underlays() @@ -272,6 +256,7 @@ name = "digital switching valve" desc = "A digitally controlled valve." icon = 'icons/atmos/digital_tvalve.dmi' + pipe_state = "dtvalve" var/frequency = 0 var/id = null @@ -294,7 +279,7 @@ /obj/machinery/atmospherics/tvalve/digital/update_icon() ..() if(!powered()) - icon_state = "tvalvenopower" + icon_state = "tvalve[mirrored ? "m" : ""]nopower" /obj/machinery/atmospherics/tvalve/digital/attack_ai(mob/user as mob) return src.attack_hand(user) @@ -318,7 +303,7 @@ /obj/machinery/atmospherics/tvalve/digital/initialize() - ..() + . = ..() if(frequency) set_frequency(frequency) @@ -358,125 +343,20 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() /obj/machinery/atmospherics/tvalve/mirrored icon_state = "map_tvalvem0" + mirrored = TRUE /obj/machinery/atmospherics/tvalve/mirrored/bypass icon_state = "map_tvalvem1" state = 1 -/obj/machinery/atmospherics/tvalve/mirrored/init_dir() - switch(dir) - if(NORTH) - initialize_directions = SOUTH|NORTH|WEST - if(SOUTH) - initialize_directions = NORTH|SOUTH|EAST - if(EAST) - initialize_directions = WEST|EAST|NORTH - if(WEST) - initialize_directions = EAST|WEST|SOUTH +/obj/machinery/atmospherics/tvalve/digital/mirrored + icon_state = "map_tvalvem0" + mirrored = TRUE -/obj/machinery/atmospherics/tvalve/mirrored/atmos_init() - var/node1_dir - var/node2_dir - var/node3_dir - - node1_dir = turn(dir, 180) - node2_dir = turn(dir, 90) - node3_dir = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - if(target.initialize_directions & get_dir(target,src)) - node1 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - if(target.initialize_directions & get_dir(target,src)) - node2 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node3_dir)) - if(target.initialize_directions & get_dir(target,src)) - node3 = target - break - - update_icon() - update_underlays() - -/obj/machinery/atmospherics/tvalve/mirrored/update_icon(animation) - if(animation) - flick("tvalvem[src.state][!src.state]",src) - else - icon_state = "tvalvem[state]" - -/obj/machinery/atmospherics/tvalve/mirrored/digital // can be controlled by AI - name = "digital switching valve" - desc = "A digitally controlled valve." - icon = 'icons/atmos/digital_tvalve.dmi' - - var/frequency = 0 - var/id = null - var/datum/radio_frequency/radio_connection - -/obj/machinery/atmospherics/tvalve/mirrored/digital/Destroy() - unregister_radio(src, frequency) - . = ..() - -/obj/machinery/atmospherics/tvalve/mirrored/digital/bypass +/obj/machinery/atmospherics/tvalve/digital/mirrored/bypass icon_state = "map_tvalvem1" state = 1 - -/obj/machinery/atmospherics/tvalve/mirrored/digital/power_change() - var/old_stat = stat - ..() - if(old_stat != stat) - update_icon() - -/obj/machinery/atmospherics/tvalve/mirrored/digital/update_icon() - ..() - if(!powered()) - icon_state = "tvalvemnopower" - -/obj/machinery/atmospherics/tvalve/mirrored/digital/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/atmospherics/tvalve/mirrored/digital/attack_hand(mob/user as mob) - if(!powered()) - return - if(!src.allowed(user)) - to_chat(user, "Access denied.") - return - ..() - -//Radio remote control -eh? - -/obj/machinery/atmospherics/tvalve/mirrored/digital/proc/set_frequency(new_frequency) - radio_controller.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) - -/obj/machinery/atmospherics/tvalve/mirrored/digital/initialize() - ..() - if(frequency) - set_frequency(frequency) - -/obj/machinery/atmospherics/tvalve/mirrored/digital/receive_signal(datum/signal/signal) - if(!signal.data["tag"] || (signal.data["tag"] != id)) - return 0 - - switch(signal.data["command"]) - if("valve_open") - if(!state) - go_to_side() - - if("valve_close") - if(state) - go_straight() - - if("valve_toggle") - if(state) - go_straight() - else - go_to_side() diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index 36ae824fa7a..b211f57f391 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -38,18 +38,15 @@ var/node_connect = dir for(var/obj/machinery/atmospherics/target in get_step(src, node_connect)) - if(target.initialize_directions & get_dir(target, src)) + if(can_be_node(target, 1)) node = target break - //copied from pipe construction code since heaters/freezers don't use fittings and weren't doing this check - this all really really needs to be refactored someday. - //check that there are no incompatible pipes/machinery in our own location - for(var/obj/machinery/atmospherics/M in src.loc) - if(M != src && (M.initialize_directions & node_connect) && M.check_connect_types(M,src)) // matches at least one direction on either type of pipe & same connection type - node = null - break + if(check_for_obstacles()) + node = null - update_icon() + if(node) + update_icon() /obj/machinery/atmospherics/unary/freezer/update_icon() if(node) diff --git a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm index 8a7fba153af..ed4010f81ed 100644 --- a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm +++ b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm @@ -2,6 +2,7 @@ icon = 'icons/obj/atmospherics/heat_exchanger.dmi' icon_state = "intact" + pipe_state = "heunary" density = 1 name = "Heat Exchanger" @@ -83,5 +84,4 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index 8ca4626ee68..45a9962e063 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -39,18 +39,15 @@ //check that there is something to connect to for(var/obj/machinery/atmospherics/target in get_step(src, node_connect)) - if(target.initialize_directions & get_dir(target, src)) + if(can_be_node(target, 1)) node = target break - //copied from pipe construction code since heaters/freezers don't use fittings and weren't doing this check - this all really really needs to be refactored someday. - //check that there are no incompatible pipes/machinery in our own location - for(var/obj/machinery/atmospherics/M in src.loc) - if(M != src && (M.initialize_directions & node_connect) && M.check_connect_types(M,src)) // matches at least one direction on either type of pipe & same connection type - node = null - break + if(check_for_obstacles()) + node = null - update_icon() + if(node) + update_icon() /obj/machinery/atmospherics/unary/heater/update_icon() diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm index 84780da4255..4a9403a64b3 100644 --- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm @@ -5,7 +5,7 @@ /obj/machinery/atmospherics/unary/outlet_injector icon = 'icons/atmos/injector.dmi' icon_state = "map_injector" - layer = 3 + pipe_state = "injector" name = "air injector" desc = "Passively injects air into its surroundings. Has a valve attached to it that can control flow rate." @@ -123,9 +123,9 @@ return 1 /obj/machinery/atmospherics/unary/outlet_injector/initialize() - ..() - - set_frequency(frequency) + . = ..() + if(frequency) + set_frequency(frequency) /obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm index 77b135cdc53..12d6822ad47 100644 --- a/code/ATMOSPHERICS/components/unary/unary_base.dm +++ b/code/ATMOSPHERICS/components/unary/unary_base.dm @@ -1,6 +1,8 @@ /obj/machinery/atmospherics/unary dir = SOUTH initialize_directions = SOUTH + construction_type = /obj/item/pipe/directional + pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF //layer = TURF_LAYER+0.1 var/datum/gas_mixture/air_contents @@ -21,6 +23,9 @@ initialize_directions = dir // Housekeeping and pipe network stuff below +/obj/machinery/atmospherics/unary/get_neighbor_nodes_for_init() + return list(node) + /obj/machinery/atmospherics/unary/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node) network = new_network @@ -48,10 +53,9 @@ var/node_connect = dir for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node = target - break + if(can_be_node(target, 1)) + node = target + break update_icon() update_underlays() @@ -93,4 +97,20 @@ update_icon() update_underlays() - return null \ No newline at end of file + return null + +// Check if there are any other atmos machines in the same turf that will block this machine from initializing. +// Intended for use when a frame-constructable machine (i.e. not made from pipe fittings) wants to wrench down and connect. +// Returns TRUE if something is blocking, FALSE if its okay to continue. +/obj/machinery/atmospherics/unary/proc/check_for_obstacles() + for(var/obj/machinery/atmospherics/M in loc) + if(M == src) continue + if((M.pipe_flags & pipe_flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. + visible_message("\The [src]'s cannot be connected, something is hogging the tile!") + return TRUE + if((M.piping_layer != piping_layer) && !((M.pipe_flags | flags) & PIPING_ALL_LAYER)) // Pipes on different layers can't block each other unless they are ALL_LAYER + continue + if(M.get_init_dirs() & get_init_dirs()) // matches at least one direction on either type of pipe + visible_message("\The [src]'s connector can't be connected, there is already a pipe at that location!") + return TRUE + return FALSE diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index b5449fe7376..054507b4e17 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -10,6 +10,7 @@ /obj/machinery/atmospherics/unary/vent_pump icon = 'icons/atmos/vent_pump.dmi' icon_state = "map_vent" + pipe_state = "uvent" name = "Air Vent" desc = "Has a valve and pump attached to it" @@ -410,8 +411,7 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() #undef DEFAULT_PRESSURE_DELTA diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index ad78f5a1f48..09b5fde7c12 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -1,6 +1,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber icon = 'icons/atmos/vent_scrubber.dmi' icon_state = "map_scrubber_off" + pipe_state = "scrubber" name = "Air Scrubber" desc = "Has a valve and pump attached to it" @@ -283,8 +284,7 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() /obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user) if(..(user, 1)) diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm index 3cee872f8be..93e5da7c320 100644 --- a/code/ATMOSPHERICS/components/valve.dm +++ b/code/ATMOSPHERICS/components/valve.dm @@ -1,6 +1,8 @@ /obj/machinery/atmospherics/valve icon = 'icons/atmos/valve.dmi' icon_state = "map_valve0" + construction_type = /obj/item/pipe/binary + pipe_state = "mvalve" name = "manual valve" desc = "A pipe valve" @@ -45,6 +47,9 @@ if(EAST || WEST) initialize_directions = EAST|WEST +/obj/machinery/atmospherics/valve/get_neighbor_nodes_for_init() + return list(node1, node2) + /obj/machinery/atmospherics/valve/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) if(reference == node1) network_node1 = new_network @@ -153,16 +158,8 @@ else if (!node2_dir) node2_dir = direction - for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node2 = target - break + STANDARD_ATMOS_CHOOSE_NODE(1, node1_dir) + STANDARD_ATMOS_CHOOSE_NODE(2, node2_dir) build_network() @@ -224,6 +221,7 @@ name = "digital valve" desc = "A digitally controlled valve." icon = 'icons/atmos/digital_valve.dmi' + pipe_state = "dvalve" var/frequency = 0 var/id = null @@ -266,7 +264,7 @@ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) /obj/machinery/atmospherics/valve/digital/initialize() - ..() + . = ..() if(frequency) set_frequency(frequency) @@ -306,8 +304,7 @@ "\The [user] unfastens \the [src].", \ "You have unfastened \the [src].", \ "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - qdel(src) + deconstruct() /obj/machinery/atmospherics/valve/examine(mob/user) ..() diff --git a/code/ATMOSPHERICS/mainspipe.dm b/code/ATMOSPHERICS/mainspipe.dm index 1b0c6175647..baba515fae6 100644 --- a/code/ATMOSPHERICS/mainspipe.dm +++ b/code/ATMOSPHERICS/mainspipe.dm @@ -34,7 +34,8 @@ obj/machinery/atmospherics/pipe/mains_component obj/machinery/atmospherics/mains_pipe icon = 'icons/obj/atmospherics/mainspipe.dmi' - layer = 2.4 //under wires with their 2.5 + layer = PIPES_LAYER + plane = PLATING_PLANE var/volume = 0 @@ -92,6 +93,9 @@ obj/machinery/atmospherics/mains_pipe else return 1 + get_neighbor_nodes_for_init() + return nodes + disconnect() ..() for(var/obj/machinery/atmospherics/pipe/mains_component/node in nodes) diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm deleted file mode 100644 index d77ae5a73ee..00000000000 --- a/code/ATMOSPHERICS/pipes.dm +++ /dev/null @@ -1,1378 +0,0 @@ -// -// Base type of pipes -// -/obj/machinery/atmospherics/pipe - - var/datum/gas_mixture/air_temporary // used when reconstructing a pipeline that broke - var/datum/pipeline/parent - var/volume = 0 - - layer = 2.4 //under wires with their 2.44 - use_power = 0 - - var/alert_pressure = 80*ONE_ATMOSPHERE - //minimum pressure before check_pressure(...) should be called - - can_buckle = 1 - buckle_require_restraints = 1 - buckle_lying = -1 - -/obj/machinery/atmospherics/pipe/drain_power() - return -1 - -/obj/machinery/atmospherics/pipe/New() - if(istype(get_turf(src), /turf/simulated/wall) || istype(get_turf(src), /turf/simulated/shuttle/wall) || istype(get_turf(src), /turf/unsimulated/wall)) - level = 1 - ..() - -/obj/machinery/atmospherics/pipe/hides_under_flooring() - return level != 2 - -/obj/machinery/atmospherics/pipe/proc/pipeline_expansion() - return null - -/obj/machinery/atmospherics/pipe/proc/check_pressure(pressure) - //Return 1 if parent should continue checking other pipes - //Return null if parent should stop checking other pipes. Recall: qdel(src) will by default return null - - return 1 - -/obj/machinery/atmospherics/pipe/return_air() - if(!parent) - parent = new /datum/pipeline() - parent.build_pipeline(src) - - return parent.air - -/obj/machinery/atmospherics/pipe/build_network() - if(!parent) - parent = new /datum/pipeline() - parent.build_pipeline(src) - - return parent.return_network() - -/obj/machinery/atmospherics/pipe/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) - if(!parent) - parent = new /datum/pipeline() - parent.build_pipeline(src) - - return parent.network_expand(new_network, reference) - -/obj/machinery/atmospherics/pipe/return_network(obj/machinery/atmospherics/reference) - if(!parent) - parent = new /datum/pipeline() - parent.build_pipeline(src) - - return parent.return_network(reference) - -/obj/machinery/atmospherics/pipe/Destroy() - qdel_null(parent) - if(air_temporary) - loc.assume_air(air_temporary) - - . = ..() - -/obj/machinery/atmospherics/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - if (istype(src, /obj/machinery/atmospherics/pipe/tank)) - return ..() - - if(istype(W,/obj/item/device/pipe_painter)) - return 0 - - if (!istype(W, /obj/item/weapon/wrench)) - return ..() - var/turf/T = src.loc - if (level==1 && isturf(T) && !T.is_plating()) - to_chat(user, "You must remove the plating first.") - return 1 - if(!can_unwrench()) - to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") - add_fingerprint(user) - return 1 - playsound(src, W.usesound, 50, 1) - to_chat(user, "You begin to unfasten \the [src]...") - if (do_after(user, 40 * W.toolspeed)) - user.visible_message( \ - "\The [user] unfastens \the [src].", \ - "You have unfastened \the [src].", \ - "You hear a ratchet.") - new /obj/item/pipe(loc, make_from=src) - for (var/obj/machinery/meter/meter in T) - if (meter.target == src) - new /obj/item/pipe_meter(T) - qdel(meter) - qdel(src) - -/obj/machinery/atmospherics/pipe/proc/change_color(var/new_color) - //only pass valid pipe colors please ~otherwise your pipe will turn invisible - if(!pipe_color_check(new_color)) - return - - pipe_color = new_color - update_icon() - -/obj/machinery/atmospherics/pipe/color_cache_name(var/obj/machinery/atmospherics/node) - if(istype(src, /obj/machinery/atmospherics/pipe/tank)) - return ..() - - if(istype(node, /obj/machinery/atmospherics/pipe/manifold) || istype(node, /obj/machinery/atmospherics/pipe/manifold4w)) - if(pipe_color == node.pipe_color) - return node.pipe_color - else - return null - else if(istype(node, /obj/machinery/atmospherics/pipe/simple)) - return node.pipe_color - else - return pipe_color - -/obj/machinery/atmospherics/pipe/hide(var/i) - if(istype(loc, /turf/simulated)) - invisibility = i ? 101 : 0 - update_icon() - -/obj/machinery/atmospherics/pipe/process() - if(!parent) //This should cut back on the overhead calling build_network thousands of times per cycle - ..() - else - . = PROCESS_KILL - -// -// Simple Pipes - Just a tube, maybe bent -// -/obj/machinery/atmospherics/pipe/simple - icon = 'icons/atmos/pipes.dmi' - icon_state = "" - var/pipe_icon = "" //what kind of pipe it is and from which dmi is the icon manager getting its icons, "" for simple pipes, "hepipe" for HE pipes, "hejunction" for HE junctions - name = "pipe" - desc = "A one meter section of regular pipe" - - volume = ATMOS_DEFAULT_VOLUME_PIPE - - dir = SOUTH - initialize_directions = SOUTH|NORTH - - var/minimum_temperature_difference = 300 - var/thermal_conductivity = 0 //WALL_HEAT_TRANSFER_COEFFICIENT No - - var/maximum_pressure = 70*ONE_ATMOSPHERE - var/fatigue_pressure = 55*ONE_ATMOSPHERE - alert_pressure = 55*ONE_ATMOSPHERE - - level = 1 - -/obj/machinery/atmospherics/pipe/simple/New() - ..() - - // Pipe colors and icon states are handled by an image cache - so color and icon should - // be null. For mapping purposes color is defined in the object definitions. - icon = null - alpha = 255 - -/obj/machinery/atmospherics/pipe/simple/check_pressure(pressure) - var/datum/gas_mixture/environment = loc.return_air() - - var/pressure_difference = pressure - environment.return_pressure() - - if(pressure_difference > maximum_pressure) - burst() - - else if(pressure_difference > fatigue_pressure) - //TODO: leak to turf, doing pfshhhhh - if(prob(5)) - burst() - - else return 1 - -/obj/machinery/atmospherics/pipe/simple/init_dir() - switch(dir) - if(SOUTH || NORTH) - initialize_directions = SOUTH|NORTH - if(EAST || WEST) - initialize_directions = EAST|WEST - if(NORTHEAST) - initialize_directions = NORTH|EAST - if(NORTHWEST) - initialize_directions = NORTH|WEST - if(SOUTHEAST) - initialize_directions = SOUTH|EAST - if(SOUTHWEST) - initialize_directions = SOUTH|WEST - -/obj/machinery/atmospherics/pipe/simple/proc/burst() - src.visible_message("\The [src] bursts!"); - playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) - var/datum/effect/effect/system/smoke_spread/smoke = new - smoke.set_up(1,0, src.loc, 0) - smoke.start() - qdel(src) - -/obj/machinery/atmospherics/pipe/simple/proc/normalize_dir() - if(dir==3) - set_dir(1) - else if(dir==12) - set_dir(4) - -/obj/machinery/atmospherics/pipe/simple/Destroy() - if(node1) - node1.disconnect(src) - node1 = null - if(node2) - node2.disconnect(src) - node1 = null - - . = ..() - -/obj/machinery/atmospherics/pipe/simple/pipeline_expansion() - return list(node1, node2) - -/obj/machinery/atmospherics/pipe/simple/change_color(var/new_color) - ..() - //for updating connected atmos device pipes (i.e. vents, manifolds, etc) - if(node1) - node1.update_underlays() - if(node2) - node2.update_underlays() - -/obj/machinery/atmospherics/pipe/simple/update_icon(var/safety = 0) - if(!check_icon_cache()) - return - - alpha = 255 - - overlays.Cut() - - if(!node1 && !node2) - var/turf/T = get_turf(src) - new /obj/item/pipe(loc, make_from=src) - for (var/obj/machinery/meter/meter in T) - if (meter.target == src) - new /obj/item/pipe_meter(T) - qdel(meter) - qdel(src) - else if(node1 && node2) - overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]intact[icon_connect_type]") - else - overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]exposed[node1?1:0][node2?1:0][icon_connect_type]") - -/obj/machinery/atmospherics/pipe/simple/update_underlays() - return - -/obj/machinery/atmospherics/pipe/simple/atmos_init() - normalize_dir() - var/node1_dir - var/node2_dir - - for(var/direction in cardinal) - if(direction&initialize_directions) - if (!node1_dir) - node1_dir = direction - else if (!node2_dir) - node2_dir = direction - - for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node2 = target - break - - if(!node1 && !node2) - qdel(src) - return - - var/turf/T = loc - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - -/obj/machinery/atmospherics/pipe/simple/disconnect(obj/machinery/atmospherics/reference) - if(reference == node1) - if(istype(node1, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node1 = null - - if(reference == node2) - if(istype(node2, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node2 = null - - update_icon() - - return null - -/obj/machinery/atmospherics/pipe/simple/visible - icon_state = "intact" - level = 2 - -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers - name = "Scrubbers pipe" - desc = "A one meter section of scrubbers pipe" - icon_state = "intact-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/simple/visible/supply - name = "Air supply pipe" - desc = "A one meter section of supply pipe" - icon_state = "intact-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/simple/visible/yellow - color = PIPE_COLOR_YELLOW - -/obj/machinery/atmospherics/pipe/simple/visible/cyan - color = PIPE_COLOR_CYAN - -/obj/machinery/atmospherics/pipe/simple/visible/green - color = PIPE_COLOR_GREEN - -/obj/machinery/atmospherics/pipe/simple/visible/black - color = PIPE_COLOR_BLACK - -/obj/machinery/atmospherics/pipe/simple/visible/red - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/simple/visible/blue - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/simple/visible/purple - color = PIPE_COLOR_PURPLE - -/obj/machinery/atmospherics/pipe/simple/hidden - icon_state = "intact" - level = 1 - alpha = 128 //set for the benefit of mapping - this is reset to opaque when the pipe is spawned in game - -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers - name = "Scrubbers pipe" - desc = "A one meter section of scrubbers pipe" - icon_state = "intact-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/simple/hidden/supply - name = "Air supply pipe" - desc = "A one meter section of supply pipe" - icon_state = "intact-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/simple/hidden/yellow - color = PIPE_COLOR_YELLOW - -/obj/machinery/atmospherics/pipe/simple/hidden/cyan - color = PIPE_COLOR_CYAN - -/obj/machinery/atmospherics/pipe/simple/hidden/green - color = PIPE_COLOR_GREEN - -/obj/machinery/atmospherics/pipe/simple/hidden/black - color = PIPE_COLOR_BLACK - -/obj/machinery/atmospherics/pipe/simple/hidden/red - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/simple/hidden/blue - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/simple/hidden/purple - color = PIPE_COLOR_PURPLE - -/obj/machinery/atmospherics/pipe/simple/insulated - icon = 'icons/obj/atmospherics/red_pipe.dmi' - icon_state = "intact" - - minimum_temperature_difference = 10000 - thermal_conductivity = 0 - maximum_pressure = 1000*ONE_ATMOSPHERE - fatigue_pressure = 900*ONE_ATMOSPHERE - alert_pressure = 900*ONE_ATMOSPHERE - - level = 2 - -// -// Manifold Pipes - Three way "T" joints -// -/obj/machinery/atmospherics/pipe/manifold - icon = 'icons/atmos/manifold.dmi' - icon_state = "" - name = "pipe manifold" - desc = "A manifold composed of regular pipes" - - volume = ATMOS_DEFAULT_VOLUME_PIPE * 1.5 - - dir = SOUTH - initialize_directions = EAST|NORTH|WEST - - var/obj/machinery/atmospherics/node3 - - level = 1 - layer = 2.4 //under wires with their 2.44 - -/obj/machinery/atmospherics/pipe/manifold/New() - ..() - alpha = 255 - icon = null - -/obj/machinery/atmospherics/pipe/manifold/init_dir() - switch(dir) - if(NORTH) - initialize_directions = EAST|SOUTH|WEST - if(SOUTH) - initialize_directions = WEST|NORTH|EAST - if(EAST) - initialize_directions = SOUTH|WEST|NORTH - if(WEST) - initialize_directions = NORTH|EAST|SOUTH - -/obj/machinery/atmospherics/pipe/manifold/pipeline_expansion() - return list(node1, node2, node3) - -/obj/machinery/atmospherics/pipe/manifold/Destroy() - if(node1) - node1.disconnect(src) - node1 = null - if(node2) - node2.disconnect(src) - node2 = null - if(node3) - node3.disconnect(src) - node3 = null - - . = ..() - -/obj/machinery/atmospherics/pipe/manifold/disconnect(obj/machinery/atmospherics/reference) - if(reference == node1) - if(istype(node1, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node1 = null - - if(reference == node2) - if(istype(node2, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node2 = null - - if(reference == node3) - if(istype(node3, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node3 = null - - update_icon() - - ..() - -/obj/machinery/atmospherics/pipe/manifold/change_color(var/new_color) - ..() - //for updating connected atmos device pipes (i.e. vents, manifolds, etc) - if(node1) - node1.update_underlays() - if(node2) - node2.update_underlays() - if(node3) - node3.update_underlays() - -/obj/machinery/atmospherics/pipe/manifold/update_icon(var/safety = 0) - if(!check_icon_cache()) - return - - alpha = 255 - - if(!node1 && !node2 && !node3) - var/turf/T = get_turf(src) - new /obj/item/pipe(loc, make_from=src) - for (var/obj/machinery/meter/meter in T) - if (meter.target == src) - new /obj/item/pipe_meter(T) - qdel(meter) - qdel(src) - else - overlays.Cut() - overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "core" + icon_connect_type) - overlays += icon_manager.get_atmos_icon("manifold", , , "clamps" + icon_connect_type) - underlays.Cut() - - var/turf/T = get_turf(src) - var/list/directions = list(NORTH, SOUTH, EAST, WEST) - var/node1_direction = get_dir(src, node1) - var/node2_direction = get_dir(src, node2) - var/node3_direction = get_dir(src, node3) - - directions -= dir - - directions -= add_underlay(T,node1,node1_direction,icon_connect_type) - directions -= add_underlay(T,node2,node2_direction,icon_connect_type) - directions -= add_underlay(T,node3,node3_direction,icon_connect_type) - - for(var/D in directions) - add_underlay(T,,D,icon_connect_type) - - -/obj/machinery/atmospherics/pipe/manifold/update_underlays() - ..() - update_icon() - -/obj/machinery/atmospherics/pipe/manifold/atmos_init() - var/connect_directions = (NORTH|SOUTH|EAST|WEST)&(~dir) - - for(var/direction in cardinal) - if(direction&connect_directions) - for(var/obj/machinery/atmospherics/target in get_step(src,direction)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - connect_directions &= ~direction - break - if (node1) - break - - - for(var/direction in cardinal) - if(direction&connect_directions) - for(var/obj/machinery/atmospherics/target in get_step(src,direction)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node2 = target - connect_directions &= ~direction - break - if (node2) - break - - - for(var/direction in cardinal) - if(direction&connect_directions) - for(var/obj/machinery/atmospherics/target in get_step(src,direction)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node3 = target - connect_directions &= ~direction - break - if (node3) - break - - if(!node1 && !node2 && !node3) - qdel(src) - return - - var/turf/T = get_turf(src) - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - -/obj/machinery/atmospherics/pipe/manifold/visible - icon_state = "map" - level = 2 - -/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers - name="Scrubbers pipe manifold" - desc = "A manifold composed of scrubbers pipes" - icon_state = "map-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold/visible/supply - name="Air supply pipe manifold" - desc = "A manifold composed of supply pipes" - icon_state = "map-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold/visible/yellow - color = PIPE_COLOR_YELLOW - -/obj/machinery/atmospherics/pipe/manifold/visible/cyan - color = PIPE_COLOR_CYAN - -/obj/machinery/atmospherics/pipe/manifold/visible/green - color = PIPE_COLOR_GREEN - -/obj/machinery/atmospherics/pipe/manifold/visible/black - color = PIPE_COLOR_BLACK - -/obj/machinery/atmospherics/pipe/manifold/visible/red - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold/visible/blue - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold/visible/purple - color = PIPE_COLOR_PURPLE - -/obj/machinery/atmospherics/pipe/manifold/hidden - icon_state = "map" - level = 1 - alpha = 128 //set for the benefit of mapping - this is reset to opaque when the pipe is spawned in game - -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers - name="Scrubbers pipe manifold" - desc = "A manifold composed of scrubbers pipes" - icon_state = "map-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold/hidden/supply - name="Air supply pipe manifold" - desc = "A manifold composed of supply pipes" - icon_state = "map-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold/hidden/yellow - color = PIPE_COLOR_YELLOW - -/obj/machinery/atmospherics/pipe/manifold/hidden/cyan - color = PIPE_COLOR_CYAN - -/obj/machinery/atmospherics/pipe/manifold/hidden/green - color = PIPE_COLOR_GREEN - -/obj/machinery/atmospherics/pipe/manifold/hidden/black - color = PIPE_COLOR_BLACK - -/obj/machinery/atmospherics/pipe/manifold/hidden/red - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold/hidden/blue - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold/hidden/purple - color = PIPE_COLOR_PURPLE - - -// -// 4-Way Manifold Pipes - 4 way "cross" junction -// -/obj/machinery/atmospherics/pipe/manifold4w - icon = 'icons/atmos/manifold.dmi' - icon_state = "" - name = "4-way pipe manifold" - desc = "A manifold composed of regular pipes" - - volume = ATMOS_DEFAULT_VOLUME_PIPE * 2 - - dir = SOUTH - initialize_directions = NORTH|SOUTH|EAST|WEST - - var/obj/machinery/atmospherics/node3 - var/obj/machinery/atmospherics/node4 - - level = 1 - layer = 2.4 //under wires with their 2.44 - -/obj/machinery/atmospherics/pipe/manifold4w/New() - ..() - alpha = 255 - icon = null - -/obj/machinery/atmospherics/pipe/manifold4w/pipeline_expansion() - return list(node1, node2, node3, node4) - -/obj/machinery/atmospherics/pipe/manifold4w/Destroy() - if(node1) - node1.disconnect(src) - node1 = null - if(node2) - node2.disconnect(src) - node2 = null - if(node3) - node3.disconnect(src) - node3 = null - if(node4) - node4.disconnect(src) - node4 = null - - . = ..() - -/obj/machinery/atmospherics/pipe/manifold4w/disconnect(obj/machinery/atmospherics/reference) - if(reference == node1) - if(istype(node1, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node1 = null - - if(reference == node2) - if(istype(node2, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node2 = null - - if(reference == node3) - if(istype(node3, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node3 = null - - if(reference == node4) - if(istype(node4, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node4 = null - - update_icon() - - ..() - -/obj/machinery/atmospherics/pipe/manifold4w/change_color(var/new_color) - ..() - //for updating connected atmos device pipes (i.e. vents, manifolds, etc) - if(node1) - node1.update_underlays() - if(node2) - node2.update_underlays() - if(node3) - node3.update_underlays() - if(node4) - node4.update_underlays() - -/obj/machinery/atmospherics/pipe/manifold4w/update_icon(var/safety = 0) - if(!check_icon_cache()) - return - - alpha = 255 - - if(!node1 && !node2 && !node3 && !node4) - var/turf/T = get_turf(src) - new /obj/item/pipe(loc, make_from=src) - for (var/obj/machinery/meter/meter in T) - if (meter.target == src) - new /obj/item/pipe_meter(T) - qdel(meter) - qdel(src) - else - overlays.Cut() - overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "4way" + icon_connect_type) - overlays += icon_manager.get_atmos_icon("manifold", , , "clamps_4way" + icon_connect_type) - underlays.Cut() - - /* - var/list/directions = list(NORTH, SOUTH, EAST, WEST) - - - directions -= add_underlay(node1) - directions -= add_underlay(node2) - directions -= add_underlay(node3) - directions -= add_underlay(node4) - - for(var/D in directions) - add_underlay(,D) - */ - - var/turf/T = get_turf(src) - var/list/directions = list(NORTH, SOUTH, EAST, WEST) - var/node1_direction = get_dir(src, node1) - var/node2_direction = get_dir(src, node2) - var/node3_direction = get_dir(src, node3) - var/node4_direction = get_dir(src, node4) - - directions -= dir - - directions -= add_underlay(T,node1,node1_direction,icon_connect_type) - directions -= add_underlay(T,node2,node2_direction,icon_connect_type) - directions -= add_underlay(T,node3,node3_direction,icon_connect_type) - directions -= add_underlay(T,node4,node4_direction,icon_connect_type) - - for(var/D in directions) - add_underlay(T,,D,icon_connect_type) - - -/obj/machinery/atmospherics/pipe/manifold4w/update_underlays() - ..() - update_icon() - -/obj/machinery/atmospherics/pipe/manifold4w/atmos_init() - - for(var/obj/machinery/atmospherics/target in get_step(src,1)) - if(target.initialize_directions & 2) - if (check_connect_types(target,src)) - node1 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,2)) - if(target.initialize_directions & 1) - if (check_connect_types(target,src)) - node2 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,4)) - if(target.initialize_directions & 8) - if (check_connect_types(target,src)) - node3 = target - break - - for(var/obj/machinery/atmospherics/target in get_step(src,8)) - if(target.initialize_directions & 4) - if (check_connect_types(target,src)) - node4 = target - break - - if(!node1 && !node2 && !node3 && !node4) - qdel(src) - return - - var/turf/T = get_turf(src) - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - -/obj/machinery/atmospherics/pipe/manifold4w/visible - icon_state = "map_4way" - level = 2 - -/obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers - name="4-way scrubbers pipe manifold" - desc = "A manifold composed of scrubbers pipes" - icon_state = "map_4way-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold4w/visible/supply - name="4-way air supply pipe manifold" - desc = "A manifold composed of supply pipes" - icon_state = "map_4way-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow - color = PIPE_COLOR_YELLOW - -/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan - color = PIPE_COLOR_CYAN - -/obj/machinery/atmospherics/pipe/manifold4w/visible/green - color = PIPE_COLOR_GREEN - -/obj/machinery/atmospherics/pipe/manifold4w/visible/black - color = PIPE_COLOR_BLACK - -/obj/machinery/atmospherics/pipe/manifold4w/visible/red - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold4w/visible/blue - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold4w/visible/purple - color = PIPE_COLOR_PURPLE - -/obj/machinery/atmospherics/pipe/manifold4w/hidden - icon_state = "map_4way" - level = 1 - alpha = 128 //set for the benefit of mapping - this is reset to opaque when the pipe is spawned in game - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers - name="4-way scrubbers pipe manifold" - desc = "A manifold composed of scrubbers pipes" - icon_state = "map_4way-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply - name="4-way air supply pipe manifold" - desc = "A manifold composed of supply pipes" - icon_state = "map_4way-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow - color = PIPE_COLOR_YELLOW - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/cyan - color = PIPE_COLOR_CYAN - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/green - color = PIPE_COLOR_GREEN - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/black - color = PIPE_COLOR_BLACK - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/red - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/blue - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/manifold4w/hidden/purple - color = PIPE_COLOR_PURPLE - -// -// Pipe Cap - They go on the end -// -/obj/machinery/atmospherics/pipe/cap - name = "pipe endcap" - desc = "An endcap for pipes" - icon = 'icons/atmos/pipes.dmi' - icon_state = "" - level = 2 - layer = 2.4 //under wires with their 2.44 - - volume = 35 - - dir = SOUTH - initialize_directions = SOUTH - - var/obj/machinery/atmospherics/node - -/obj/machinery/atmospherics/pipe/cap/init_dir() - initialize_directions = dir - -/obj/machinery/atmospherics/pipe/cap/pipeline_expansion() - return list(node) - -/obj/machinery/atmospherics/pipe/cap/Destroy() - if(node) - node.disconnect(src) - node = null - - . = ..() - -/obj/machinery/atmospherics/pipe/cap/disconnect(obj/machinery/atmospherics/reference) - if(reference == node) - if(istype(node, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node = null - - update_icon() - - ..() - -/obj/machinery/atmospherics/pipe/cap/change_color(var/new_color) - ..() - //for updating connected atmos device pipes (i.e. vents, manifolds, etc) - if(node) - node.update_underlays() - -/obj/machinery/atmospherics/pipe/cap/update_icon(var/safety = 0) - if(!check_icon_cache()) - return - - alpha = 255 - - overlays.Cut() - overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "cap") - -/obj/machinery/atmospherics/pipe/cap/atmos_init() - for(var/obj/machinery/atmospherics/target in get_step(src, dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node = target - break - - var/turf/T = src.loc // hide if turf is not intact - if(level == 1 && !T.is_plating()) hide(1) - update_icon() - -/obj/machinery/atmospherics/pipe/cap/can_unwrench() - return 1 - -/obj/machinery/atmospherics/pipe/cap/visible - level = 2 - icon_state = "cap" - -/obj/machinery/atmospherics/pipe/cap/visible/scrubbers - name = "scrubbers pipe endcap" - desc = "An endcap for scrubbers pipes" - icon_state = "cap-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/cap/visible/supply - name = "supply pipe endcap" - desc = "An endcap for supply pipes" - icon_state = "cap-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -/obj/machinery/atmospherics/pipe/cap/hidden - level = 1 - icon_state = "cap" - alpha = 128 - -/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers - name = "scrubbers pipe endcap" - desc = "An endcap for scrubbers pipes" - icon_state = "cap-f-scrubbers" - connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 - icon_connect_type = "-scrubbers" - color = PIPE_COLOR_RED - -/obj/machinery/atmospherics/pipe/cap/hidden/supply - name = "supply pipe endcap" - desc = "An endcap for supply pipes" - icon_state = "cap-f-supply" - connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 - icon_connect_type = "-supply" - color = PIPE_COLOR_BLUE - -// -// Tanks - These are implemented as pipes with large volume -// -/obj/machinery/atmospherics/pipe/tank - icon = 'icons/atmos/tank.dmi' - icon_state = "air_map" - - name = "Pressure Tank" - desc = "A large vessel containing pressurized gas." - - volume = 10000 //in liters, 1 meters by 1 meters by 2 meters ~tweaked it a little to simulate a pressure tank without needing to recode them yet - var/start_pressure = 25*ONE_ATMOSPHERE - - level = 1 - dir = SOUTH - initialize_directions = SOUTH - density = 1 - -/obj/machinery/atmospherics/pipe/tank/New() - icon_state = "air" - ..() - -/obj/machinery/atmospherics/pipe/tank/init_dir() - initialize_directions = dir - -/obj/machinery/atmospherics/pipe/tank/Destroy() - if(node1) - node1.disconnect(src) - node1 = null - - . = ..() - -/obj/machinery/atmospherics/pipe/tank/pipeline_expansion() - return list(node1) - -/obj/machinery/atmospherics/pipe/tank/update_underlays() - if(..()) - underlays.Cut() - var/turf/T = get_turf(src) - if(!istype(T)) - return - add_underlay(T, node1, dir) - -/obj/machinery/atmospherics/pipe/tank/hide() - update_underlays() - -/obj/machinery/atmospherics/pipe/tank/atmos_init() - var/connect_direction = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - - update_underlays() - -/obj/machinery/atmospherics/pipe/tank/disconnect(obj/machinery/atmospherics/reference) - if(reference == node1) - if(istype(node1, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node1 = null - - update_underlays() - - return null - -/obj/machinery/atmospherics/pipe/tank/attackby(var/obj/item/W as obj, var/mob/user as mob) - if(istype(W, /obj/item/device/pipe_painter)) - return - - if(istype(W, /obj/item/device/analyzer) && in_range(user, src)) - var/obj/item/device/analyzer/A = W - A.analyze_gases(src, user) - -/obj/machinery/atmospherics/pipe/tank/air - name = "Pressure Tank (Air)" - icon_state = "air_map" - -/obj/machinery/atmospherics/pipe/tank/air/New() - air_temporary = new - air_temporary.volume = volume - air_temporary.temperature = T20C - - air_temporary.adjust_multi("oxygen", (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \ - "nitrogen",(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - - - ..() - icon_state = "air" - -/obj/machinery/atmospherics/pipe/tank/oxygen - name = "Pressure Tank (Oxygen)" - icon_state = "o2_map" - -/obj/machinery/atmospherics/pipe/tank/oxygen/New() - air_temporary = new - air_temporary.volume = volume - air_temporary.temperature = T20C - - air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - - ..() - icon_state = "o2" - -/obj/machinery/atmospherics/pipe/tank/nitrogen - name = "Pressure Tank (Nitrogen)" - icon_state = "n2_map" - -/obj/machinery/atmospherics/pipe/tank/nitrogen/New() - air_temporary = new - air_temporary.volume = volume - air_temporary.temperature = T20C - - air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - - ..() - icon_state = "n2" - -/obj/machinery/atmospherics/pipe/tank/carbon_dioxide - name = "Pressure Tank (Carbon Dioxide)" - icon_state = "co2_map" - -/obj/machinery/atmospherics/pipe/tank/carbon_dioxide/New() - air_temporary = new - air_temporary.volume = volume - air_temporary.temperature = T20C - - air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - - ..() - icon_state = "co2" - -/obj/machinery/atmospherics/pipe/tank/phoron - name = "Pressure Tank (Phoron)" - icon_state = "phoron_map" - -/obj/machinery/atmospherics/pipe/tank/phoron/New() - air_temporary = new - air_temporary.volume = volume - air_temporary.temperature = T20C - - air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - - ..() - icon_state = "phoron" - -/obj/machinery/atmospherics/pipe/tank/nitrous_oxide - name = "Pressure Tank (Nitrous Oxide)" - icon_state = "n2o_map" - -/obj/machinery/atmospherics/pipe/tank/nitrous_oxide/New() - air_temporary = new - air_temporary.volume = volume - air_temporary.temperature = T0C - - air_temporary.adjust_gas("sleeping_agent", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) - - ..() - icon_state = "n2o" - -// -// Vent Pipe - Unpowered vent -// -/obj/machinery/atmospherics/pipe/vent - icon = 'icons/obj/atmospherics/pipe_vent.dmi' - icon_state = "intact" - - name = "Vent" - desc = "A large air vent" - - level = 1 - - volume = 250 - - dir = SOUTH - initialize_directions = SOUTH - - var/build_killswitch = 1 - -/obj/machinery/atmospherics/pipe/vent/init_dir() - initialize_directions = dir - -/obj/machinery/atmospherics/pipe/vent/high_volume - name = "Larger vent" - volume = 1000 - -/obj/machinery/atmospherics/pipe/vent/process() - if(!parent) - if(build_killswitch <= 0) - . = PROCESS_KILL - else - build_killswitch-- - ..() - return - else - parent.mingle_with_turf(loc, volume) - -/obj/machinery/atmospherics/pipe/vent/Destroy() - if(node1) - node1.disconnect(src) - node1 = null - - . = ..() - -/obj/machinery/atmospherics/pipe/vent/pipeline_expansion() - return list(node1) - -/obj/machinery/atmospherics/pipe/vent/update_icon() - if(node1) - icon_state = "intact" - - set_dir(get_dir(src, node1)) - - else - icon_state = "exposed" - -/obj/machinery/atmospherics/pipe/vent/atmos_init() - var/connect_direction = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break - - update_icon() - -/obj/machinery/atmospherics/pipe/vent/disconnect(obj/machinery/atmospherics/reference) - if(reference == node1) - if(istype(node1, /obj/machinery/atmospherics/pipe)) - qdel(parent) - node1 = null - - update_icon() - - return null - -/obj/machinery/atmospherics/pipe/vent/hide(var/i) //to make the little pipe section invisible, the icon changes. - if(node1) - icon_state = "[i == 1 && istype(loc, /turf/simulated) ? "h" : "" ]intact" - set_dir(get_dir(src, node1)) - else - icon_state = "exposed" - -// -// Universal Pipe Adapter - Designed for connecting scrubbers, normal, and supply pipes together. -// -/obj/machinery/atmospherics/pipe/simple/visible/universal - name="Universal pipe adapter" - desc = "An adapter for regular, supply and scrubbers pipes" - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER - icon_state = "map_universal" - -/obj/machinery/atmospherics/pipe/simple/visible/universal/update_icon(var/safety = 0) - if(!check_icon_cache()) - return - - alpha = 255 - - overlays.Cut() - overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "universal") - underlays.Cut() - - if (node1) - universal_underlays(node1) - if(node2) - universal_underlays(node2) - else - var/node1_dir = get_dir(node1,src) - universal_underlays(,node1_dir) - else if (node2) - universal_underlays(node2) - else - universal_underlays(,dir) - universal_underlays(dir, -180) - -/obj/machinery/atmospherics/pipe/simple/visible/universal/update_underlays() - ..() - update_icon() - - - -/obj/machinery/atmospherics/pipe/simple/hidden/universal - name="Universal pipe adapter" - desc = "An adapter for regular, supply and scrubbers pipes" - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER - icon_state = "map_universal" - -/obj/machinery/atmospherics/pipe/simple/hidden/universal/update_icon(var/safety = 0) - if(!check_icon_cache()) - return - - alpha = 255 - - overlays.Cut() - overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "universal") - underlays.Cut() - - if (node1) - universal_underlays(node1) - if(node2) - universal_underlays(node2) - else - var/node2_dir = turn(get_dir(src,node1),-180) - universal_underlays(,node2_dir) - else if (node2) - universal_underlays(node2) - var/node1_dir = turn(get_dir(src,node2),-180) - universal_underlays(,node1_dir) - else - universal_underlays(,dir) - universal_underlays(,turn(dir, -180)) - -/obj/machinery/atmospherics/pipe/simple/hidden/universal/update_underlays() - ..() - update_icon() - -/obj/machinery/atmospherics/proc/universal_underlays(var/obj/machinery/atmospherics/node, var/direction) - var/turf/T = loc - if(node) - var/node_dir = get_dir(src,node) - if(node.icon_connect_type == "-supply") - add_underlay_adapter(T, , node_dir, "") - add_underlay_adapter(T, node, node_dir, "-supply") - add_underlay_adapter(T, , node_dir, "-scrubbers") - else if (node.icon_connect_type == "-scrubbers") - add_underlay_adapter(T, , node_dir, "") - add_underlay_adapter(T, , node_dir, "-supply") - add_underlay_adapter(T, node, node_dir, "-scrubbers") - else - add_underlay_adapter(T, node, node_dir, "") - add_underlay_adapter(T, , node_dir, "-supply") - add_underlay_adapter(T, , node_dir, "-scrubbers") - else - add_underlay_adapter(T, , direction, "-supply") - add_underlay_adapter(T, , direction, "-scrubbers") - add_underlay_adapter(T, , direction, "") - -/obj/machinery/atmospherics/proc/add_underlay_adapter(var/turf/T, var/obj/machinery/atmospherics/node, var/direction, var/icon_connect_type) //modified from add_underlay, does not make exposed underlays - if(node) - if(!T.is_plating() && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe)) - underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type) - else - underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) - else - underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "retracted" + icon_connect_type) diff --git a/code/ATMOSPHERICS/pipes/cap.dm b/code/ATMOSPHERICS/pipes/cap.dm new file mode 100644 index 00000000000..a03ce16af55 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/cap.dm @@ -0,0 +1,119 @@ +// +// Pipe Cap - They go on the end +// +/obj/machinery/atmospherics/pipe/cap + name = "pipe endcap" + desc = "An endcap for pipes" + icon = 'icons/atmos/pipes.dmi' + icon_state = "" + level = 2 + + volume = 35 + + dir = SOUTH + initialize_directions = SOUTH + + construction_type = /obj/item/pipe/directional + pipe_state = "cap" + + var/obj/machinery/atmospherics/node + +/obj/machinery/atmospherics/pipe/cap/init_dir() + initialize_directions = dir + +/obj/machinery/atmospherics/pipe/cap/pipeline_expansion() + return list(node) + +/obj/machinery/atmospherics/pipe/cap/Destroy() + if(node) + node.disconnect(src) + node = null + + . = ..() + +/obj/machinery/atmospherics/pipe/cap/disconnect(obj/machinery/atmospherics/reference) + if(reference == node) + if(istype(node, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node = null + + update_icon() + + ..() + +/obj/machinery/atmospherics/pipe/cap/change_color(var/new_color) + ..() + //for updating connected atmos device pipes (i.e. vents, manifolds, etc) + if(node) + node.update_underlays() + +/obj/machinery/atmospherics/pipe/cap/update_icon(var/safety = 0) + if(!check_icon_cache()) + return + + alpha = 255 + + overlays.Cut() + overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "cap") + +/obj/machinery/atmospherics/pipe/cap/atmos_init() + for(var/obj/machinery/atmospherics/target in get_step(src, dir)) + if (can_be_node(target, 1)) + node = target + break + + var/turf/T = src.loc // hide if turf is not intact + if(level == 1 && !T.is_plating()) hide(1) + update_icon() + +/obj/machinery/atmospherics/pipe/cap/can_unwrench() + return 1 + +/obj/machinery/atmospherics/pipe/cap/visible + level = 2 + icon_state = "cap" + +/obj/machinery/atmospherics/pipe/cap/visible/scrubbers + name = "scrubbers pipe endcap" + desc = "An endcap for scrubbers pipes" + icon_state = "cap-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/cap/visible/supply + name = "supply pipe endcap" + desc = "An endcap for supply pipes" + icon_state = "cap-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/cap/hidden + level = 1 + icon_state = "cap" + alpha = 128 + +/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers + name = "scrubbers pipe endcap" + desc = "An endcap for scrubbers pipes" + icon_state = "cap-f-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/cap/hidden/supply + name = "supply pipe endcap" + desc = "An endcap for supply pipes" + icon_state = "cap-f-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE diff --git a/code/ATMOSPHERICS/he_pipes.dm b/code/ATMOSPHERICS/pipes/he_pipes.dm similarity index 74% rename from code/ATMOSPHERICS/he_pipes.dm rename to code/ATMOSPHERICS/pipes/he_pipes.dm index bff838cfddb..2d77e3a4ca9 100644 --- a/code/ATMOSPHERICS/he_pipes.dm +++ b/code/ATMOSPHERICS/pipes/he_pipes.dm @@ -1,153 +1,183 @@ - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging - icon = 'icons/atmos/heat.dmi' - icon_state = "intact" - pipe_icon = "hepipe" - color = "#404040" - level = 2 - connect_types = CONNECT_TYPE_HE - layer = 2.41 - var/initialize_directions_he - var/surface = 2 //surface area in m^2 - var/icon_temperature = T20C //stop small changes in temperature causing an icon refresh - - minimum_temperature_difference = 20 - thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT - - buckle_lying = 1 - - // BubbleWrap -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/New() - ..() -// BubbleWrap END - color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default. - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/init_dir() - ..() - initialize_directions_he = initialize_directions // The auto-detection from /pipe is good enough for a simple HE pipe - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/atmos_init() - normalize_dir() - var/node1_dir - var/node2_dir - - for(var/direction in cardinal) - if(direction&initialize_directions_he) - if (!node1_dir) - node1_dir = direction - else if (!node2_dir) - node2_dir = direction - - for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,node1_dir)) - if(target.initialize_directions_he & get_dir(target,src)) - node1 = target - break - for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,node2_dir)) - if(target.initialize_directions_he & get_dir(target,src)) - node2 = target - break - if(!node1 && !node2) - qdel(src) - return - - update_icon() - return - - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/process() - if(!parent) - ..() - else - var/datum/gas_mixture/pipe_air = return_air() - if(istype(loc, /turf/simulated/)) - var/environment_temperature = 0 - if(loc:blocks_air) - environment_temperature = loc:temperature - else - var/datum/gas_mixture/environment = loc.return_air() - environment_temperature = environment.temperature - if(abs(environment_temperature-pipe_air.temperature) > minimum_temperature_difference) - parent.temperature_interact(loc, volume, thermal_conductivity) - else if(istype(loc, /turf/space/)) - parent.radiate_heat_to_space(surface, 1) - - if(has_buckled_mobs()) - for(var/M in buckled_mobs) - var/mob/living/L = M - - var/hc = pipe_air.heat_capacity() - var/avg_temp = (pipe_air.temperature * hc + L.bodytemperature * 3500) / (hc + 3500) - pipe_air.temperature = avg_temp - L.bodytemperature = avg_temp - - var/heat_limit = 1000 - - var/mob/living/carbon/human/H = L - if(istype(H) && H.species) - heat_limit = H.species.heat_level_3 - - if(pipe_air.temperature > heat_limit + 1) - L.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, BP_TORSO, used_weapon = "Excessive Heat") - - //fancy radiation glowing - if(pipe_air.temperature && (icon_temperature > 500 || pipe_air.temperature > 500)) //start glowing at 500K - if(abs(pipe_air.temperature - icon_temperature) > 10) - icon_temperature = pipe_air.temperature - - var/h_r = heat2color_r(icon_temperature) - var/h_g = heat2color_g(icon_temperature) - var/h_b = heat2color_b(icon_temperature) - - if(icon_temperature < 2000) //scale up overlay until 2000K - var/scale = (icon_temperature - 500) / 1500 - h_r = 64 + (h_r - 64)*scale - h_g = 64 + (h_g - 64)*scale - h_b = 64 + (h_b - 64)*scale - - animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) - - - - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction - icon = 'icons/atmos/junction.dmi' - icon_state = "intact" - pipe_icon = "hejunction" - level = 2 - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_HE - minimum_temperature_difference = 300 - thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/init_dir() - ..() - switch ( dir ) - if ( SOUTH ) - initialize_directions = NORTH - initialize_directions_he = SOUTH - if ( NORTH ) - initialize_directions = SOUTH - initialize_directions_he = NORTH - if ( EAST ) - initialize_directions = WEST - initialize_directions_he = EAST - if ( WEST ) - initialize_directions = EAST - initialize_directions_he = WEST - - -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/atmos_init() - for(var/obj/machinery/atmospherics/target in get_step(src,initialize_directions)) - if(target.initialize_directions & get_dir(target,src)) - node1 = target - break - for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,initialize_directions_he)) - if(target.initialize_directions_he & get_dir(target,src)) - node2 = target - break - - if(!node1&&!node2) - qdel(src) - return - - update_icon() - return +// +// Heat Exchanging Pipes - Behave like simple pipes +// +/obj/machinery/atmospherics/pipe/simple/heat_exchanging + icon = 'icons/atmos/heat.dmi' + icon_state = "intact" + pipe_icon = "hepipe" + color = "#404040" + level = 2 + connect_types = CONNECT_TYPE_HE + pipe_flags = PIPING_DEFAULT_LAYER_ONLY + construction_type = /obj/item/pipe/binary/bendable + pipe_state = "he" + + layer = PIPES_HE_LAYER + var/initialize_directions_he + var/surface = 2 //surface area in m^2 + var/icon_temperature = T20C //stop small changes in temperature causing an icon refresh + + minimum_temperature_difference = 20 + thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT + + buckle_lying = 1 + + // BubbleWrap +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/New() + ..() +// BubbleWrap END + color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default. + +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/init_dir() + ..() + initialize_directions_he = initialize_directions // The auto-detection from /pipe is good enough for a simple HE pipe + initialize_directions = 0 + +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/get_init_dirs() + return ..() | initialize_directions_he + +// Use initialize_directions_he to connect to neighbors instead. +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/can_be_node(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target) + if(!istype(target)) + return FALSE + return (target.initialize_directions_he & get_dir(target,src)) && check_connectable(target) && target.check_connectable(src) + +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/atmos_init() + normalize_dir() + var/node1_dir + var/node2_dir + + for(var/direction in cardinal) + if(direction&initialize_directions_he) + if (!node1_dir) + node1_dir = direction + else if (!node2_dir) + node2_dir = direction + + for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,node1_dir)) + if(can_be_node(target, 1)) + node1 = target + break + for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,node2_dir)) + if(can_be_node(target, 2)) + node2 = target + break + if(!node1 && !node2) + qdel(src) + return + + update_icon() + return + + +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/process() + if(!parent) + ..() + else + var/datum/gas_mixture/pipe_air = return_air() + if(istype(loc, /turf/simulated/)) + var/environment_temperature = 0 + if(loc:blocks_air) + environment_temperature = loc:temperature + else + var/datum/gas_mixture/environment = loc.return_air() + environment_temperature = environment.temperature + if(abs(environment_temperature-pipe_air.temperature) > minimum_temperature_difference) + parent.temperature_interact(loc, volume, thermal_conductivity) + else if(istype(loc, /turf/space/)) + parent.radiate_heat_to_space(surface, 1) + + if(has_buckled_mobs()) + for(var/M in buckled_mobs) + var/mob/living/L = M + + var/hc = pipe_air.heat_capacity() + var/avg_temp = (pipe_air.temperature * hc + L.bodytemperature * 3500) / (hc + 3500) + pipe_air.temperature = avg_temp + L.bodytemperature = avg_temp + + var/heat_limit = 1000 + + var/mob/living/carbon/human/H = L + if(istype(H) && H.species) + heat_limit = H.species.heat_level_3 + + if(pipe_air.temperature > heat_limit + 1) + L.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, BP_TORSO, used_weapon = "Excessive Heat") + + //fancy radiation glowing + if(pipe_air.temperature && (icon_temperature > 500 || pipe_air.temperature > 500)) //start glowing at 500K + if(abs(pipe_air.temperature - icon_temperature) > 10) + icon_temperature = pipe_air.temperature + + var/h_r = heat2color_r(icon_temperature) + var/h_g = heat2color_g(icon_temperature) + var/h_b = heat2color_b(icon_temperature) + + if(icon_temperature < 2000) //scale up overlay until 2000K + var/scale = (icon_temperature - 500) / 1500 + h_r = 64 + (h_r - 64)*scale + h_g = 64 + (h_g - 64)*scale + h_b = 64 + (h_b - 64)*scale + + animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) + +// +// Heat Exchange Junction - Interfaces HE pipes to normal pipes +// +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction + icon = 'icons/atmos/junction.dmi' + icon_state = "intact" + pipe_icon = "hejunction" + level = 2 + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_HE + construction_type = /obj/item/pipe/directional + pipe_state = "junction" + minimum_temperature_difference = 300 + thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT + +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/init_dir() + ..() + switch ( dir ) + if ( SOUTH ) + initialize_directions = NORTH + initialize_directions_he = SOUTH + if ( NORTH ) + initialize_directions = SOUTH + initialize_directions_he = NORTH + if ( EAST ) + initialize_directions = WEST + initialize_directions_he = EAST + if ( WEST ) + initialize_directions = EAST + initialize_directions_he = WEST + + // Allow ourselves to make connections to either HE or normal pipes depending on which node we are doing. +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/can_be_node(obj/machinery/atmospherics/target, node_num) + var/target_initialize_directions + switch(node_num) + if(1) + target_initialize_directions = target.initialize_directions // Node1 is towards normal pipes + if(2) + var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/H = target + if(!istype(H)) + return FALSE + target_initialize_directions = H.initialize_directions_he // Node2 is towards HE pies. + return (target_initialize_directions & get_dir(target,src)) && check_connectable(target) && target.check_connectable(src) + +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/atmos_init() + for(var/obj/machinery/atmospherics/target in get_step(src,initialize_directions)) + if(target.initialize_directions & get_dir(target,src)) + node1 = target + break + for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,initialize_directions_he)) + if(target.initialize_directions_he & get_dir(target,src)) + node2 = target + break + + if(!node1&&!node2) + qdel(src) + return + + update_icon() + return diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm new file mode 100644 index 00000000000..524d420d392 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/manifold.dm @@ -0,0 +1,247 @@ +// +// Manifold Pipes - Three way "T" joints +// +/obj/machinery/atmospherics/pipe/manifold + icon = 'icons/atmos/manifold.dmi' + icon_state = "" + name = "pipe manifold" + desc = "A manifold composed of regular pipes" + + volume = ATMOS_DEFAULT_VOLUME_PIPE * 1.5 + + dir = SOUTH + initialize_directions = EAST|NORTH|WEST + + construction_type = /obj/item/pipe/trinary + pipe_state = "manifold" + + var/obj/machinery/atmospherics/node3 + + level = 1 + +/obj/machinery/atmospherics/pipe/manifold/New() + ..() + alpha = 255 + icon = null + +/obj/machinery/atmospherics/pipe/manifold/init_dir() + switch(dir) + if(NORTH) + initialize_directions = EAST|SOUTH|WEST + if(SOUTH) + initialize_directions = WEST|NORTH|EAST + if(EAST) + initialize_directions = SOUTH|WEST|NORTH + if(WEST) + initialize_directions = NORTH|EAST|SOUTH + +/obj/machinery/atmospherics/pipe/manifold/pipeline_expansion() + return list(node1, node2, node3) + +/obj/machinery/atmospherics/pipe/manifold/Destroy() + if(node1) + node1.disconnect(src) + node1 = null + if(node2) + node2.disconnect(src) + node2 = null + if(node3) + node3.disconnect(src) + node3 = null + + . = ..() + +/obj/machinery/atmospherics/pipe/manifold/disconnect(obj/machinery/atmospherics/reference) + if(reference == node1) + if(istype(node1, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node1 = null + + if(reference == node2) + if(istype(node2, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node2 = null + + if(reference == node3) + if(istype(node3, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node3 = null + + update_icon() + + ..() + +/obj/machinery/atmospherics/pipe/manifold/change_color(var/new_color) + ..() + //for updating connected atmos device pipes (i.e. vents, manifolds, etc) + if(node1) + node1.update_underlays() + if(node2) + node2.update_underlays() + if(node3) + node3.update_underlays() + +/obj/machinery/atmospherics/pipe/manifold/update_icon(var/safety = 0) + if(!check_icon_cache()) + return + + alpha = 255 + + overlays.Cut() + overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "core" + icon_connect_type) + overlays += icon_manager.get_atmos_icon("manifold", , , "clamps" + icon_connect_type) + underlays.Cut() + + var/turf/T = get_turf(src) + var/list/directions = list(NORTH, SOUTH, EAST, WEST) + var/node1_direction = get_dir(src, node1) + var/node2_direction = get_dir(src, node2) + var/node3_direction = get_dir(src, node3) + + directions -= dir + + directions -= add_underlay(T,node1,node1_direction,icon_connect_type) + directions -= add_underlay(T,node2,node2_direction,icon_connect_type) + directions -= add_underlay(T,node3,node3_direction,icon_connect_type) + + for(var/D in directions) + add_underlay(T,,D,icon_connect_type) + + +/obj/machinery/atmospherics/pipe/manifold/update_underlays() + ..() + update_icon() + +/obj/machinery/atmospherics/pipe/manifold/atmos_init() + var/connect_directions = (NORTH|SOUTH|EAST|WEST)&(~dir) + + for(var/direction in cardinal) + if(direction&connect_directions) + for(var/obj/machinery/atmospherics/target in get_step(src,direction)) + if (can_be_node(target, 1)) + node1 = target + connect_directions &= ~direction + break + if (node1) + break + + + for(var/direction in cardinal) + if(direction&connect_directions) + for(var/obj/machinery/atmospherics/target in get_step(src,direction)) + if (can_be_node(target, 2)) + node2 = target + connect_directions &= ~direction + break + if (node2) + break + + + for(var/direction in cardinal) + if(direction&connect_directions) + for(var/obj/machinery/atmospherics/target in get_step(src,direction)) + if (can_be_node(target, 3)) + node3 = target + connect_directions &= ~direction + break + if (node3) + break + + if(!node1 && !node2 && !node3) + qdel(src) + return + + var/turf/T = get_turf(src) + if(level == 1 && !T.is_plating()) hide(1) + update_icon() + +/obj/machinery/atmospherics/pipe/manifold/visible + icon_state = "map" + level = 2 + +/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers + name="Scrubbers pipe manifold" + desc = "A manifold composed of scrubbers pipes" + icon_state = "map-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold/visible/supply + name="Air supply pipe manifold" + desc = "A manifold composed of supply pipes" + icon_state = "map-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold/visible/yellow + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold/visible/cyan + color = PIPE_COLOR_CYAN + +/obj/machinery/atmospherics/pipe/manifold/visible/green + color = PIPE_COLOR_GREEN + +/obj/machinery/atmospherics/pipe/manifold/visible/black + color = PIPE_COLOR_BLACK + +/obj/machinery/atmospherics/pipe/manifold/visible/red + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold/visible/blue + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold/visible/purple + color = PIPE_COLOR_PURPLE + +/obj/machinery/atmospherics/pipe/manifold/hidden + icon_state = "map" + level = 1 + alpha = 128 //set for the benefit of mapping - this is reset to opaque when the pipe is spawned in game + +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers + name="Scrubbers pipe manifold" + desc = "A manifold composed of scrubbers pipes" + icon_state = "map-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold/hidden/supply + name="Air supply pipe manifold" + desc = "A manifold composed of supply pipes" + icon_state = "map-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold/hidden/yellow + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold/hidden/cyan + color = PIPE_COLOR_CYAN + +/obj/machinery/atmospherics/pipe/manifold/hidden/green + color = PIPE_COLOR_GREEN + +/obj/machinery/atmospherics/pipe/manifold/hidden/black + color = PIPE_COLOR_BLACK + +/obj/machinery/atmospherics/pipe/manifold/hidden/red + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold/hidden/blue + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold/hidden/purple + color = PIPE_COLOR_PURPLE diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm new file mode 100644 index 00000000000..0cc022423b1 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/manifold4w.dm @@ -0,0 +1,249 @@ +// +// 4-Way Manifold Pipes - 4 way "cross" junction +// +/obj/machinery/atmospherics/pipe/manifold4w + icon = 'icons/atmos/manifold.dmi' + icon_state = "" + name = "4-way pipe manifold" + desc = "A manifold composed of regular pipes" + + volume = ATMOS_DEFAULT_VOLUME_PIPE * 2 + + dir = SOUTH + initialize_directions = NORTH|SOUTH|EAST|WEST + + construction_type = /obj/item/pipe/quaternary + pipe_state = "manifold4w" + + var/obj/machinery/atmospherics/node3 + var/obj/machinery/atmospherics/node4 + + level = 1 + +/obj/machinery/atmospherics/pipe/manifold4w/New() + ..() + alpha = 255 + icon = null + +/obj/machinery/atmospherics/pipe/manifold4w/pipeline_expansion() + return list(node1, node2, node3, node4) + +/obj/machinery/atmospherics/pipe/manifold4w/Destroy() + if(node1) + node1.disconnect(src) + node1 = null + if(node2) + node2.disconnect(src) + node2 = null + if(node3) + node3.disconnect(src) + node3 = null + if(node4) + node4.disconnect(src) + node4 = null + + . = ..() + +/obj/machinery/atmospherics/pipe/manifold4w/disconnect(obj/machinery/atmospherics/reference) + if(reference == node1) + if(istype(node1, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node1 = null + + if(reference == node2) + if(istype(node2, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node2 = null + + if(reference == node3) + if(istype(node3, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node3 = null + + if(reference == node4) + if(istype(node4, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node4 = null + + update_icon() + + ..() + +/obj/machinery/atmospherics/pipe/manifold4w/change_color(var/new_color) + ..() + //for updating connected atmos device pipes (i.e. vents, manifolds, etc) + if(node1) + node1.update_underlays() + if(node2) + node2.update_underlays() + if(node3) + node3.update_underlays() + if(node4) + node4.update_underlays() + +/obj/machinery/atmospherics/pipe/manifold4w/update_icon(var/safety = 0) + if(!check_icon_cache()) + return + + alpha = 255 + + overlays.Cut() + overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "4way" + icon_connect_type) + overlays += icon_manager.get_atmos_icon("manifold", , , "clamps_4way" + icon_connect_type) + underlays.Cut() + + /* + var/list/directions = list(NORTH, SOUTH, EAST, WEST) + + + directions -= add_underlay(node1) + directions -= add_underlay(node2) + directions -= add_underlay(node3) + directions -= add_underlay(node4) + + for(var/D in directions) + add_underlay(,D) + */ + + var/turf/T = get_turf(src) + var/list/directions = list(NORTH, SOUTH, EAST, WEST) + var/node1_direction = get_dir(src, node1) + var/node2_direction = get_dir(src, node2) + var/node3_direction = get_dir(src, node3) + var/node4_direction = get_dir(src, node4) + + directions -= dir + + directions -= add_underlay(T,node1,node1_direction,icon_connect_type) + directions -= add_underlay(T,node2,node2_direction,icon_connect_type) + directions -= add_underlay(T,node3,node3_direction,icon_connect_type) + directions -= add_underlay(T,node4,node4_direction,icon_connect_type) + + for(var/D in directions) + add_underlay(T,,D,icon_connect_type) + + +/obj/machinery/atmospherics/pipe/manifold4w/update_underlays() + ..() + update_icon() + +/obj/machinery/atmospherics/pipe/manifold4w/atmos_init() + + for(var/obj/machinery/atmospherics/target in get_step(src, NORTH)) + if (can_be_node(target, 1)) + node1 = target + break + + for(var/obj/machinery/atmospherics/target in get_step(src, SOUTH)) + if (can_be_node(target, 2)) + node2 = target + break + + for(var/obj/machinery/atmospherics/target in get_step(src, EAST)) + if (can_be_node(target, 3)) + node3 = target + break + + for(var/obj/machinery/atmospherics/target in get_step(src, WEST)) + if (can_be_node(target, 4)) + node4 = target + break + + if(!node1 && !node2 && !node3 && !node4) + qdel(src) + return + + var/turf/T = get_turf(src) + if(level == 1 && !T.is_plating()) hide(1) + update_icon() + +/obj/machinery/atmospherics/pipe/manifold4w/visible + icon_state = "map_4way" + level = 2 + +/obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers + name="4-way scrubbers pipe manifold" + desc = "A manifold composed of scrubbers pipes" + icon_state = "map_4way-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold4w/visible/supply + name="4-way air supply pipe manifold" + desc = "A manifold composed of supply pipes" + icon_state = "map_4way-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan + color = PIPE_COLOR_CYAN + +/obj/machinery/atmospherics/pipe/manifold4w/visible/green + color = PIPE_COLOR_GREEN + +/obj/machinery/atmospherics/pipe/manifold4w/visible/black + color = PIPE_COLOR_BLACK + +/obj/machinery/atmospherics/pipe/manifold4w/visible/red + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold4w/visible/blue + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold4w/visible/purple + color = PIPE_COLOR_PURPLE + +/obj/machinery/atmospherics/pipe/manifold4w/hidden + icon_state = "map_4way" + level = 1 + alpha = 128 //set for the benefit of mapping - this is reset to opaque when the pipe is spawned in game + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers + name="4-way scrubbers pipe manifold" + desc = "A manifold composed of scrubbers pipes" + icon_state = "map_4way-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply + name="4-way air supply pipe manifold" + desc = "A manifold composed of supply pipes" + icon_state = "map_4way-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/cyan + color = PIPE_COLOR_CYAN + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/green + color = PIPE_COLOR_GREEN + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/black + color = PIPE_COLOR_BLACK + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/red + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/blue + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/purple + color = PIPE_COLOR_PURPLE diff --git a/code/ATMOSPHERICS/pipes/pipe_base.dm b/code/ATMOSPHERICS/pipes/pipe_base.dm new file mode 100644 index 00000000000..19b05e8b714 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/pipe_base.dm @@ -0,0 +1,142 @@ +// +// Base type of pipes +// +/obj/machinery/atmospherics/pipe + + var/datum/gas_mixture/air_temporary // used when reconstructing a pipeline that broke + var/datum/pipeline/parent + var/volume = 0 + + layer = PIPES_LAYER + use_power = 0 + + pipe_flags = 0 // Does not have PIPING_DEFAULT_LAYER_ONLY flag. + + var/alert_pressure = 80*ONE_ATMOSPHERE + //minimum pressure before check_pressure(...) should be called + + can_buckle = 1 + buckle_require_restraints = 1 + buckle_lying = -1 + +/obj/machinery/atmospherics/pipe/drain_power() + return -1 + +/obj/machinery/atmospherics/pipe/New() + if(istype(get_turf(src), /turf/simulated/wall) || istype(get_turf(src), /turf/simulated/shuttle/wall) || istype(get_turf(src), /turf/unsimulated/wall)) + level = 1 + ..() + +/obj/machinery/atmospherics/pipe/hides_under_flooring() + return level != 2 + +/obj/machinery/atmospherics/pipe/proc/pipeline_expansion() + return null + +// For pipes this is the same as pipeline_expansion() +/obj/machinery/atmospherics/pipe/get_neighbor_nodes_for_init() + return pipeline_expansion() + +/obj/machinery/atmospherics/pipe/proc/check_pressure(pressure) + //Return 1 if parent should continue checking other pipes + //Return null if parent should stop checking other pipes. Recall: qdel(src) will by default return null + + return 1 + +/obj/machinery/atmospherics/pipe/return_air() + if(!parent) + parent = new /datum/pipeline() + parent.build_pipeline(src) + + return parent.air + +/obj/machinery/atmospherics/pipe/build_network() + if(!parent) + parent = new /datum/pipeline() + parent.build_pipeline(src) + + return parent.return_network() + +/obj/machinery/atmospherics/pipe/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference) + if(!parent) + parent = new /datum/pipeline() + parent.build_pipeline(src) + + return parent.network_expand(new_network, reference) + +/obj/machinery/atmospherics/pipe/return_network(obj/machinery/atmospherics/reference) + if(!parent) + parent = new /datum/pipeline() + parent.build_pipeline(src) + + return parent.return_network(reference) + +/obj/machinery/atmospherics/pipe/Destroy() + qdel_null(parent) + if(air_temporary) + loc.assume_air(air_temporary) + for(var/obj/machinery/meter/meter in loc) + if(meter.target == src) + var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(loc) + meter.transfer_fingerprints_to(PM) + qdel(meter) + . = ..() + +/obj/machinery/atmospherics/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + if (istype(src, /obj/machinery/atmospherics/pipe/tank)) + return ..() + + if(istype(W,/obj/item/device/pipe_painter)) + return 0 + + if (!istype(W, /obj/item/weapon/wrench)) + return ..() + var/turf/T = src.loc + if (level==1 && isturf(T) && !T.is_plating()) + to_chat(user, "You must remove the plating first.") + return 1 + if(!can_unwrench()) + to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") + add_fingerprint(user) + return 1 + playsound(src, W.usesound, 50, 1) + to_chat(user, "You begin to unfasten \the [src]...") + if (do_after(user, 40 * W.toolspeed)) + user.visible_message( \ + "\The [user] unfastens \the [src].", \ + "You have unfastened \the [src].", \ + "You hear a ratchet.") + deconstruct() + +/obj/machinery/atmospherics/pipe/proc/change_color(var/new_color) + //only pass valid pipe colors please ~otherwise your pipe will turn invisible + if(!pipe_color_check(new_color)) + return + + pipe_color = new_color + update_icon() + +/obj/machinery/atmospherics/pipe/color_cache_name(var/obj/machinery/atmospherics/node) + if(istype(src, /obj/machinery/atmospherics/pipe/tank)) + return ..() + + if(istype(node, /obj/machinery/atmospherics/pipe/manifold) || istype(node, /obj/machinery/atmospherics/pipe/manifold4w)) + if(pipe_color == node.pipe_color) + return node.pipe_color + else + return null + else if(istype(node, /obj/machinery/atmospherics/pipe/simple)) + return node.pipe_color + else + return pipe_color + +/obj/machinery/atmospherics/pipe/hide(var/i) + if(istype(loc, /turf/simulated)) + invisibility = i ? 101 : 0 + update_icon() + +/obj/machinery/atmospherics/pipe/process() + if(!parent) //This should cut back on the overhead calling build_network thousands of times per cycle + ..() + else + . = PROCESS_KILL diff --git a/code/ATMOSPHERICS/pipes/simple.dm b/code/ATMOSPHERICS/pipes/simple.dm new file mode 100644 index 00000000000..6aee81807e8 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/simple.dm @@ -0,0 +1,270 @@ +// +// Simple Pipes - Just a tube, maybe bent +// +/obj/machinery/atmospherics/pipe/simple + icon = 'icons/atmos/pipes.dmi' + icon_state = "" + var/pipe_icon = "" //what kind of pipe it is and from which dmi is the icon manager getting its icons, "" for simple pipes, "hepipe" for HE pipes, "hejunction" for HE junctions + name = "pipe" + desc = "A one meter section of regular pipe" + + volume = ATMOS_DEFAULT_VOLUME_PIPE + + dir = SOUTH + initialize_directions = SOUTH|NORTH + + pipe_flags = PIPING_CARDINAL_AUTONORMALIZE + construction_type = /obj/item/pipe/binary/bendable + pipe_state = "simple" + + var/minimum_temperature_difference = 300 + var/thermal_conductivity = 0 //WALL_HEAT_TRANSFER_COEFFICIENT No + + var/maximum_pressure = 70*ONE_ATMOSPHERE + var/fatigue_pressure = 55*ONE_ATMOSPHERE + alert_pressure = 55*ONE_ATMOSPHERE + + level = 1 + +/obj/machinery/atmospherics/pipe/simple/New() + ..() + + // Pipe colors and icon states are handled by an image cache - so color and icon should + // be null. For mapping purposes color is defined in the object definitions. + icon = null + alpha = 255 + +/obj/machinery/atmospherics/pipe/simple/check_pressure(pressure) + var/datum/gas_mixture/environment = loc.return_air() + + var/pressure_difference = pressure - environment.return_pressure() + + if(pressure_difference > maximum_pressure) + burst() + + else if(pressure_difference > fatigue_pressure) + //TODO: leak to turf, doing pfshhhhh + if(prob(5)) + burst() + + else return 1 + +/obj/machinery/atmospherics/pipe/simple/init_dir() + switch(dir) + if(SOUTH) + initialize_directions = SOUTH|NORTH + if(NORTH) + initialize_directions = SOUTH|NORTH + if(EAST) + initialize_directions = EAST|WEST + if(WEST) + initialize_directions = EAST|WEST + if(NORTHEAST) + initialize_directions = NORTH|EAST + if(NORTHWEST) + initialize_directions = NORTH|WEST + if(SOUTHEAST) + initialize_directions = SOUTH|EAST + if(SOUTHWEST) + initialize_directions = SOUTH|WEST + +/obj/machinery/atmospherics/pipe/simple/proc/burst() + src.visible_message("\The [src] bursts!"); + playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) + var/datum/effect/effect/system/smoke_spread/smoke = new + smoke.set_up(1,0, src.loc, 0) + smoke.start() + qdel(src) + +/obj/machinery/atmospherics/pipe/simple/proc/normalize_dir() + if(dir==3) + set_dir(1) + else if(dir==12) + set_dir(4) + +/obj/machinery/atmospherics/pipe/simple/Destroy() + if(node1) + node1.disconnect(src) + node1 = null + if(node2) + node2.disconnect(src) + node1 = null + + . = ..() + +/obj/machinery/atmospherics/pipe/simple/pipeline_expansion() + return list(node1, node2) + +/obj/machinery/atmospherics/pipe/simple/change_color(var/new_color) + ..() + //for updating connected atmos device pipes (i.e. vents, manifolds, etc) + if(node1) + node1.update_underlays() + if(node2) + node2.update_underlays() + +/obj/machinery/atmospherics/pipe/simple/update_icon(var/safety = 0) + if(!check_icon_cache()) + return + + alpha = 255 + + overlays.Cut() + + if(node1 && node2) + overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]intact[icon_connect_type]") + else + overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]exposed[node1?1:0][node2?1:0][icon_connect_type]") + +/obj/machinery/atmospherics/pipe/simple/update_underlays() + return + +/obj/machinery/atmospherics/pipe/simple/atmos_init() + normalize_dir() + var/node1_dir + var/node2_dir + + for(var/direction in cardinal) + if(direction&initialize_directions) + if (!node1_dir) + node1_dir = direction + else if (!node2_dir) + node2_dir = direction + + for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) + if(can_be_node(target, 1)) + node1 = target + break + for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) + if(can_be_node(target, 2)) + node2 = target + break + + if(!node1 && !node2) + qdel(src) + return + + var/turf/T = loc + if(level == 1 && !T.is_plating()) hide(1) + update_icon() + +/obj/machinery/atmospherics/pipe/simple/disconnect(obj/machinery/atmospherics/reference) + if(reference == node1) + if(istype(node1, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node1 = null + + if(reference == node2) + if(istype(node2, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node2 = null + + update_icon() + + return null + +/obj/machinery/atmospherics/pipe/simple/visible + icon_state = "intact" + level = 2 + +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers + name = "Scrubbers pipe" + desc = "A one meter section of scrubbers pipe" + icon_state = "intact-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/simple/visible/supply + name = "Air supply pipe" + desc = "A one meter section of supply pipe" + icon_state = "intact-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/simple/visible/yellow + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/simple/visible/cyan + color = PIPE_COLOR_CYAN + +/obj/machinery/atmospherics/pipe/simple/visible/green + color = PIPE_COLOR_GREEN + +/obj/machinery/atmospherics/pipe/simple/visible/black + color = PIPE_COLOR_BLACK + +/obj/machinery/atmospherics/pipe/simple/visible/red + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/simple/visible/blue + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/simple/visible/purple + color = PIPE_COLOR_PURPLE + +/obj/machinery/atmospherics/pipe/simple/hidden + icon_state = "intact" + level = 1 + alpha = 128 //set for the benefit of mapping - this is reset to opaque when the pipe is spawned in game + +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers + name = "Scrubbers pipe" + desc = "A one meter section of scrubbers pipe" + icon_state = "intact-scrubbers" + connect_types = CONNECT_TYPE_SCRUBBER + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER + icon_connect_type = "-scrubbers" + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/simple/hidden/supply + name = "Air supply pipe" + desc = "A one meter section of supply pipe" + icon_state = "intact-supply" + connect_types = CONNECT_TYPE_SUPPLY + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER + icon_connect_type = "-supply" + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/simple/hidden/yellow + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/simple/hidden/cyan + color = PIPE_COLOR_CYAN + +/obj/machinery/atmospherics/pipe/simple/hidden/green + color = PIPE_COLOR_GREEN + +/obj/machinery/atmospherics/pipe/simple/hidden/black + color = PIPE_COLOR_BLACK + +/obj/machinery/atmospherics/pipe/simple/hidden/red + color = PIPE_COLOR_RED + +/obj/machinery/atmospherics/pipe/simple/hidden/blue + color = PIPE_COLOR_BLUE + +/obj/machinery/atmospherics/pipe/simple/hidden/purple + color = PIPE_COLOR_PURPLE + +/obj/machinery/atmospherics/pipe/simple/insulated + icon = 'icons/obj/atmospherics/red_pipe.dmi' + icon_state = "intact" + + construction_type = /obj/item/pipe/binary/bendable + pipe_state = "insulated" + + minimum_temperature_difference = 10000 + thermal_conductivity = 0 + maximum_pressure = 1000*ONE_ATMOSPHERE + fatigue_pressure = 900*ONE_ATMOSPHERE + alert_pressure = 900*ONE_ATMOSPHERE + + level = 2 diff --git a/code/ATMOSPHERICS/pipes/tank.dm b/code/ATMOSPHERICS/pipes/tank.dm new file mode 100644 index 00000000000..95ab01efe09 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/tank.dm @@ -0,0 +1,161 @@ +// +// Tanks - These are implemented as pipes with large volume +// +/obj/machinery/atmospherics/pipe/tank + icon = 'icons/atmos/tank.dmi' + icon_state = "air_map" + + name = "Pressure Tank" + desc = "A large vessel containing pressurized gas." + + volume = 10000 //in liters, 1 meters by 1 meters by 2 meters ~tweaked it a little to simulate a pressure tank without needing to recode them yet + var/start_pressure = 25*ONE_ATMOSPHERE + + layer = ATMOS_LAYER + level = 1 + dir = SOUTH + initialize_directions = SOUTH + pipe_flags = PIPING_DEFAULT_LAYER_ONLY + density = 1 + +/obj/machinery/atmospherics/pipe/tank/New() + icon_state = "air" + ..() + +/obj/machinery/atmospherics/pipe/tank/init_dir() + initialize_directions = dir + +/obj/machinery/atmospherics/pipe/tank/Destroy() + if(node1) + node1.disconnect(src) + node1 = null + + . = ..() + +/obj/machinery/atmospherics/pipe/tank/pipeline_expansion() + return list(node1) + +/obj/machinery/atmospherics/pipe/tank/update_underlays() + if(..()) + underlays.Cut() + var/turf/T = get_turf(src) + if(!istype(T)) + return + add_underlay(T, node1, dir) + +/obj/machinery/atmospherics/pipe/tank/hide() + update_underlays() + +/obj/machinery/atmospherics/pipe/tank/atmos_init() + var/connect_direction = dir + + for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction)) + if (can_be_node(target, 1)) + node1 = target + break + + update_underlays() + +/obj/machinery/atmospherics/pipe/tank/disconnect(obj/machinery/atmospherics/reference) + if(reference == node1) + if(istype(node1, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node1 = null + + update_underlays() + + return null + +/obj/machinery/atmospherics/pipe/tank/attackby(var/obj/item/W as obj, var/mob/user as mob) + if(istype(W, /obj/item/device/pipe_painter)) + return + + if(istype(W, /obj/item/device/analyzer) && in_range(user, src)) + var/obj/item/device/analyzer/A = W + A.analyze_gases(src, user) + +/obj/machinery/atmospherics/pipe/tank/air + name = "Pressure Tank (Air)" + icon_state = "air_map" + +/obj/machinery/atmospherics/pipe/tank/air/New() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T20C + + air_temporary.adjust_multi("oxygen", (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \ + "nitrogen",(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + + + ..() + icon_state = "air" + +/obj/machinery/atmospherics/pipe/tank/oxygen + name = "Pressure Tank (Oxygen)" + icon_state = "o2_map" + +/obj/machinery/atmospherics/pipe/tank/oxygen/New() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T20C + + air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + + ..() + icon_state = "o2" + +/obj/machinery/atmospherics/pipe/tank/nitrogen + name = "Pressure Tank (Nitrogen)" + icon_state = "n2_map" + +/obj/machinery/atmospherics/pipe/tank/nitrogen/New() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T20C + + air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + + ..() + icon_state = "n2" + +/obj/machinery/atmospherics/pipe/tank/carbon_dioxide + name = "Pressure Tank (Carbon Dioxide)" + icon_state = "co2_map" + +/obj/machinery/atmospherics/pipe/tank/carbon_dioxide/New() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T20C + + air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + + ..() + icon_state = "co2" + +/obj/machinery/atmospherics/pipe/tank/phoron + name = "Pressure Tank (Phoron)" + icon_state = "phoron_map" + +/obj/machinery/atmospherics/pipe/tank/phoron/New() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T20C + + air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + + ..() + icon_state = "phoron" + +/obj/machinery/atmospherics/pipe/tank/nitrous_oxide + name = "Pressure Tank (Nitrous Oxide)" + icon_state = "n2o_map" + +/obj/machinery/atmospherics/pipe/tank/nitrous_oxide/New() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T0C + + air_temporary.adjust_gas("sleeping_agent", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + + ..() + icon_state = "n2o" diff --git a/code/ATMOSPHERICS/pipes/universal.dm b/code/ATMOSPHERICS/pipes/universal.dm new file mode 100644 index 00000000000..2d8bd09dff8 --- /dev/null +++ b/code/ATMOSPHERICS/pipes/universal.dm @@ -0,0 +1,108 @@ +// +// Universal Pipe Adapter - Designed for connecting scrubbers, normal, and supply pipes together. +// +/obj/machinery/atmospherics/pipe/simple/visible/universal + name="Universal pipe adapter" + desc = "An adapter for regular, supply and scrubbers pipes" + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + icon_state = "map_universal" + pipe_flags = PIPING_ALL_LAYER|PIPING_CARDINAL_AUTONORMALIZE + construction_type = /obj/item/pipe/binary + pipe_state = "universal" + +/obj/machinery/atmospherics/pipe/simple/visible/universal/update_icon(var/safety = 0) + if(!check_icon_cache()) + return + + alpha = 255 + + overlays.Cut() + overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "universal") + underlays.Cut() + + if (node1) + universal_underlays(node1) + if(node2) + universal_underlays(node2) + else + var/node1_dir = get_dir(node1,src) + universal_underlays(,node1_dir) + else if (node2) + universal_underlays(node2) + else + universal_underlays(,dir) + universal_underlays(,turn(dir, -180)) + +/obj/machinery/atmospherics/pipe/simple/visible/universal/update_underlays() + ..() + update_icon() + + + +/obj/machinery/atmospherics/pipe/simple/hidden/universal + name="Universal pipe adapter" + desc = "An adapter for regular, supply and scrubbers pipes" + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + icon_state = "map_universal" + pipe_flags = PIPING_ALL_LAYER|PIPING_CARDINAL_AUTONORMALIZE + construction_type = /obj/item/pipe/binary + pipe_state = "universal" + +/obj/machinery/atmospherics/pipe/simple/hidden/universal/update_icon(var/safety = 0) + if(!check_icon_cache()) + return + + alpha = 255 + + overlays.Cut() + overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "universal") + underlays.Cut() + + if (node1) + universal_underlays(node1) + if(node2) + universal_underlays(node2) + else + var/node2_dir = turn(get_dir(src,node1),-180) + universal_underlays(,node2_dir) + else if (node2) + universal_underlays(node2) + var/node1_dir = turn(get_dir(src,node2),-180) + universal_underlays(,node1_dir) + else + universal_underlays(,dir) + universal_underlays(,turn(dir, -180)) + +/obj/machinery/atmospherics/pipe/simple/hidden/universal/update_underlays() + ..() + update_icon() + +/obj/machinery/atmospherics/proc/universal_underlays(var/obj/machinery/atmospherics/node, var/direction) + var/turf/T = loc + if(node) + var/node_dir = get_dir(src,node) + if(node.icon_connect_type == "-supply") + add_underlay_adapter(T, , node_dir, "") + add_underlay_adapter(T, node, node_dir, "-supply") + add_underlay_adapter(T, , node_dir, "-scrubbers") + else if (node.icon_connect_type == "-scrubbers") + add_underlay_adapter(T, , node_dir, "") + add_underlay_adapter(T, , node_dir, "-supply") + add_underlay_adapter(T, node, node_dir, "-scrubbers") + else + add_underlay_adapter(T, node, node_dir, "") + add_underlay_adapter(T, , node_dir, "-supply") + add_underlay_adapter(T, , node_dir, "-scrubbers") + else + add_underlay_adapter(T, , direction, "-supply") + add_underlay_adapter(T, , direction, "-scrubbers") + add_underlay_adapter(T, , direction, "") + +/obj/machinery/atmospherics/proc/add_underlay_adapter(var/turf/T, var/obj/machinery/atmospherics/node, var/direction, var/icon_connect_type) //modified from add_underlay, does not make exposed underlays + if(node) + if(!T.is_plating() && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe)) + underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type) + else + underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) + else + underlays += icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "retracted" + icon_connect_type) diff --git a/code/ATMOSPHERICS/pipes/vent.dm b/code/ATMOSPHERICS/pipes/vent.dm new file mode 100644 index 00000000000..4a1dc5696dc --- /dev/null +++ b/code/ATMOSPHERICS/pipes/vent.dm @@ -0,0 +1,85 @@ +// +// Vent Pipe - Unpowered vent +// +/obj/machinery/atmospherics/pipe/vent + icon = 'icons/obj/atmospherics/pipe_vent.dmi' + icon_state = "intact" + + name = "Vent" + desc = "A large air vent" + + level = 1 + + volume = 250 + + dir = SOUTH + initialize_directions = SOUTH + pipe_flags = PIPING_DEFAULT_LAYER_ONLY + construction_type = /obj/item/pipe/directional + pipe_state = "passive vent" + + var/build_killswitch = 1 + +/obj/machinery/atmospherics/pipe/vent/init_dir() + initialize_directions = dir + +/obj/machinery/atmospherics/pipe/vent/high_volume + name = "Larger vent" + volume = 1000 + +/obj/machinery/atmospherics/pipe/vent/process() + if(!parent) + if(build_killswitch <= 0) + . = PROCESS_KILL + else + build_killswitch-- + ..() + return + else + parent.mingle_with_turf(loc, volume) + +/obj/machinery/atmospherics/pipe/vent/Destroy() + if(node1) + node1.disconnect(src) + node1 = null + + . = ..() + +/obj/machinery/atmospherics/pipe/vent/pipeline_expansion() + return list(node1) + +/obj/machinery/atmospherics/pipe/vent/update_icon() + if(node1) + icon_state = "intact" + + set_dir(get_dir(src, node1)) + + else + icon_state = "exposed" + +/obj/machinery/atmospherics/pipe/vent/atmos_init() + var/connect_direction = dir + + for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction)) + if (can_be_node(target, 1)) + node1 = target + break + + update_icon() + +/obj/machinery/atmospherics/pipe/vent/disconnect(obj/machinery/atmospherics/reference) + if(reference == node1) + if(istype(node1, /obj/machinery/atmospherics/pipe)) + qdel(parent) + node1 = null + + update_icon() + + return null + +/obj/machinery/atmospherics/pipe/vent/hide(var/i) //to make the little pipe section invisible, the icon changes. + if(node1) + icon_state = "[i == 1 && istype(loc, /turf/simulated) ? "h" : "" ]intact" + set_dir(get_dir(src, node1)) + else + icon_state = "exposed" diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index fde7b78acab..e5d2b7eb112 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -26,15 +26,17 @@ mob/living/simple_animal/slime/airflow_stun() return mob/living/carbon/human/airflow_stun() - if(shoes) - if(shoes.item_flags & NOSLIP) return 0 + if(shoes && (shoes.item_flags & NOSLIP)) + to_chat(src, "Air suddenly rushes past you!") + return 0 ..() atom/movable/proc/check_airflow_movable(n) + if(!simulated) return 0 if(anchored && !ismob(src)) return 0 - if(!istype(src,/obj/item) && n < vsc.airflow_dense_pressure) return 0 + if(!isobj(src) && n < vsc.airflow_dense_pressure) return 0 return 1 @@ -50,15 +52,20 @@ mob/living/silicon/check_airflow_movable() return 0 -obj/item/check_airflow_movable(n) - . = ..() +obj/check_airflow_movable(n) + if (!(. = ..())) + return 0 + if(isnull(w_class)) + if(n < vsc.airflow_dense_pressure) return 0 //most non-item objs don't have a w_class yet switch(w_class) - if(2) + if(ITEMSIZE_TINY,ITEMSIZE_SMALL) if(n < vsc.airflow_lightest_pressure) return 0 - if(3) + if(ITEMSIZE_NORMAL) if(n < vsc.airflow_light_pressure) return 0 - if(4,5) + if(ITEMSIZE_LARGE,ITEMSIZE_HUGE) if(n < vsc.airflow_medium_pressure) return 0 + else + if(n < vsc.airflow_dense_pressure) return 0 /atom/movable/var/tmp/turf/airflow_dest /atom/movable/var/tmp/airflow_speed = 0 @@ -78,116 +85,6 @@ obj/item/check_airflow_movable(n) return 0 return 1 -/atom/movable/proc/GotoAirflowDest(n) - if(!airflow_dest) return - if(airflow_speed < 0) return - if(last_airflow > world.time - vsc.airflow_delay) return - if(airflow_speed) - airflow_speed = n/max(get_dist(src,airflow_dest),1) - return - if(airflow_dest == loc) - step_away(src,loc) - if(!src.AirflowCanMove(n)) - return - if(ismob(src)) - src << "You are sucked away by airflow!" - last_airflow = world.time - var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2) - if(airflow_falloff < 1) - airflow_dest = null - return - airflow_speed = min(max(n * (9/airflow_falloff),1),9) - var - xo = airflow_dest.x - src.x - yo = airflow_dest.y - src.y - od = 0 - airflow_dest = null - if(!density) - density = 1 - od = 1 - while(airflow_speed > 0) - if(airflow_speed <= 0) break - airflow_speed = min(airflow_speed,15) - airflow_speed -= vsc.airflow_speed_decay - if(airflow_speed > 7) - if(airflow_time++ >= airflow_speed - 7) - if(od) - density = 0 - sleep(1 * tick_multiplier) - else - if(od) - density = 0 - sleep(max(1,10-(airflow_speed+3)) * tick_multiplier) - if(od) - density = 1 - if ((!( src.airflow_dest ) || src.loc == src.airflow_dest)) - src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z) - if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy)) - break - if(!istype(loc, /turf)) - break - step_towards(src, src.airflow_dest) - var/mob/M = src - if(istype(M) && M.client) - M.setMoveCooldown(vsc.airflow_mob_slowdown) - airflow_dest = null - airflow_speed = 0 - airflow_time = 0 - if(od) - density = 0 - - -/atom/movable/proc/RepelAirflowDest(n) - if(!airflow_dest) return - if(airflow_speed < 0) return - if(last_airflow > world.time - vsc.airflow_delay) return - if(airflow_speed) - airflow_speed = n/max(get_dist(src,airflow_dest),1) - return - if(airflow_dest == loc) - step_away(src,loc) - if(!src.AirflowCanMove(n)) - return - if(ismob(src)) - src << "You are pushed away by airflow!" - last_airflow = world.time - var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2) - if(airflow_falloff < 1) - airflow_dest = null - return - airflow_speed = min(max(n * (9/airflow_falloff),1),9) - var - xo = -(airflow_dest.x - src.x) - yo = -(airflow_dest.y - src.y) - od = 0 - airflow_dest = null - if(!density) - density = 1 - od = 1 - while(airflow_speed > 0) - if(airflow_speed <= 0) return - airflow_speed = min(airflow_speed,15) - airflow_speed -= vsc.airflow_speed_decay - if(airflow_speed > 7) - if(airflow_time++ >= airflow_speed - 7) - sleep(1 * tick_multiplier) - else - sleep(max(1,10-(airflow_speed+3)) * tick_multiplier) - if ((!( src.airflow_dest ) || src.loc == src.airflow_dest)) - src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z) - if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy)) - return - if(!istype(loc, /turf)) - return - step_towards(src, src.airflow_dest) - if(ismob(src) && src:client) - src:client:move_delay = world.time + vsc.airflow_mob_slowdown - airflow_dest = null - airflow_speed = 0 - airflow_time = 0 - if(od) - density = 0 - /atom/movable/Bump(atom/A) if(airflow_speed > 0 && airflow_dest) airflow_hit(A) diff --git a/code/ZAS/Atom.dm b/code/ZAS/Atom.dm index 49613559409..63ed9cf0906 100644 --- a/code/ZAS/Atom.dm +++ b/code/ZAS/Atom.dm @@ -76,7 +76,8 @@ turf/c_airblock(turf/other) return AIR_BLOCKED var/result = 0 - for(var/atom/movable/M in contents) + for(var/mm in contents) + var/atom/movable/M = mm result |= M.c_airblock(other) if(result == BLOCKED) return BLOCKED return result diff --git a/code/ZAS/Controller.dm b/code/ZAS/Controller.dm index 3e598110700..7adba1474f0 100644 --- a/code/ZAS/Controller.dm +++ b/code/ZAS/Controller.dm @@ -1,4 +1,4 @@ -var/datum/controller/air_system/air_master +var/datum/controller/subsystem/air/air_master var/tick_multiplier = 2 @@ -65,191 +65,35 @@ Class Procs: */ +// +// The rest of the air subsystem is defined in air.dm +// -//Geometry lists -/datum/controller/air_system/var/list/zones = list() -/datum/controller/air_system/var/list/edges = list() +/datum/controller/subsystem/air + //Geometry lists + var/list/zones = list() + var/list/edges = list() + //Geometry updates lists + var/list/tiles_to_update = list() + var/list/zones_to_update = list() + var/list/active_fire_zones = list() + var/list/active_hotspots = list() + var/list/active_edges = list() -//Geometry updates lists -/datum/controller/air_system/var/list/tiles_to_update = list() -/datum/controller/air_system/var/list/zones_to_update = list() -/datum/controller/air_system/var/list/active_fire_zones = list() -/datum/controller/air_system/var/list/active_hotspots = list() -/datum/controller/air_system/var/list/active_edges = list() + var/active_zones = 0 + var/current_cycle = 0 + var/next_id = 1 //Used to keep track of zone UIDs. -/datum/controller/air_system/var/active_zones = 0 - -/datum/controller/air_system/var/current_cycle = 0 -/datum/controller/air_system/var/update_delay = 5 //How long between check should it try to process atmos again. -/datum/controller/air_system/var/failed_ticks = 0 //How many ticks have runtimed? - -/datum/controller/air_system/var/tick_progress = 0 - -/datum/controller/air_system/var/next_id = 1 //Used to keep track of zone UIDs. - -/datum/controller/air_system/proc/Setup() - //Purpose: Call this at the start to setup air groups geometry - // (Warning: Very processor intensive but only must be done once per round) - //Called by: Gameticker/Master controller - //Inputs: None. - //Outputs: None. - - #ifndef ZASDBG - set background = 1 - #endif - - admin_notice("Processing Geometry...", R_DEBUG) - sleep(-1) - - var/start_time = world.timeofday - - var/simulated_turf_count = 0 - - for(var/turf/simulated/S in world) - simulated_turf_count++ - S.update_air_properties() - - admin_notice({"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds. - -Total Simulated Turfs: [simulated_turf_count] -Total Zones: [zones.len] -Total Edges: [edges.len] -Total Active Edges: [active_edges.len ? "[active_edges.len]" : "None"] -Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count] -"}, R_DEBUG) - - // Uncomment this if you're having problems finding where active edges are. - /* - for(var/connection_edge/E in active_edges) - world << "Edge became active: [E]." - var/i = 1 - for(var/turf/T in E.connecting_turfs) - world << "[i] [T]:[T.x],[T.y],[T.z]" - i++ - */ - - -// spawn Start() - - -/datum/controller/air_system/proc/Start() - //Purpose: This is kicked off by the master controller, and controls the processing of all atmosphere. - //Called by: Master controller - //Inputs: None. - //Outputs: None. - - #ifndef ZASDBG - set background = 1 - #endif - - while(1) - Tick() - sleep(max(5,update_delay*tick_multiplier)) - - -/datum/controller/air_system/proc/Tick() - . = 1 //Set the default return value, for runtime detection. - - current_cycle++ - - //If there are tiles to update, do so. - tick_progress = "updating turf properties" - - var/list/updating - - if(tiles_to_update.len) - updating = tiles_to_update - tiles_to_update = list() - - #ifdef ZASDBG - var/updated = 0 - #endif - - //defer updating of self-zone-blocked turfs until after all other turfs have been updated. - //this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones - //have valid zones when the self-zone-blocked turfs update. - - //This ensures that doorways don't form their own single-turf zones, since doorways are self-zone-blocked and - //can merge with an adjacent zone, whereas zones that are formed on adjacent turfs cannot merge with the doorway. - var/list/deferred = list() - - for(var/turf/T in updating) - //check if the turf is self-zone-blocked - if(T.c_airblock(T) & ZONE_BLOCKED) - deferred += T - continue - - T.update_air_properties() - T.post_update_air_properties() - T.needs_air_update = 0 - #ifdef ZASDBG - T.overlays -= mark - updated++ - #endif - //sleep(1) - - for(var/turf/T in deferred) - T.update_air_properties() - T.post_update_air_properties() - T.needs_air_update = 0 - #ifdef ZASDBG - T.overlays -= mark - updated++ - #endif - - #ifdef ZASDBG - if(updated != updating.len) - tick_progress = "[updating.len - updated] tiles left unupdated." - world << "[tick_progress]" - . = 0 - #endif - - //Where gas exchange happens. - if(.) - tick_progress = "processing edges" - - for(var/connection_edge/edge in active_edges) - edge.tick() - - //Process fire zones. - if(.) - tick_progress = "processing fire zones" - - for(var/zone/Z in active_fire_zones) - Z.process_fire() - - //Process hotspots. - if(.) - tick_progress = "processing hotspots" - - for(var/obj/fire/fire in active_hotspots) - fire.process() - - //Process zones. - if(.) - tick_progress = "updating zones" - - active_zones = zones_to_update.len - if(zones_to_update.len) - updating = zones_to_update - zones_to_update = list() - for(var/zone/zone in updating) - zone.tick() - zone.needs_update = 0 - - if(.) - tick_progress = "success" - -/datum/controller/air_system/proc/add_zone(zone/z) +/datum/controller/subsystem/air/proc/add_zone(zone/z) zones.Add(z) z.name = "Zone [next_id++]" mark_zone_update(z) -/datum/controller/air_system/proc/remove_zone(zone/z) +/datum/controller/subsystem/air/proc/remove_zone(zone/z) zones.Remove(z) zones_to_update.Remove(z) -/datum/controller/air_system/proc/air_blocked(turf/A, turf/B) +/datum/controller/subsystem/air/proc/air_blocked(turf/A, turf/B) #ifdef ZASDBG ASSERT(isturf(A)) ASSERT(isturf(B)) @@ -258,13 +102,13 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun if(ablock == BLOCKED) return BLOCKED return ablock | B.c_airblock(A) -/datum/controller/air_system/proc/has_valid_zone(turf/simulated/T) +/datum/controller/subsystem/air/proc/has_valid_zone(turf/simulated/T) #ifdef ZASDBG ASSERT(istype(T)) #endif return istype(T) && T.zone && !T.zone.invalid -/datum/controller/air_system/proc/merge(zone/A, zone/B) +/datum/controller/subsystem/air/proc/merge(zone/A, zone/B) #ifdef ZASDBG ASSERT(istype(A)) ASSERT(istype(B)) @@ -279,7 +123,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun B.c_merge(A) mark_zone_update(A) -/datum/controller/air_system/proc/connect(turf/simulated/A, turf/simulated/B) +/datum/controller/subsystem/air/proc/connect(turf/simulated/A, turf/simulated/B) #ifdef ZASDBG ASSERT(istype(A)) ASSERT(isturf(B)) @@ -320,7 +164,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun if(direct) c.mark_direct() -/datum/controller/air_system/proc/mark_for_update(turf/T) +/datum/controller/subsystem/air/proc/mark_for_update(turf/T) #ifdef ZASDBG ASSERT(isturf(T)) #endif @@ -331,7 +175,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun #endif T.needs_air_update = 1 -/datum/controller/air_system/proc/mark_zone_update(zone/Z) +/datum/controller/subsystem/air/proc/mark_zone_update(zone/Z) #ifdef ZASDBG ASSERT(istype(Z)) #endif @@ -339,7 +183,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun zones_to_update.Add(Z) Z.needs_update = 1 -/datum/controller/air_system/proc/mark_edge_sleeping(connection_edge/E) +/datum/controller/subsystem/air/proc/mark_edge_sleeping(connection_edge/E) #ifdef ZASDBG ASSERT(istype(E)) #endif @@ -347,7 +191,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun active_edges.Remove(E) E.sleeping = 1 -/datum/controller/air_system/proc/mark_edge_active(connection_edge/E) +/datum/controller/subsystem/air/proc/mark_edge_active(connection_edge/E) #ifdef ZASDBG ASSERT(istype(E)) #endif @@ -355,10 +199,10 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun active_edges.Add(E) E.sleeping = 0 -/datum/controller/air_system/proc/equivalent_pressure(zone/A, zone/B) +/datum/controller/subsystem/air/proc/equivalent_pressure(zone/A, zone/B) return A.air.compare(B.air) -/datum/controller/air_system/proc/get_edge(zone/A, zone/B) +/datum/controller/subsystem/air/proc/get_edge(zone/A, zone/B) if(istype(B)) for(var/connection_edge/zone/edge in A.edges) @@ -375,7 +219,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun edge.recheck() return edge -/datum/controller/air_system/proc/has_same_air(turf/A, turf/B) +/datum/controller/subsystem/air/proc/has_same_air(turf/A, turf/B) if(A.oxygen != B.oxygen) return 0 if(A.nitrogen != B.nitrogen) return 0 if(A.phoron != B.phoron) return 0 @@ -383,6 +227,6 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun if(A.temperature != B.temperature) return 0 return 1 -/datum/controller/air_system/proc/remove_edge(connection_edge/E) +/datum/controller/subsystem/air/proc/remove_edge(connection_edge/E) edges.Remove(E) if(!E.sleeping) active_edges.Remove(E) diff --git a/code/ZAS/Diagnostic.dm b/code/ZAS/Diagnostic.dm index cbf35d93bde..29ab678ef1d 100644 --- a/code/ZAS/Diagnostic.dm +++ b/code/ZAS/Diagnostic.dm @@ -1,6 +1,12 @@ client/proc/ZoneTick() set category = "Debug" set name = "Process Atmos" + set desc = "Manually run a single tick of the air subsystem" + + // TODO - This might be a useful diagnostic tool. However its complicated to do with StonedMC + // Therefore it is left unimplemented for now until its use actually becomes required. ~Leshana + /* + if(!check_rights(R_DEBUG)) return var/result = air_master.Tick() if(result) @@ -8,7 +14,7 @@ client/proc/ZoneTick() else src << "Failed to process! ([air_master.tick_progress])" - + */ client/proc/Zone_Info(turf/T as null|turf) set category = "Debug" diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index a309cd3a082..f61d1cf4fc4 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -6,9 +6,9 @@ /turf/simulated/proc/update_graphic(list/graphic_add = null, list/graphic_remove = null) if(LAZYLEN(graphic_add)) - overlays += graphic_add + add_overlay(graphic_add, priority = TRUE) if(LAZYLEN(graphic_remove)) - overlays -= graphic_remove + cut_overlay(graphic_remove, priority = TRUE) /turf/proc/update_air_properties() var/block = c_airblock(src) diff --git a/code/ZAS/_docs.dm b/code/ZAS/_docs.dm index 7b28d52688f..382f1f0abbf 100644 --- a/code/ZAS/_docs.dm +++ b/code/ZAS/_docs.dm @@ -26,11 +26,3 @@ Notes for people who used ZAS before: var/zone/connected_zone = edge.get_connected_zone(zone) */ - -//#define ZASDBG -#define MULTIZAS -#define AIR_BLOCKED 1 -#define ZONE_BLOCKED 2 -#define BLOCKED 3 - -#define ZONE_MIN_SIZE 14 //zones with less than this many turfs will always merge, even if the connection is not direct diff --git a/code/__defines/ZAS.dm b/code/__defines/ZAS.dm new file mode 100644 index 00000000000..8712dd2bf70 --- /dev/null +++ b/code/__defines/ZAS.dm @@ -0,0 +1,6 @@ +// Bitflag values for c_airblock() +#define AIR_BLOCKED 1 // Blocked +#define ZONE_BLOCKED 2 // Not blocked, but zone boundaries will not cross. +#define BLOCKED 3 // Blocked, zone boundaries will not cross even if opened. + +#define ZONE_MIN_SIZE 14 // Zones with less than this many turfs will always merge, even if the connection is not direct diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm index e71ced7e29a..229d0b94adb 100644 --- a/code/__defines/_compile_options.dm +++ b/code/__defines/_compile_options.dm @@ -5,4 +5,14 @@ 0 to allow using external resources or on-demand behaviour; 1 to use the default behaviour (preload compiled in recourses, not player uploaded ones); 2 for preloading absolutely everything; - */ \ No newline at end of file + */ + +// ZAS Compile Options +//#define ZASDBG // Uncomment to turn on super detailed ZAS debugging that probably won't even compile. +#define MULTIZAS // Uncomment to turn on Multi-Z ZAS Support! + +// If we are doing the map test build, do not include the main maps, only the submaps. +#if MAP_TEST + #define USING_MAP_DATUM /datum/map + #define MAP_OVERRIDE 1 +#endif diff --git a/code/__defines/_planes+layers.dm b/code/__defines/_planes+layers.dm index 3000776d86e..ad2962547c2 100644 --- a/code/__defines/_planes+layers.dm +++ b/code/__defines/_planes+layers.dm @@ -40,41 +40,71 @@ What is the naming convention for planes or layers? */ -#define PLANE_ADMIN1 -92 //Purely for shenanigans -#define PLANE_ADMIN2 -91 //And adminbuse -#define PLANE_ADMIN3 -90 //And generating salt - -#define SPACE_PLANE -32 // Reserved for use in space/parallax -#define PARALLAX_PLANE -30 // Reserved for use in space/parallax +#define SPACE_PLANE -82 // Reserved for use in space/parallax +#define PARALLAX_PLANE -80 // Reserved for use in space/parallax // OPENSPACE_PLANE reserves all planes between OPENSPACE_PLANE_START and OPENSPACE_PLANE_END inclusive -#define OPENSPACE_PLANE -55 // /turf/simulated/open will use OPENSPACE_PLANE + z (Valid z's being 2 thru 17) -#define OPENSPACE_PLANE_START -53 -#define OPENSPACE_PLANE_END -38 -#define OVER_OPENSPACE_PLANE -37 +#define OPENSPACE_PLANE -75 // /turf/simulated/open will use OPENSPACE_PLANE + z (Valid z's being 2 thru 17) +#define OPENSPACE_PLANE_START -73 +#define OPENSPACE_PLANE_END -58 +#define OVER_OPENSPACE_PLANE -57 + +// Turf Planes +#define SPACE_PLANE -43 // Space turfs themselves +#define PLATING_PLANE -44 // Plating + #define DISPOSAL_LAYER 2.1 // Under objects, even when planeswapped + #define PIPES_LAYER 2.2 // Under objects, even when planeswapped + #define WIRES_LAYER 2.3 // Under objects, even when planeswapped + #define ATMOS_LAYER 2.4 // Pipe-like atmos machinery that goes on the floor, like filters. + #define ABOVE_UTILITY 2.5 // Above stuff like pipes and wires +#define TURF_PLANE -45 // Turfs themselves, most flooring + #define ABOVE_TURF_LAYER 2.1 // Snow and such +#define DECAL_PLANE -44 // Permanent decals +#define DIRTY_PLANE -43 // Nonpermanent decals +#define BLOOD_PLANE -42 // Blood is really dirty, but we can do special stuff if we separate it + +// Obj planes +#define OBJ_PLANE -35 + #define HIDING_LAYER 2.6 // Layer at which mobs hide to be under things like tables + #define DOOR_OPEN_LAYER 2.7 // Under all objects if opened. 2.7 due to tables being at 2.6 + #define TABLE_LAYER 2.8 // Just under stuff that wants to be slightly below common objects. + #define UNDER_JUNK_LAYER 2.9 // Things that want to be slightly below common objects + // Turf/Obj layer boundary + #define ABOVE_JUNK_LAYER 3.1 // Things that want to be slightly above common objects + #define DOOR_CLOSED_LAYER 3.1 // Doors when closed + #define WINDOW_LAYER 3.2 // Windows + #define ON_WINDOW_LAYER 3.3 // Ontop of a window + #define SHOWER_OPEN_LAYER 3.4 // Showers when open + // Obj/Mob layer boundary + #define SHOWER_CLOSED_LAYER 4.2 // Should be converted to plane swaps + +// Mob planes +#define MOB_PLANE -25 + #define BELOW_MOB_LAYER 3.9 // Should be converted to plane swaps + #define ABOVE_MOB_LAYER 4.1 // Should be converted to plane swaps + +// Top plane (in the sense that it's the highest in 'the world' and not a UI element) +#define ABOVE_PLANE -10 //////////////////////////////////////////////////////////////////////////////////////// #define PLANE_WORLD 0 // BYOND's default value for plane, the "base plane" //////////////////////////////////////////////////////////////////////////////////////// + //#define AREA_LAYER 1 //For easy recordkeeping; this is a byond define + //#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define - #define DECALS_LAYER 2.01 - #define OVERTURF_LAYER 2.1 - #define DOOR_OPEN_LAYER 2.7 //Under all objects if opened. 2.7 due to tables being at 2.6 + //#define OBJ_LAYER 3 //For easy recordkeeping; this is a byond define - #define DOOR_CLOSED_LAYER 3.1 //Above most items if closed - #define SHOWER_OPEN_LAYER 3.4 - #define BELOW_MOB_LAYER 3.9 + //#define MOB_LAYER 4 //For easy recordkeeping; this is a byond define - #define ABOVE_MOB_LAYER 4.1 - #define SHOWER_CLOSED_LAYER 4.2 - + //#define FLY_LAYER 5 //For easy recordkeeping; this is a byond define - #define LIGHTING_LAYER 11 //Layer that lighting used to be on (now it's on a plane) - #define HUD_LAYER 20 //Above lighting, but below obfuscation. For in-game HUD effects (whereas SCREEN_LAYER is for abstract/OOC things like inventory slots) - #define OBFUSCATION_LAYER 21 //Where images covering the view for eyes are put - #define SCREEN_LAYER 22 //Mob HUD/effects layer + #define HUD_LAYER 20 // Above lighting, but below obfuscation. For in-game HUD effects (whereas SCREEN_LAYER is for abstract/OOC things like inventory slots) + #define SCREEN_LAYER 22 // Mob HUD/effects layer + +#define PLANE_ADMIN1 3 //Purely for shenanigans (below lighting) +#define PLANE_PLANETLIGHTING 4 //Lighting on planets #define PLANE_LIGHTING 5 //Where the lighting (and darkness) lives #define PLANE_LIGHTING_ABOVE 6 //For glowy eyes etc. that shouldn't be affected by darkness @@ -95,8 +125,11 @@ What is the naming convention for planes or layers? #define PLANE_MESONS 30 //Stuff seen with mesons, like open ceilings. This is 30 for downstreams. +#define PLANE_ADMIN2 33 //Purely for shenanigans (above lighting) + //Fullscreen overlays under inventory -#define PLANE_FULLSCREEN 90 //Blindness, mesons, druggy, etc +#define PLANE_FULLSCREEN 90 //Blindness, mesons, druggy, etc + #define OBFUSCATION_LAYER 5 //Where images covering the view for eyes are put #define FULLSCREEN_LAYER 18 #define DAMAGE_LAYER 18.1 #define BLIND_LAYER 18.2 @@ -110,6 +143,8 @@ What is the naming convention for planes or layers? #define LAYER_HUD_ABOVE 4 //Things that reside above items (highlights) #define PLANE_PLAYER_HUD_ITEMS 96 //Separate layer with which to apply colorblindness +#define PLANE_ADMIN3 99 //Purely for shenanigans (above HUD) + ////////////////////////// /atom/proc/hud_layerise() @@ -122,4 +157,4 @@ What is the naming convention for planes or layers? // Check if a mob can "logically" see an atom plane -#define MOB_CAN_SEE_PLANE(M, P) (P == PLANE_WORLD || (P >= OPENSPACE_PLANE_START && P <= OPENSPACE_PLANE_END) || (P in M.planes_visible)) +#define MOB_CAN_SEE_PLANE(M, P) (P <= PLANE_WORLD || (P in M.planes_visible)) diff --git a/code/__defines/atmos.dm b/code/__defines/atmos.dm index bd9175aab19..13964a6f80d 100644 --- a/code/__defines/atmos.dm +++ b/code/__defines/atmos.dm @@ -21,8 +21,6 @@ #define HUMAN_NEEDED_OXYGEN (MOLES_CELLSTANDARD * BREATH_PERCENTAGE * 0.16) #define HUMAN_HEAT_CAPACITY 280000 //J/K For 80kg person -#define SOUND_MINIMUM_PRESSURE 10 - #define PRESSURE_DAMAGE_COEFFICIENT 4 // The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE. #define MAX_HIGH_PRESSURE_DAMAGE 4 // This used to be 20... I got this much random rage for some retarded decision by polymorph?! Polymorph now lies in a pool of blood with a katana jammed in his spleen. ~Errorage --PS: The katana did less than 20 damage to him :( #define LOW_PRESSURE_DAMAGE 2 // The amount of damage someone takes when in a low pressure area. (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value). diff --git a/code/__defines/callbacks.dm b/code/__defines/callbacks.dm new file mode 100644 index 00000000000..126ef1ea1cf --- /dev/null +++ b/code/__defines/callbacks.dm @@ -0,0 +1,4 @@ +#define GLOBAL_PROC "some_magic_bullshit" + +#define CALLBACK new /datum/callback +#define INVOKE_ASYNC world.ImmediateInvokeAsync diff --git a/code/__defines/chemistry.dm b/code/__defines/chemistry.dm index 08131f99bb3..c9b34fc2b6a 100644 --- a/code/__defines/chemistry.dm +++ b/code/__defines/chemistry.dm @@ -27,7 +27,7 @@ #define IS_SLIME 8 #define CE_STABLE "stable" // Inaprovaline -#define CE_ANTIBIOTIC "antibiotic" // Spaceacilin +#define CE_ANTIBIOTIC "antibiotic" // Antibiotics #define CE_BLOODRESTORE "bloodrestore" // Iron/nutriment #define CE_PAINKILLER "painkiller" #define CE_ALCOHOL "alcohol" // Liver filtering @@ -36,6 +36,11 @@ #define REAGENTS_PER_SHEET 20 +// Attached to CE_ANTIBIOTIC +#define ANTIBIO_NORM 1 +#define ANTIBIO_OD 2 +#define ANTIBIO_SUPER 3 + // Chemistry lists. var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") // Increase heart rate. var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "space_drugs", "stoxin") // Decrease heart rate. diff --git a/code/__defines/construction.dm b/code/__defines/construction.dm index 7aceb1ffc45..2bae550a225 100644 --- a/code/__defines/construction.dm +++ b/code/__defines/construction.dm @@ -1,4 +1,6 @@ - +// +// Frame construction +// // Frame construction states #define FRAME_PLACED 0 // Has been placed (can be anchored or not). @@ -16,3 +18,49 @@ // Does the frame get built on the floor or a wall? #define FRAME_STYLE_FLOOR "floor" #define FRAME_STYLE_WALL "wall" + +// +// Pipe Construction +// + +//Construction Orientation Types - Each of these categories has a different selection of how pipes can rotate and flip. Used for RPD. +#define PIPE_STRAIGHT 0 //2 directions: N/S, E/W +#define PIPE_BENDABLE 1 //6 directions: N/S, E/W, N/E, N/W, S/E, S/W +#define PIPE_TRINARY 2 //4 directions: N/E/S, E/S/W, S/W/N, W/N/E +#define PIPE_TRIN_M 3 //8 directions: N->S+E, S->N+E, N->S+W, S->N+W, E->W+S, W->E+S, E->W+N, W->E+N +#define PIPE_DIRECTIONAL 4 //4 directions: N, S, E, W +#define PIPE_ONEDIR 5 //1 direction: N/S/E/W +#define PIPE_UNARY_FLIPPABLE 6 //8 directions: N, S, E, W, N-flipped, S-flipped, E-flipped, W-flipped +#define PIPE_TRIN_T 7 //8 directions: N->S+E, S->N+E, N->S+W, S->N+W, E->W+S, W->E+S, E->W+N, W->E+N + +// Pipe connectivity bit flags +#define CONNECT_TYPE_REGULAR 1 +#define CONNECT_TYPE_SUPPLY 2 +#define CONNECT_TYPE_SCRUBBER 4 +#define CONNECT_TYPE_HE 8 + +// We are based on the three named layers of supply, regular, and scrubber. +#define PIPING_LAYER_SUPPLY 1 +#define PIPING_LAYER_REGULAR 2 +#define PIPING_LAYER_SCRUBBER 3 +#define PIPING_LAYER_DEFAULT PIPING_LAYER_REGULAR + +// We offset the layer values of the different pipe types to ensure they look nice +#define PIPES_SCRUBBER_LAYER (PIPES_LAYER - 0.02) +#define PIPES_SUPPLY_LAYER (PIPES_LAYER - 0.01) +#define PIPES_HE_LAYER (PIPES_LAYER + 0.01) + +// Pipe flags +#define PIPING_ALL_LAYER 1 //intended to connect with all layers, check for all instead of just one. +#define PIPING_ONE_PER_TURF 2 //can only be built if nothing else with this flag is on the tile already. +#define PIPING_DEFAULT_LAYER_ONLY 4 //can only exist at PIPING_LAYER_DEFAULT +#define PIPING_CARDINAL_AUTONORMALIZE 8 //north/south east/west doesn't matter, auto normalize on build. + +// Macro for easy use of boilerplate code for searching for a valid node connection. +#define STANDARD_ATMOS_CHOOSE_NODE(node_num, direction) \ + for(var/obj/machinery/atmospherics/target in get_step(src, direction)) { \ + if(can_be_node(target, node_num)) { \ + node##node_num = target; \ + break; \ + } \ + } diff --git a/code/__defines/items_clothing.dm b/code/__defines/items_clothing.dm index f857a8f232e..637b450df67 100644 --- a/code/__defines/items_clothing.dm +++ b/code/__defines/items_clothing.dm @@ -34,8 +34,9 @@ #define ACCESSORY_SLOT_ARMOR_L "Leg armor" #define ACCESSORY_SLOT_ARMOR_S "Armor storage" #define ACCESSORY_SLOT_ARMOR_M "Misc armor" +#define ACCESSORY_SLOT_HELM_C "Helmet cover" -// Flags bitmasks. +// Flags bitmasks. - Used in /atom/var/flags #define NOBLUDGEON 0x1 // When an item has this it produces no "X has been hit by Y with Z" message with the default handler. #define CONDUCT 0x2 // Conducts electricity. (metal etc.) #define ON_BORDER 0x4 // Item has priority to check when entering or leaving. @@ -44,8 +45,9 @@ #define PHORONGUARD 0x20 // Does not get contaminated by phoron. #define NOREACT 0x40 // Reagents don't react inside this container. #define PROXMOVE 0x80 // Does this object require proximity checking in Enter()? +#define OVERLAY_QUEUED 0x100 // Atom queued to SSoverlay for COMPILE_OVERLAYS -//Flags for items (equipment) +//Flags for items (equipment) - Used in /obj/item/var/item_flags #define THICKMATERIAL 0x1 // Prevents syringes, parapens and hyposprays if equipped to slot_suit or slot_head. #define STOPPRESSUREDAMAGE 0x2 // Counts towards pressure protection. Note that like temperature protection, body_parts_covered is considered here as well. #define AIRTIGHT 0x4 // Functions with internals. @@ -53,13 +55,13 @@ #define BLOCK_GAS_SMOKE_EFFECT 0x10 // Blocks the effect that chemical clouds would have on a mob -- glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL) #define FLEXIBLEMATERIAL 0x20 // At the moment, masks with this flag will not prevent eating even if they are covering your face. -// Flags for pass_flags. +// Flags for pass_flags. - Used in /atom/var/pass_flags #define PASSTABLE 0x1 #define PASSGLASS 0x2 #define PASSGRILLE 0x4 #define PASSBLOB 0x8 -// Bitmasks for the flags_inv variable. These determine when a piece of clothing hides another, i.e. a helmet hiding glasses. +// Bitmasks for the /obj/item/var/flags_inv variable. These determine when a piece of clothing hides another, i.e. a helmet hiding glasses. // WARNING: The following flags apply only to the external suit! #define HIDEGLOVES 0x1 #define HIDESUITSTORAGE 0x2 @@ -78,29 +80,34 @@ #define BLOCKHEADHAIR 0x20 // Hides the user's hair overlay. Leaves facial hair. #define BLOCKHAIR 0x40 // Hides the user's hair, facial and otherwise. -// Slots. -#define slot_back 1 -#define slot_wear_mask 2 -#define slot_handcuffed 3 -#define slot_l_hand 4 -#define slot_r_hand 5 -#define slot_belt 6 -#define slot_wear_id 7 -#define slot_l_ear 8 +// Slots as numbers // +//Hands +#define slot_l_hand 1 +#define slot_r_hand 2 //Some things may reference this, try to keep it here +//Shown unless F12 pressed +#define slot_back 3 +#define slot_belt 4 +#define slot_wear_id 5 +#define slot_s_store 6 +#define slot_l_store 7 +#define slot_r_store 8 //Some things may reference this, try to keep it here +//Shown when inventory unhidden #define slot_glasses 9 -#define slot_gloves 10 -#define slot_head 11 -#define slot_shoes 12 -#define slot_wear_suit 13 -#define slot_w_uniform 14 -#define slot_l_store 15 -#define slot_r_store 16 -#define slot_s_store 17 -#define slot_in_backpack 18 -#define slot_legcuffed 19 -#define slot_r_ear 20 -#define slot_legs 21 -#define slot_tie 22 +#define slot_wear_mask 10 +#define slot_gloves 11 +#define slot_head 12 +#define slot_shoes 13 +#define slot_wear_suit 14 +#define slot_w_uniform 15 +#define slot_l_ear 16 +#define slot_r_ear 17 +//Secret slots +#define slot_legs 18 +#define slot_tie 19 +#define slot_handcuffed 20 +#define slot_legcuffed 21 +#define slot_in_backpack 22 +#define SLOT_TOTAL 22 // Inventory slot strings. // since numbers cannot be used as associative list keys. @@ -111,6 +118,21 @@ #define slot_w_uniform_str "slot_w_uniform" #define slot_head_str "slot_head" #define slot_wear_suit_str "slot_suit" +#define slot_l_ear_str "slot_l_ear" +#define slot_r_ear_str "slot_r_ear" +#define slot_belt_str "slot_belt" +#define slot_shoes_str "slot_shoes" +#define slot_head_str "slot_head" +#define slot_wear_mask_str "slot_wear_mask" +#define slot_handcuffed_str "slot_handcuffed" +#define slot_legcuffed_str "slot_legcuffed" +#define slot_wear_mask_str "slot_wear_mask" +#define slot_wear_id_str "slot_wear_id" +#define slot_gloves_str "slot_gloves" +#define slot_glasses_str "slot_glasses" +#define slot_s_store_str "slot_s_store" +#define slot_tie_str "slot_tie" + // Bitflags for clothing parts. #define HEAD 0x1 diff --git a/code/__defines/lighting.dm b/code/__defines/lighting.dm index 6b05896b8dd..00e473fc2a7 100644 --- a/code/__defines/lighting.dm +++ b/code/__defines/lighting.dm @@ -9,7 +9,6 @@ #define LIGHTING_LAMBERTIAN 0 // use lambertian shading for light sources #define LIGHTING_HEIGHT 1 // height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone -//#define LIGHTING_LAYER 10 // drawing layer for lighting overlays #define LIGHTING_ICON 'icons/effects/lighting_overlay.dmi' // icon used for lighting shading effects #define LIGHTING_ICON_STATE_DARK "soft_dark" // Change between "soft_dark" and "dark" to swap soft darkvision diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm index b577225e010..877982691ee 100644 --- a/code/__defines/machinery.dm +++ b/code/__defines/machinery.dm @@ -53,7 +53,7 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called #define NETWORK_PRISON "Prison" #define NETWORK_SECURITY "Security" #define NETWORK_INTERROGATION "Interrogation" -#define NETWORK_TELECOM "Tcomsat" +#define NETWORK_TELECOM "Tcomms" #define NETWORK_THUNDER "Thunderdome" #define NETWORK_COMMUNICATORS "Communicators" diff --git a/code/__defines/math.dm b/code/__defines/math.dm index 79dc1b4d245..3d64ba6c81d 100644 --- a/code/__defines/math.dm +++ b/code/__defines/math.dm @@ -9,6 +9,10 @@ #define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK)) #define MIDNIGHT_ROLLOVER_CHECK ( rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : midnight_rollovers ) +#define SHORT_REAL_LIMIT 16777216 // 2^24 - Maximum integer that can be exactly represented in a float (BYOND num var) + #define CEILING(x, y) ( -round(-(x) / (y)) * (y) ) // round() acts like floor(x, 1) by default but can't handle other values #define FLOOR(x, y) ( round((x) / (y)) * (y) ) +// Check if a BYOND dir var is a cardinal direction (power of two) +#define IS_CARDINAL(x) ((x & (x - 1)) == 0) diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 6b162504b94..18c8cb1ca71 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -9,7 +9,8 @@ #define CANPARALYSE 0x4 #define CANPUSH 0x8 #define LEAPING 0x10 -#define PASSEMOTES 0x32 // Mob has a cortical borer or holders inside of it that need to see emotes. +#define HIDING 0x20 +#define PASSEMOTES 0x40 // Mob has a cortical borer or holders inside of it that need to see emotes. #define GODMODE 0x1000 #define FAKEDEATH 0x2000 // Replaces stuff like changeling.changeling_fakedeath. #define DISFIGURED 0x4000 // Set but never checked. Remove this sometime and replace occurences with the appropriate organ code @@ -98,9 +99,17 @@ #define INV_R_HAND_DEF_ICON 'icons/mob/items/righthand.dmi' #define INV_W_UNIFORM_DEF_ICON 'icons/mob/uniform.dmi' #define INV_ACCESSORIES_DEF_ICON 'icons/mob/ties.dmi' -#define INV_SUIT_DEF_ICON 'icons/mob/ties.dmi' +#define INV_TIE_DEF_ICON 'icons/mob/ties.dmi' #define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi' -#define MAX_SUPPLIED_LAW_NUMBER 50 +#define INV_WEAR_ID_DEF_ICON 'icons/mob/mob.dmi' +#define INV_GLOVES_DEF_ICON 'icons/mob/hands.dmi' +#define INV_EYES_DEF_ICON 'icons/mob/eyes.dmi' +#define INV_EARS_DEF_ICON 'icons/mob/ears.dmi' +#define INV_FEET_DEF_ICON 'icons/mob/feet.dmi' +#define INV_BELT_DEF_ICON 'icons/mob/belt.dmi' +#define INV_MASK_DEF_ICON 'icons/mob/mask.dmi' +#define INV_HCUFF_DEF_ICON 'icons/mob/mob.dmi' +#define INV_LCUFF_DEF_ICON 'icons/mob/mob.dmi' // Character's economic class #define CLASS_UPPER "Wealthy" @@ -218,6 +227,44 @@ #define FBP_POSI "Positronic" #define FBP_DRONE "Drone" +// 'Regular' species. +#define SPECIES_HUMAN "Human" +#define SPECIES_HUMAN_VATBORN "Vatborn" +#define SPECIES_UNATHI "Unathi" +#define SPECIES_SKRELL "Skrell" +#define SPECIES_TESHARI "Teshari" +#define SPECIES_TAJ "Tajara" +#define SPECIES_PROMETHEAN "Promethean" +#define SPECIES_DIONA "Diona" +#define SPECIES_VOX "Vox" + +// Monkey and alien monkeys. +#define SPECIES_MONKEY "Monkey" +#define SPECIES_MONKEY_TAJ "Farwa" +#define SPECIES_MONKEY_SKRELL "Neaera" +#define SPECIES_MONKEY_UNATHI "Stok" + +// Virtual Reality IDs. +#define SPECIES_VR "Virtual Reality Avatar" +#define SPECIES_VR_HUMAN "Virtual Reality Human" +#define SPECIES_VR_UNATHI "Virtual Reality Unathi" +#define SPECIES_VR_TAJ "Virtual Reality Tajara" // NO CHANGING. +#define SPECIES_VR_SKRELL "Virtual Reality Skrell" +#define SPECIES_VR_TESHARI "Virtual Reality Teshari" +#define SPECIES_VR_DIONA "Virtual Reality Diona" + +// Ayyy IDs. +#define SPECIES_XENO "Xenomorph" +#define SPECIES_XENO_DRONE "Xenomorph Drone" +#define SPECIES_XENO_HUNTER "Xenomorph Hunter" +#define SPECIES_XENO_SENTINEL "Xenomorph Sentinel" +#define SPECIES_XENO_QUEEN "Xenomorph Queen" + +// Misc species. Mostly unused but might as well be complete. +#define SPECIES_SHADOW "Shadow" +#define SPECIES_SKELETON "Skeleton" +#define SPECIES_GOLEM "Golem" + // Used to seperate simple animals by ""intelligence"". #define SA_PLANT 1 #define SA_ANIMAL 2 @@ -255,4 +302,7 @@ #define VIS_MESONS 20 -#define VIS_COUNT 20 //Must be highest number from above. \ No newline at end of file +#define VIS_COUNT 20 //Must be highest number from above. + +//Some mob icon layering defines +#define BODY_LAYER -100 diff --git a/code/__defines/qdel.dm b/code/__defines/qdel.dm index f50c012ce3f..82ec12a2113 100644 --- a/code/__defines/qdel.dm +++ b/code/__defines/qdel.dm @@ -18,5 +18,6 @@ #define GC_QUEUED_FOR_HARD_DEL -2 #define GC_CURRENTLY_BEING_QDELETED -3 +#define QDELING(X) (X.gc_destroyed) #define QDELETED(X) (!X || X.gc_destroyed) #define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) \ No newline at end of file diff --git a/code/__defines/sound.dm b/code/__defines/sound.dm new file mode 100644 index 00000000000..6fae2fadcbd --- /dev/null +++ b/code/__defines/sound.dm @@ -0,0 +1,56 @@ +//max channel is 1024. Only go lower from here, because byond tends to pick the first availiable channel to play sounds on +#define CHANNEL_LOBBYMUSIC 1024 +#define CHANNEL_ADMIN 1023 +#define CHANNEL_VOX 1022 +#define CHANNEL_JUKEBOX 1021 +#define CHANNEL_HEARTBEAT 1020 //sound channel for heartbeats +#define CHANNEL_AMBIENCE_FORCED 1019 +#define CHANNEL_AMBIENCE 1018 +#define CHANNEL_BUZZ 1017 +#define CHANNEL_BICYCLE 1016 + +//THIS SHOULD ALWAYS BE THE LOWEST ONE! +//KEEP IT UPDATED + +#define CHANNEL_HIGHEST_AVAILABLE 1015 + +#define SOUND_MINIMUM_PRESSURE 10 +#define FALLOFF_SOUNDS 0.5 + +//Sound environment defines. Reverb preset for sounds played in an area, see sound datum reference for more. +#define GENERIC 0 +#define PADDED_CELL 1 +#define ROOM 2 +#define BATHROOM 3 +#define LIVINGROOM 4 +#define STONEROOM 5 +#define AUDITORIUM 6 +#define CONCERT_HALL 7 +#define CAVE 8 +#define ARENA 9 +#define HANGAR 10 +#define CARPETED_HALLWAY 11 +#define HALLWAY 12 +#define STONE_CORRIDOR 13 +#define ALLEY 14 +#define FOREST 15 +#define CITY 16 +#define MOUNTAINS 17 +#define QUARRY 18 +#define PLAIN 19 +#define PARKING_LOT 20 +#define SEWER_PIPE 21 +#define UNDERWATER 22 +#define DRUGGED 23 +#define DIZZY 24 +#define PSYCHOTIC 25 + +#define STANDARD_STATION STONEROOM +#define LARGE_ENCLOSED HANGAR +#define SMALL_ENCLOSED BATHROOM +#define TUNNEL_ENCLOSED CAVE +#define LARGE_SOFTFLOOR CARPETED_HALLWAY +#define MEDIUM_SOFTFLOOR LIVINGROOM +#define SMALL_SOFTFLOOR ROOM +#define ASTEROID CAVE +#define SPACE UNDERWATER diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm index 5cfb5f37d02..87f1f9b3ca1 100644 --- a/code/__defines/species_languages.dm +++ b/code/__defines/species_languages.dm @@ -45,6 +45,10 @@ #define LANGUAGE_OCCULT "Occult" #define LANGUAGE_CHANGELING "Changeling" #define LANGUAGE_VOX "Vox-Pidgin" +#define LANGUAGE_TERMINUS "Terminus" +#define LANGUAGE_SKRELLIANFAR "High Skrellian" +#define LANGUAGE_MINBUS "Minbus" +#define LANGUAGE_AKHANI "Akhani" // Language flags. #define WHITELISTED 1 // Language is available if the speaker is whitelisted. diff --git a/code/__defines/stat_tracking.dm b/code/__defines/stat_tracking.dm new file mode 100644 index 00000000000..79337bda5cc --- /dev/null +++ b/code/__defines/stat_tracking.dm @@ -0,0 +1,17 @@ +// +// Defines used for advanced performance profiling of subsystems. +// Currently used only by SSoverlays (2018-02-24 ~Leshana) +// +#define STAT_ENTRY_TIME 1 +#define STAT_ENTRY_COUNT 2 +#define STAT_ENTRY_LENGTH 2 + +#define STAT_START_STOPWATCH var/STAT_STOP_WATCH = TICK_USAGE +#define STAT_STOP_STOPWATCH var/STAT_TIME = TICK_USAGE_TO_MS(STAT_STOP_WATCH) +#define STAT_LOG_ENTRY(entrylist, entryname) \ + var/list/STAT_ENTRY = entrylist[entryname] || (entrylist[entryname] = new /list(STAT_ENTRY_LENGTH));\ + STAT_ENTRY[STAT_ENTRY_TIME] += STAT_TIME;\ + var/STAT_INCR_AMOUNT = min(1, 2**round((STAT_ENTRY[STAT_ENTRY_COUNT] || 0)/SHORT_REAL_LIMIT));\ + if (STAT_INCR_AMOUNT == 1 || prob(100/STAT_INCR_AMOUNT)) {\ + STAT_ENTRY[STAT_ENTRY_COUNT] += STAT_INCR_AMOUNT;\ + };\ diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm index be04fa1d7f3..2e290e50459 100644 --- a/code/__defines/subsystems.dm +++ b/code/__defines/subsystems.dm @@ -1,4 +1,12 @@ +#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize +#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE) +#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE) + +#define INITIALIZE_HINT_NORMAL 0 //Nothing happens +#define INITIALIZE_HINT_LATELOAD 1 //Call LateInitialize +#define INITIALIZE_HINT_QDEL 2 //Call qdel on the atom + // SS runlevels #define RUNLEVEL_INIT 0 // "Initialize Only" - Used for subsystems that should never be fired (Should also have SS_NO_FIRE set) @@ -15,5 +23,40 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G // Subsystem init_order, from highest priority to lowest priority // Subsystems shutdown in the reverse of the order they initialize in // The numbers just define the ordering, they are meaningless otherwise. +#define INIT_ORDER_DECALS 16 +#define INIT_ORDER_ATOMS 15 #define INIT_ORDER_MACHINES 10 +#define INIT_ORDER_SHUTTLES 3 #define INIT_ORDER_LIGHTING 0 +#define INIT_ORDER_AIR -1 +#define INIT_ORDER_OVERLAY -6 +#define INIT_ORDER_XENOARCH -20 + + +// Subsystem fire priority, from lowest to highest priority +// If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) + + #define FIRE_PRIORITY_OVERLAYS 500 + +// Macro defining the actual code applying our overlays lists to the BYOND overlays list. (I guess a macro for speed) +// TODO - I don't really like the location of this macro define. Consider it. ~Leshana +#define COMPILE_OVERLAYS(A)\ + if (TRUE) {\ + var/list/oo = A.our_overlays;\ + var/list/po = A.priority_overlays;\ + if(LAZYLEN(po)){\ + if(LAZYLEN(oo)){\ + A.overlays = oo + po;\ + }\ + else{\ + A.overlays = po;\ + }\ + }\ + else if(LAZYLEN(oo)){\ + A.overlays = oo;\ + }\ + else{\ + A.overlays.Cut();\ + }\ + A.flags &= ~OVERLAY_QUEUED;\ + } diff --git a/code/_away_mission_tests.dm b/code/_away_mission_tests.dm new file mode 100644 index 00000000000..75286fb34e4 --- /dev/null +++ b/code/_away_mission_tests.dm @@ -0,0 +1,10 @@ +/* + * + * This file is used by Travis to indicate that additional maps need to be compiled to look for errors such as missing paths. + * Do not add anything but the AWAY_MISSION_TEST definition here as it will be overwritten by Travis when running tests. + * + * + * Should you wish to edit set AWAY_MISSION_TEST to 1 like so: + * #define AWAY_MISSION_TEST 1 + */ +#define AWAY_MISSION_TEST 0 diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm index 3c050c18191..78c6944075d 100644 --- a/code/_helpers/game.dm +++ b/code/_helpers/game.dm @@ -339,6 +339,23 @@ proc return 1 #undef SIGN +/proc/flick_overlay(image/I, list/show_to, duration, gc_after) + for(var/client/C in show_to) + C.images += I + spawn(duration) + if(gc_after) + qdel(I) + for(var/client/C in show_to) + C.images -= I + +/proc/flick_overlay_view(image/I, atom/target, duration, gc_after) //wrapper for the above, flicks to everyone who can see the target atom + var/list/viewing = list() + for(var/m in viewers(target)) + var/mob/M = m + if(M.client) + viewing += M.client + flick_overlay(I, viewing, duration, gc_after) + proc/isInSight(var/atom/A, var/atom/B) var/turf/Aturf = get_turf(A) var/turf/Bturf = get_turf(B) diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 72937092c4f..95f8dcdbe73 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -31,8 +31,8 @@ var/global/list/turfs = list() //list of all turfs var/global/list/all_species[0] var/global/list/all_languages[0] var/global/list/language_keys[0] // Table of say codes for all languages -var/global/list/whitelisted_species = list("Human") // Species that require a whitelist check. -var/global/list/playable_species = list("Human") // A list of ALL playable species, whitelisted, latejoin or otherwise. +var/global/list/whitelisted_species = list(SPECIES_HUMAN) // Species that require a whitelist check. +var/global/list/playable_species = list(SPECIES_HUMAN) // A list of ALL playable species, whitelisted, latejoin or otherwise. var/list/mannequins_ diff --git a/code/_helpers/icons.dm b/code/_helpers/icons.dm index 8440d3688c7..da4385ef6ff 100644 --- a/code/_helpers/icons.dm +++ b/code/_helpers/icons.dm @@ -634,175 +634,211 @@ as a single icon. Useful for when you want to manipulate an icon via the above a The _flatIcons list is a cache for generated icon files. */ -proc // Creates a single icon from a given /atom or /image. Only the first argument is required. - getFlatIcon(image/A, defdir=2, deficon=null, defstate="", defblend=BLEND_DEFAULT, always_use_defdir = 0, picture_planes = list(PLANE_WORLD)) - // We start with a blank canvas, otherwise some icon procs crash silently - var/icon/flat = icon('icons/effects/effects.dmi', "icon_state"="nothing") // Final flattened icon - if(!A) - return flat - if(A.alpha <= 0) - return flat - var/noIcon = FALSE +// Creates a single icon from a given /atom or /image. Only the first argument is required. +/proc/getFlatIcon(image/A, defdir, deficon, defstate, defblend, start = TRUE, no_anim = FALSE) + // We start with a blank canvas, otherwise some icon procs crash silently + var/icon/flat = icon('icons/effects/effects.dmi', "nothing") // Final flattened icon + if(!A) + return flat + if(A.alpha <= 0) + return flat + var/noIcon = FALSE - var/curicon - if(A.icon) - curicon = A.icon + if(start) + if(!defdir) + defdir = A.dir + if(!deficon) + deficon = A.icon + if(!defstate) + defstate = A.icon_state + if(!defblend) + defblend = A.blend_mode + + var/curicon + if(A.icon) + curicon = A.icon + else + curicon = deficon + + if(!curicon) + noIcon = TRUE // Do not render this object. + + var/curstate + if(A.icon_state) + curstate = A.icon_state + else + curstate = defstate + + if(!noIcon && !(curstate in icon_states(curicon))) + if("" in icon_states(curicon)) + curstate = "" else - curicon = deficon - - if(!curicon) noIcon = TRUE // Do not render this object. - var/curstate - if(A.icon_state) - curstate = A.icon_state - else - curstate = defstate + var/curdir + var/base_icon_dir //We'll use this to get the icon state to display if not null BUT NOT pass it to overlays as the dir we have + + //These should use the parent's direction (most likely) + if(!A.dir || A.dir == SOUTH) + curdir = defdir + else + curdir = A.dir - if(!noIcon && !(curstate in icon_states(curicon))) - if("" in icon_states(curicon)) - curstate = "" - else - noIcon = TRUE // Do not render this object. + //Let's check if the icon actually contains any diagonals, just skip if it's south to save (lot of) time + if(curdir != SOUTH) + var/icon/test_icon + var/directionals_exist = FALSE + var/list/dirs_to_check = cardinal - SOUTH + outer: + for(var/possible_dir in dirs_to_check) + test_icon = icon(curicon,curstate,possible_dir,frame=1) + for(var/x in 1 to world.icon_size) + for(var/y in 1 to world.icon_size) + if(!isnull(test_icon.GetPixel(x,y))) + directionals_exist = TRUE + break outer + if(!directionals_exist) + base_icon_dir = SOUTH + if(!base_icon_dir) + base_icon_dir = curdir - var/curdir - if(A.dir != 2 && !always_use_defdir) - curdir = A.dir - else - curdir = defdir + var/curblend + if(A.blend_mode == BLEND_DEFAULT) + curblend = defblend + else + curblend = A.blend_mode - var/curblend - if(A.blend_mode == BLEND_DEFAULT) - curblend = defblend - else - curblend = A.blend_mode + // Before processing overlays, make sure any pending overlays are applied + if (isloc(A)) + var/atom/aAtom = A + if(aAtom.flags & OVERLAY_QUEUED) + COMPILE_OVERLAYS(aAtom) - // Layers will be a sorted list of icons/overlays, based on the order in which they are displayed - var/list/layers = list() - var/image/copy - // Add the atom's icon itself, without pixel_x/y offsets. - if(!noIcon) - copy = image(icon=curicon, icon_state=curstate, layer=A.layer, dir=curdir) - copy.color = A.color - copy.alpha = A.alpha - copy.blend_mode = curblend - layers[copy] = A.layer - - // Loop through the underlays, then overlays, sorting them into the layers list - var/list/process = A.underlays // Current list being processed - var/pSet=0 // Which list is being processed: 0 = underlays, 1 = overlays - var/curIndex=1 // index of 'current' in list being processed - var/current // Current overlay being sorted - var/currentLayer // Calculated layer that overlay appears on (special case for FLOAT_LAYER) - var/compare // The overlay 'add' is being compared against - var/cmpIndex // The index in the layers list of 'compare' - while(TRUE) - if(curIndex<=process.len) - current = process[curIndex] - if(current) - var/currentPlane = current:plane - if (currentPlane != FLOAT_PLANE && !(currentPlane in picture_planes)) - curIndex++ - continue; - currentLayer = current:layer - if(currentLayer<0) // Special case for FLY_LAYER - if(currentLayer <= -1000) return flat - if(pSet == 0) // Underlay - currentLayer = A.layer+currentLayer/1000 - else // Overlay - currentLayer = A.layer+(1000+currentLayer)/1000 - - // Sort add into layers list - for(cmpIndex=1,cmpIndex<=layers.len,cmpIndex++) - compare = layers[cmpIndex] - if(currentLayer < layers[compare]) // Associated value is the calculated layer - layers.Insert(cmpIndex,current) - layers[current] = currentLayer - break - if(cmpIndex>layers.len) // Reached end of list without inserting - layers[current]=currentLayer // Place at end + // Layers will be a sorted list of icons/overlays, based on the order in which they are displayed + var/list/layers = list() + var/image/copy + // Add the atom's icon itself, without pixel_x/y offsets. + if(!noIcon) + copy = image(icon=curicon, icon_state=curstate, layer=A.layer, dir=base_icon_dir) + copy.color = A.color + copy.alpha = A.alpha + copy.blend_mode = curblend + layers[copy] = A.layer + // Loop through the underlays, then overlays, sorting them into the layers list + var/list/process = A.underlays // Current list being processed + var/pSet=0 // Which list is being processed: 0 = underlays, 1 = overlays + var/curIndex=1 // index of 'current' in list being processed + var/current // Current overlay being sorted + var/currentLayer // Calculated layer that overlay appears on (special case for FLOAT_LAYER) + var/compare // The overlay 'add' is being compared against + var/cmpIndex // The index in the layers list of 'compare' + while(TRUE) + if(curIndex<=process.len) + current = process[curIndex] + if(!current) + curIndex++ //Try the next layer + continue + var/image/I = current + if(I.plane != FLOAT_PLANE && I.plane != A.plane) curIndex++ - else if(pSet == 0) // Switch to overlays + continue + currentLayer = I.layer + if(currentLayer<0) // Special case for FLOAT_LAYER + if(currentLayer <= -1000) + return flat + if(pSet == 0) // Underlay + currentLayer = A.layer+currentLayer/1000 + else // Overlay + currentLayer = A.layer+(1000+currentLayer)/1000 + + // Sort add into layers list + for(cmpIndex=1,cmpIndex<=layers.len,cmpIndex++) + compare = layers[cmpIndex] + if(currentLayer < layers[compare]) // Associated value is the calculated layer + layers.Insert(cmpIndex,current) + layers[current] = currentLayer + break + if(cmpIndex>layers.len) // Reached end of list without inserting + layers[current]=currentLayer // Place at end + + curIndex++ + + if(curIndex>process.len) + if(pSet == 0) // Switch to overlays curIndex = 1 pSet = 1 process = A.overlays else // All done break - var/icon/add // Icon of overlay being added + var/icon/add // Icon of overlay being added - // Current dimensions of flattened icon - var/{flatX1=1;flatX2=flat.Width();flatY1=1;flatY2=flat.Height()} - // Dimensions of overlay being added - var/{addX1;addX2;addY1;addY2} + // Current dimensions of flattened icon + var/flatX1=1 + var/flatX2=flat.Width() + var/flatY1=1 + var/flatY2=flat.Height() + // Dimensions of overlay being added + var/addX1 + var/addX2 + var/addY1 + var/addY2 - for(var/I in layers) + for(var/V in layers) + var/image/I = V + if(I.alpha == 0) + continue - if(I:alpha == 0) - continue + if(I == copy) // 'I' is an /image based on the object being flattened. + curblend = BLEND_OVERLAY + add = icon(I.icon, I.icon_state, base_icon_dir) + else // 'I' is an appearance object. + add = getFlatIcon(new/image(I), curdir, curicon, curstate, curblend, FALSE, no_anim) - if(I == copy) // 'I' is an /image based on the object being flattened. - curblend = BLEND_OVERLAY - add = icon(I:icon, I:icon_state, I:dir) - // This checks for a silent failure mode of the icon routine. If the requested dir - // doesn't exist in this icon state it returns a 32x32 icon with 0 alpha. - if (I:dir != SOUTH && add.Width() == 32 && add.Height() == 32) - // Check every pixel for blank (computationally expensive, but the process is limited - // by the amount of film on the station, only happens when we hit something that's - // turned, and bails at the very first pixel it sees. - var/blankpixel; - for(var/y;y<=32;y++) - for(var/x;x<32;x++) - blankpixel = isnull(add.GetPixel(x,y)) - if(!blankpixel) - break - if(!blankpixel) - break - // If we ALWAYS returned a null (which happens when GetPixel encounters something with alpha 0) - if (blankpixel) - // Pull the default direction. - add = icon(I:icon, I:icon_state) - else // 'I' is an appearance object. - add = getFlatIcon(new/image(I), curdir, curicon, curstate, curblend, picture_planes = picture_planes) + // Find the new dimensions of the flat icon to fit the added overlay + addX1 = min(flatX1, I.pixel_x+1) + addX2 = max(flatX2, I.pixel_x+add.Width()) + addY1 = min(flatY1, I.pixel_y+1) + addY2 = max(flatY2, I.pixel_y+add.Height()) - // Find the new dimensions of the flat icon to fit the added overlay - addX1 = min(flatX1, I:pixel_x+1) - addX2 = max(flatX2, I:pixel_x+add.Width()) - addY1 = min(flatY1, I:pixel_y+1) - addY2 = max(flatY2, I:pixel_y+add.Height()) + if(addX1!=flatX1 || addX2!=flatX2 || addY1!=flatY1 || addY2!=flatY2) + // Resize the flattened icon so the new icon fits + flat.Crop(addX1-flatX1+1, addY1-flatY1+1, addX2-flatX1+1, addY2-flatY1+1) + flatX1=addX1;flatX2=addX2 + flatY1=addY1;flatY2=addY2 - if(addX1!=flatX1 || addX2!=flatX2 || addY1!=flatY1 || addY2!=flatY2) - // Resize the flattened icon so the new icon fits - flat.Crop(addX1-flatX1+1, addY1-flatY1+1, addX2-flatX1+1, addY2-flatY1+1) - flatX1=addX1;flatX2=addX2 - flatY1=addY1;flatY2=addY2 + // Blend the overlay into the flattened icon + flat.Blend(add, blendMode2iconMode(curblend), I.pixel_x + 2 - flatX1, I.pixel_y + 2 - flatY1) - // Blend the overlay into the flattened icon - flat.Blend(add, blendMode2iconMode(curblend), I:pixel_x + 2 - flatX1, I:pixel_y + 2 - flatY1) - - if(A.color) - flat.Blend(A.color, ICON_MULTIPLY) - if(A.alpha < 255) - flat.Blend(rgb(255, 255, 255, A.alpha), ICON_MULTIPLY) + if(A.color) + flat.Blend(A.color, ICON_MULTIPLY) + if(A.alpha < 255) + flat.Blend(rgb(255, 255, 255, A.alpha), ICON_MULTIPLY) + if(no_anim) + //Clean up repeated frames + var/icon/cleaned = new /icon() + cleaned.Insert(flat, "", SOUTH, 1, 0) + return cleaned + else return icon(flat, "", SOUTH) - getIconMask(atom/A)//By yours truly. Creates a dynamic mask for a mob/whatever. /N - var/icon/alpha_mask = new(A.icon,A.icon_state)//So we want the default icon and icon state of A. - for(var/I in A.overlays)//For every image in overlays. var/image/I will not work, don't try it. - if(I:layer>A.layer) continue//If layer is greater than what we need, skip it. - var/icon/image_overlay = new(I:icon,I:icon_state)//Blend only works with icon objects. - //Also, icons cannot directly set icon_state. Slower than changing variables but whatever. - alpha_mask.Blend(image_overlay,ICON_OR)//OR so they are lumped together in a nice overlay. - return alpha_mask//And now return the mask. +/proc/getIconMask(atom/A)//By yours truly. Creates a dynamic mask for a mob/whatever. /N + var/icon/alpha_mask = new(A.icon,A.icon_state)//So we want the default icon and icon state of A. + for(var/I in A.overlays)//For every image in overlays. var/image/I will not work, don't try it. + if(I:layer>A.layer) continue//If layer is greater than what we need, skip it. + var/icon/image_overlay = new(I:icon,I:icon_state)//Blend only works with icon objects. + //Also, icons cannot directly set icon_state. Slower than changing variables but whatever. + alpha_mask.Blend(image_overlay,ICON_OR)//OR so they are lumped together in a nice overlay. + return alpha_mask//And now return the mask. //getFlatIcon but generates an icon that can face ALL four directions. The only four. /proc/getCompoundIcon(atom/A) - var/icon/north = getFlatIcon(A,defdir=NORTH,always_use_defdir=1) - var/icon/south = getFlatIcon(A,defdir=SOUTH,always_use_defdir=1) - var/icon/east = getFlatIcon(A,defdir=EAST,always_use_defdir=1) - var/icon/west = getFlatIcon(A,defdir=WEST,always_use_defdir=1) + var/icon/north = getFlatIcon(A,defdir=NORTH) + var/icon/south = getFlatIcon(A,defdir=SOUTH) + var/icon/east = getFlatIcon(A,defdir=EAST) + var/icon/west = getFlatIcon(A,defdir=WEST) //Starts with a blank icon because of byond bugs. var/icon/full = icon('icons/effects/effects.dmi', "icon_state"="nothing") @@ -817,6 +853,11 @@ proc // Creates a single icon from a given /atom or /image. Only the first argu qdel(west) return full +/proc/downloadImage(atom/A, dir) + var/icon/this_icon = getFlatIcon(A,defdir=dir) + + usr << ftp(this_icon,"[A.name].png") + /mob/proc/AddCamoOverlay(atom/A)//A is the atom which we are using as the overlay. var/icon/opacity_icon = new(A.icon, A.icon_state)//Don't really care for overlays/underlays. //Now we need to culculate overlays+underlays and add them together to form an image for a mask. @@ -881,5 +922,80 @@ proc/sort_atoms_by_layer(var/list/atoms) /proc/gen_hud_image(var/file, var/person, var/state, var/plane) var/image/img = image(file, person, state) img.plane = plane //Thanks Byond. - img.appearance_flags = APPEARANCE_UI|KEEP_APART + img.layer = MOB_LAYER-0.2 + img.appearance_flags = APPEARANCE_UI return img + +/** +* Animate a 'halo' around an object. +* +* This proc is not exactly cheap. You'd be well advised to set up many-loops rather than call this super-often. getCompoundIcon is +* mostly to blame for this. If Byond ever implements a way to get something's icon more 'gently' than this, do that instead. +* +* @param A This is the atom to put the halo on +* @param simple_icons If set to TRUE, will just perform a very basic icon and icon_state steal. DO USE when possible. +* @param color This is the color for the halo +* @param anim_duration This decides how fast (or slow) the animation plays +* @param offset Mysterious variable that determines size of the halo's gap from icon +* @param loops How many times the animation loops +* @param grow_to Relative to the size of the icon, how big the halo grows while fading (don't use negatives for inward halos, use < 1) +* @param pixel_scale If you'd like the halo to use pixel scale or the default 'fuzzy' scale +*/ +/proc/animate_aura(var/atom/A, var/simple_icons, var/color = "#00FF22", var/anim_duration = 5, var/offset = 1, var/loops = 1, var/grow_to = 2, var/pixel_scale = FALSE) + ASSERT(A) + + //Take a guess at this, if they didn't set it + if(isnull(simple_icons)) + if(ismob(A)) + simple_icons = FALSE + else + simple_icons = TRUE + + //Get their icon + var/icon/hole + + if(simple_icons) + hole = icon(A.icon, A.icon_state) + else + hole = getCompoundIcon(A) + + hole.MapColors(0,0,0, 0,0,0, 0,0,0, 1,1,1) //White. + + //Make a bigger version + var/icon/grower = new(hole) + var/orig_width = grower.Width() + var/orig_height = grower.Height() + var/end_width = orig_width+(offset*2) + var/end_height = orig_height+(offset*2) + var/half_diff_width = (end_width-orig_width)*0.5 + var/half_diff_height = (end_height-orig_height)*0.5 + + //Make icon black + grower.SwapColor("#FFFFFF","#000000") //Black. + + //Scale both icons big so we don't have to deal with low-pixel garbage issues + grower.Scale(orig_width*10,orig_height*10) + hole.Scale(orig_width*9,orig_height*9) + + //Blend the hole in + grower.Blend(hole,ICON_OVERLAY, x = ((orig_width*10-orig_width*9)*0.5)+1, y = ((orig_height*10-orig_height*9)*0.5)+1) + + //Swap white to zero alpha + grower.SwapColor("#FFFFFF","#00000000") + + //Color it + grower.SwapColor("#000000",color) + + //Scale it to final height + grower.Scale(end_width,end_height) + + //Flick it onto them + var/image/img = image(grower,A) + if(pixel_scale) + img.appearance_flags |= PIXEL_SCALE + img.pixel_x = half_diff_width*-1 + img.pixel_y = half_diff_height*-1 + flick_overlay_view(img, A, anim_duration*loops, TRUE) + + //Animate it growing + animate(img, alpha = 0, transform = matrix()*grow_to, time = anim_duration, loop = loops) diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm index 57813b01132..6644cc2efee 100644 --- a/code/_helpers/logging.dm +++ b/code/_helpers/logging.dm @@ -25,9 +25,14 @@ if (config.log_admin) diary << "\[[time_stamp()]]ADMIN: [text][log_end]" +/proc/log_adminpm(text, client/source, client/dest) + admin_log.Add(text) + if (config.log_admin) + diary << "\[[time_stamp()]]ADMINPM: [key_name(source)]->[key_name(dest)]: [html_decode(text)][log_end]" + /proc/log_debug(text) if (config.log_debug) - diary << "\[[time_stamp()]]DEBUG: [text][log_end]" + debug_log << "\[[time_stamp()]]DEBUG: [text][log_end]" for(var/client/C in admins) if(C.is_preference_enabled(/datum/client_preference/debug/show_debug_logs)) @@ -41,53 +46,91 @@ if (config.log_vote) diary << "\[[time_stamp()]]VOTE: [text][log_end]" -/proc/log_access(text) +/proc/log_access_in(client/new_client) if (config.log_access) - diary << "\[[time_stamp()]]ACCESS: [text][log_end]" + var/message = "[key_name(new_client)] - IP:[new_client.address] - CID:[new_client.computer_id] - BYOND v[new_client.byond_version]" + diary << "\[[time_stamp()]]ACCESS IN: [message][log_end]" -/proc/log_say(text) +/proc/log_access_out(mob/last_mob) + if (config.log_access) + var/message = "[key_name(last_mob)] - IP:[last_mob.lastKnownIP] - CID:Logged Out - BYOND Logged Out" + diary << "\[[time_stamp()]]ACCESS OUT: [message][log_end]" + +/proc/log_say(text, mob/speaker) if (config.log_say) - diary << "\[[time_stamp()]]SAY: [text][log_end]" + diary << "\[[time_stamp()]]SAY: [speaker.simple_info_line()]: [html_decode(text)][log_end]" -/proc/log_ooc(text) +/proc/log_ooc(text, client/user) if (config.log_ooc) - diary << "\[[time_stamp()]]OOC: [text][log_end]" + diary << "\[[time_stamp()]]OOC: [user.simple_info_line()]: [html_decode(text)][log_end]" -/proc/log_whisper(text) +/proc/log_aooc(text, client/user) + if (config.log_ooc) + diary << "\[[time_stamp()]]AOOC: [user.simple_info_line()]: [html_decode(text)][log_end]" + +/proc/log_looc(text, client/user) + if (config.log_ooc) + diary << "\[[time_stamp()]]LOOC: [user.simple_info_line()]: [html_decode(text)][log_end]" + +/proc/log_whisper(text, mob/speaker) if (config.log_whisper) - diary << "\[[time_stamp()]]WHISPER: [text][log_end]" + diary << "\[[time_stamp()]]WHISPER: [speaker.simple_info_line()]: [html_decode(text)][log_end]" -/proc/log_emote(text) +/proc/log_emote(text, mob/speaker) if (config.log_emote) - diary << "\[[time_stamp()]]EMOTE: [text][log_end]" + diary << "\[[time_stamp()]]EMOTE: [speaker.simple_info_line()]: [html_decode(text)][log_end]" -/proc/log_attack(text) +/proc/log_attack(attacker, defender, message) if (config.log_attack) - diary << "\[[time_stamp()]]ATTACK: [text][log_end]" //Seperate attack logs? Why? FOR THE GLORY OF SATAN! + diary << "\[[time_stamp()]]ATTACK: [attacker] against [defender]: [message][log_end]" -/proc/log_adminsay(text) +/proc/log_adminsay(text, mob/speaker) if (config.log_adminchat) - diary << "\[[time_stamp()]]ADMINSAY: [text][log_end]" + diary << "\[[time_stamp()]]ADMINSAY: [speaker.simple_info_line()]: [html_decode(text)][log_end]" + +/proc/log_modsay(text, mob/speaker) + if (config.log_adminchat) + diary << "\[[time_stamp()]]MODSAY: [speaker.simple_info_line()]: [html_decode(text)][log_end]" + +/proc/log_eventsay(text, mob/speaker) + if (config.log_adminchat) + diary << "\[[time_stamp()]]EVENTSAY: [speaker.simple_info_line()]: [html_decode(text)][log_end]" + +/proc/log_ghostsay(text, mob/speaker) + if (config.log_say) + diary << "\[[time_stamp()]]DEADCHAT: [speaker.simple_info_line()]: [html_decode(text)][log_end]" + +/proc/log_ghostemote(text, mob/speaker) + if (config.log_emote) + diary << "\[[time_stamp()]]DEADEMOTE: [speaker.simple_info_line()]: [html_decode(text)][log_end]" /proc/log_adminwarn(text) if (config.log_adminwarn) - diary << "\[[time_stamp()]]ADMINWARN: [text][log_end]" + diary << "\[[time_stamp()]]ADMINWARN: [html_decode(text)][log_end]" -/proc/log_pda(text) +/proc/log_pda(text, mob/speaker) if (config.log_pda) - diary << "\[[time_stamp()]]PDA: [text][log_end]" + diary << "\[[time_stamp()]]PDA: [speaker.simple_info_line()]: [html_decode(text)][log_end]" /proc/log_to_dd(text) world.log << text //this comes before the config check because it can't possibly runtime if(config.log_world_output) diary << "\[[time_stamp()]]DD_OUTPUT: [text][log_end]" +/proc/log_error(text) + world.log << text + error_log << "\[[time_stamp()]]RUNTIME: [text][log_end]" + /proc/log_misc(text) diary << "\[[time_stamp()]]MISC: [text][log_end]" /proc/log_unit_test(text) world.log << "## UNIT_TEST: [text]" +/proc/report_progress(var/progress_message) + admin_notice("[progress_message]", R_DEBUG) + to_world_log(progress_message) + //pretty print a direction bitflag, can be useful for debugging. /proc/print_dir(var/dir) var/list/comps = list() @@ -101,12 +144,14 @@ return english_list(comps, nothing_text="0", and_text="|", comma_text="|") //more or less a logging utility -/proc/key_name(var/whom, var/include_link = null, var/include_name = 1, var/highlight_special_characters = 1) +//Always return "Something/(Something)", even if it's an error message. +/proc/key_name(var/whom, var/include_link = FALSE, var/include_name = TRUE, var/highlight_special_characters = TRUE) var/mob/M var/client/C var/key - if(!whom) return "*null*" + if(!whom) + return "INVALID/INVALID" if(istype(whom, /client)) C = whom M = C.mob @@ -123,9 +168,11 @@ C = D.current.client else if(istype(whom, /datum)) var/datum/D = whom - return "*invalid:[D.type]*" + return "INVALID/([D.type])" + else if(istext(whom)) + return "AUTOMATED/[whom]" //Just give them the text back else - return "*invalid*" + return "INVALID/INVALID" . = "" @@ -133,7 +180,7 @@ if(include_link && C) . += "" - if(C && C.holder && C.holder.fakekey && !include_name) + if(C && C.holder && C.holder.fakekey) . += "Administrator" else . += key @@ -142,21 +189,20 @@ if(C) . += "" else . += " (DC)" else - . += "*no key*" + . += "INVALID" - if(include_name && M) - var/name + if(include_name) + var/name = "INVALID" + if(M) + if(M.real_name) + name = M.real_name + else if(M.name) + name = M.name - if(M.real_name) - name = M.real_name - else if(M.name) - name = M.name - - - if(include_link && is_special_character(M) && highlight_special_characters) - . += "/([name])" //Orange - else - . += "/([name])" + if(include_link && is_special_character(M) && highlight_special_characters) + name = "[name]" //Orange + + . += "/([name])" return . @@ -183,3 +229,9 @@ if(!istype(d)) return return d.log_info_line() + +/mob/proc/simple_info_line() + return "[key_name(src)] ([x],[y],[z])" + +/client/proc/simple_info_line() + return "[key_name(src)] ([mob.x],[mob.y],[mob.z])" diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index 4bd85ac182b..bc111ccbcbc 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -33,7 +33,7 @@ return mobs -proc/random_hair_style(gender, species = "Human") +proc/random_hair_style(gender, species = SPECIES_HUMAN) var/h_style = "Bald" var/list/valid_hairstyles = list() @@ -52,7 +52,7 @@ proc/random_hair_style(gender, species = "Human") return h_style -proc/random_facial_hair_style(gender, species = "Human") +proc/random_facial_hair_style(gender, species = SPECIES_HUMAN) var/f_style = "Shaved" var/list/valid_facialhairstyles = list() @@ -72,14 +72,14 @@ proc/random_facial_hair_style(gender, species = "Human") return f_style -proc/sanitize_name(name, species = "Human", robot = 0) +proc/sanitize_name(name, species = SPECIES_HUMAN, robot = 0) var/datum/species/current_species if(species) current_species = all_species[species] return current_species ? current_species.sanitize_name(name, robot) : sanitizeName(name, MAX_NAME_LEN, robot) -proc/random_name(gender, species = "Human") +proc/random_name(gender, species = SPECIES_HUMAN) var/datum/species/current_species if(species) @@ -145,13 +145,23 @@ Proc for attack log creation, because really why not 6 is additional information, anything that needs to be added */ -/proc/add_logs(mob/user, mob/target, what_done, var/admin=1, var/object=null, var/addition=null) - if(user && ismob(user)) - user.attack_log += text("\[[time_stamp()]\] Has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") - if(target && ismob(target)) - target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") - if(admin) - log_attack("[user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(ismob(target) && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]") +/proc/add_attack_logs(mob/user, mob/target, what_done, var/admin_notify = TRUE) + if(islist(target)) //Multi-victim adding + var/list/targets = target + for(var/mob/M in targets) + add_attack_logs(user,M,what_done,admin_notify) + return + + var/user_str = key_name(user) + var/target_str = key_name(target) + + if(ismob(user)) + user.attack_log += text("\[[time_stamp()]\] Attacked [target_str]: [what_done]") + if(ismob(target)) + target.attack_log += text("\[[time_stamp()]\] Attacked by [user_str]: [what_done]") + log_attack(user_str,target_str,what_done) + if(admin_notify) + msg_admin_attack("[key_name_admin(user)] vs [target_str]: [what_done]") //checks whether this item is a module of the robot it is located in. /proc/is_robot_module(var/obj/item/thing) @@ -213,6 +223,8 @@ Proc for attack log creation, because really why not /proc/do_after(mob/user, delay, atom/target = null, needhand = 1, progress = 1, var/incapacitation_flags = INCAPACITATION_DEFAULT) if(!user) return 0 + if(!delay) + return 1 //Okay. Done. var/atom/target_loc = null if(target) target_loc = target.loc @@ -248,3 +260,41 @@ Proc for attack log creation, because really why not if (progbar) qdel(progbar) + +/atom/proc/living_mobs(var/range = world.view) + var/list/viewers = oviewers(src,range) + var/list/living = list() + for(var/mob/living/L in viewers) + living += L + + return living + +/atom/proc/human_mobs(var/range = world.view) + var/list/viewers = oviewers(src,range) + var/list/humans = list() + for(var/mob/living/carbon/human/H in viewers) + humans += H + + return humans + +/proc/cached_character_icon(var/mob/desired) + var/cachekey = "\ref[desired][desired.real_name]" + + if(cached_character_icons[cachekey]) + . = cached_character_icons[cachekey] + else + . = getCompoundIcon(desired) + cached_character_icons[cachekey] = . + +/proc/getviewsize(view) + var/viewX + var/viewY + if(isnum(view)) + var/totalviewrange = 1 + 2 * view + viewX = totalviewrange + viewY = totalviewrange + else + var/list/viewrangelist = splittext(view,"x") + viewX = text2num(viewrangelist[1]) + viewY = text2num(viewrangelist[2]) + return list(viewX, viewY) diff --git a/code/_helpers/sorts/comparators.dm b/code/_helpers/sorts/comparators.dm index 58f92513923..7fd07ec7119 100644 --- a/code/_helpers/sorts/comparators.dm +++ b/code/_helpers/sorts/comparators.dm @@ -28,3 +28,17 @@ . = B.failures - A.failures if (!.) . = B.qdels - A.qdels + +// Sorts jobs by department, and then by flag within department +/proc/cmp_job_datums(var/datum/job/a, var/datum/job/b) + . = sorttext(b.department, a.department) + if (. == 0) //Same department, push up if they're a head + . = b.head_position - a.head_position + if (. == 0) //Already in head/nothead spot, sort by name + . = sorttext(b.title, a.title) + +// Sorts entries in a performance stats list. +/proc/cmp_generic_stat_item_time(list/A, list/B) + . = B[STAT_ENTRY_TIME] - A[STAT_ENTRY_TIME] + if (!.) + . = B[STAT_ENTRY_COUNT] - A[STAT_ENTRY_COUNT] diff --git a/code/_helpers/time.dm b/code/_helpers/time.dm index 6dad42e1284..58348761f89 100644 --- a/code/_helpers/time.dm +++ b/code/_helpers/time.dm @@ -58,8 +58,11 @@ var/next_station_date_change = 1 DAY station_date = num2text((text2num(time2text(timeofday, "YYYY"))+544)) + "-" + time2text(timeofday, "MM-DD") return station_date +//ISO 8601 /proc/time_stamp() - return time2text(station_time_in_ticks, "hh:mm:ss") + var/date_portion = time2text(world.timeofday, "YYYY-MM-DD") + var/time_portion = time2text(world.timeofday, "hh:mm:ss") + return "[date_portion]T[time_portion]" /* Returns 1 if it is the selected month and day */ proc/isDay(var/month, var/day) diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index e52cc857c61..41aa04a5c0a 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -509,6 +509,16 @@ Turf and target are seperate in case you want to teleport some distance from a t // mob_list.Add(M) return moblist +// Format a power value in W, kW, MW, or GW. +/proc/DisplayPower(powerused) + if(powerused < 1000) //Less than a kW + return "[powerused] W" + else if(powerused < 1000000) //Less than a MW + return "[round((powerused * 0.001),0.01)] kW" + else if(powerused < 1000000000) //Less than a GW + return "[round((powerused * 0.000001),0.001)] MW" + return "[round((powerused * 0.000000001),0.0001)] GW" + //Forces a variable to be posative /proc/modulus(var/M) if(M >= 0) @@ -790,15 +800,16 @@ proc/GaussRandRound(var/sigma,var/roundto) var/old_dir1 = T.dir var/old_icon_state1 = T.icon_state var/old_icon1 = T.icon - var/old_overlays = T.overlays.Copy() var/old_underlays = T.underlays.Copy() + var/old_decals = T.decals ? T.decals.Copy() : null X = B.ChangeTurf(T.type) X.set_dir(old_dir1) X.icon_state = old_icon_state1 X.icon = old_icon1 - X.overlays = old_overlays + X.copy_overlays(T, TRUE) X.underlays = old_underlays + X.decals = old_decals //Move the air from source to dest var/turf/simulated/ST = T @@ -817,14 +828,15 @@ proc/GaussRandRound(var/sigma,var/roundto) for(var/mob/M in T) if(istype(M, /mob/observer/eye)) continue // If we need to check for more mobs, I'll add a variable M.loc = X + if(istype(M, /mob/living)) + var/mob/living/LM = M + LM.check_shadow() // Need to check their Z-shadow, which is normally done in forceMove(). if(shuttlework) var/turf/simulated/shuttle/SS = T SS.landed_holder.leave_turf() - else if(turftoleave) T.ChangeTurf(turftoleave) - else T.ChangeTurf(get_base_turf_by_area(T)) @@ -1410,4 +1422,51 @@ var/mob/dview/dview_mob = new return USE_FAIL_NOT_IN_USER #undef NOT_FLAG -#undef HAS_FLAG \ No newline at end of file +#undef HAS_FLAG + +// Returns direction-string, rounded to multiples of 22.5, from the first parameter to the second +// N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW +/proc/get_adir(var/turf/A, var/turf/B) + var/degree = Get_Angle(A, B) + switch(round(degree%360, 22.5)) + if(0) + return "North" + if(22.5) + return "North-Northeast" + if(45) + return "Northeast" + if(67.5) + return "East-Northeast" + if(90) + return "East" + if(112.5) + return "East-Southeast" + if(135) + return "Southeast" + if(157.5) + return "South-Southeast" + if(180) + return "South" + if(202.5) + return "South-Southwest" + if(225) + return "Southwest" + if(247.5) + return "West-Southwest" + if(270) + return "West" + if(292.5) + return "West-Northwest" + if(315) + return "Northwest" + if(337.5) + return "North-Northwest" + + + + + + + + + diff --git a/code/_onclick/hud/alien_larva.dm b/code/_onclick/hud/alien_larva.dm index 1f0df801414..2ec9da3b278 100644 --- a/code/_onclick/hud/alien_larva.dm +++ b/code/_onclick/hud/alien_larva.dm @@ -11,7 +11,7 @@ using.icon = 'icons/mob/screen1_alien.dmi' using.icon_state = (mymob.m_intent == "run" ? "running" : "walking") using.screen_loc = ui_acti - using.layer = 20 + using.layer = HUD_LAYER src.adding += using move_intent = using diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 786c7cdd04e..c63519c40f3 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -9,6 +9,7 @@ var/list/global_huds = list( global_hud.whitense, global_hud.vimpaired, global_hud.darkMask, + global_hud.centermarker, global_hud.nvg, global_hud.thermal, global_hud.meson, @@ -27,6 +28,7 @@ var/list/global_huds = list( var/obj/screen/whitense var/list/vimpaired var/list/darkMask + var/obj/screen/centermarker var/obj/screen/darksight var/obj/screen/nvg var/obj/screen/thermal @@ -47,7 +49,6 @@ var/list/global_huds = list( /obj/screen/global_screen screen_loc = ui_entire_screen - layer = 17 plane = PLANE_FULLSCREEN mouse_opacity = 0 @@ -70,7 +71,12 @@ var/list/global_huds = list( darksight.icon = null darksight.screen_loc = "1,1" darksight.plane = PLANE_LIGHTING - darksight.plane = LIGHTING_LAYER + 0.1 + + //Marks the center of the screen, for things like ventcrawl + centermarker = new /obj/screen() + centermarker.icon = 'icons/mob/screen1.dmi' + centermarker.icon_state = "centermarker" + centermarker.screen_loc = "CENTER,CENTER" nvg = setup_overlay("nvg_hud") thermal = setup_overlay("thermal_hud") @@ -117,20 +123,17 @@ var/list/global_huds = list( for(i = 1, i <= 4, i++) O = vimpaired[i] O.icon_state = "dither50" - O.layer = 17 O.plane = PLANE_FULLSCREEN O.mouse_opacity = 0 O = darkMask[i] O.icon_state = "dither50" - O.layer = 17 O.plane = PLANE_FULLSCREEN O.mouse_opacity = 0 for(i = 5, i <= 8, i++) O = darkMask[i] O.icon_state = "black" - O.layer = 17 O.plane = PLANE_FULLSCREEN O.mouse_opacity = 2 @@ -164,6 +167,7 @@ var/list/global_huds = list( var/obj/screen/movable/action_button/hide_toggle/hide_actions_toggle var/action_buttons_hidden = 0 + var/list/slot_info datum/hud/New(mob/owner) mymob = owner diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 83f23930dde..1c903700b00 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -14,6 +14,7 @@ src.adding = list() src.other = list() src.hotkeybuttons = list() //These can be disabled for hotkey users + src.slot_info = list() var/list/hud_elements = list() var/obj/screen/using @@ -33,6 +34,7 @@ inv_box.screen_loc = slot_data["loc"] inv_box.slot_id = slot_data["slot"] inv_box.icon_state = slot_data["state"] + slot_info["[inv_box.slot_id]"] = inv_box.screen_loc if(slot_data["dir"]) inv_box.set_dir(slot_data["dir"]) @@ -75,7 +77,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) - using = new /obj/screen( src ) + using = new /obj/screen() using.name = I_HELP using.icon = ico using.screen_loc = ui_acti @@ -87,7 +89,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) - using = new /obj/screen( src ) + using = new /obj/screen() using.name = I_DISARM using.icon = ico using.screen_loc = ui_acti @@ -99,7 +101,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) - using = new /obj/screen( src ) + using = new /obj/screen() using.name = I_GRAB using.icon = ico using.screen_loc = ui_acti @@ -111,7 +113,7 @@ ico = new(ui_style, "black") ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) - using = new /obj/screen( src ) + using = new /obj/screen() using.name = I_HURT using.icon = ico using.screen_loc = ui_acti @@ -164,9 +166,9 @@ inv_box.slot_id = slot_r_hand inv_box.color = ui_color inv_box.alpha = ui_alpha - src.r_hand_hud_object = inv_box src.adding += inv_box + slot_info["[slot_r_hand]"] = inv_box.screen_loc inv_box = new /obj/screen/inventory/hand() inv_box.hud = src @@ -181,6 +183,7 @@ inv_box.alpha = ui_alpha src.l_hand_hud_object = inv_box src.adding += inv_box + slot_info["[slot_l_hand]"] = inv_box.screen_loc using = new /obj/screen/inventory() using.name = "hand" diff --git a/code/_onclick/hud/other_mobs.dm b/code/_onclick/hud/other_mobs.dm index cab3e3bfca0..f1b9165a264 100644 --- a/code/_onclick/hud/other_mobs.dm +++ b/code/_onclick/hud/other_mobs.dm @@ -11,13 +11,13 @@ blobpwrdisplay.name = "blob power" blobpwrdisplay.icon_state = "block" blobpwrdisplay.screen_loc = ui_health - blobpwrdisplay.layer = 20 + blobpwrdisplay.layer = HUD_LAYER blobhealthdisplay = new /obj/screen() blobhealthdisplay.name = "blob health" blobhealthdisplay.icon_state = "block" blobhealthdisplay.screen_loc = ui_internal - blobhealthdisplay.layer = 20 + blobhealthdisplay.layer = HUD_LAYER mymob.client.screen = list() @@ -36,7 +36,7 @@ using.icon = ui_style using.icon_state = "intent_"+mymob.a_intent using.screen_loc = ui_zonesel - using.layer = 20 + using.layer = HUD_LAYER src.adding += using action_intent = using @@ -50,7 +50,7 @@ using.name = "help" using.icon = ico using.screen_loc = ui_zonesel - using.layer = 21 + using.layer = HUD_LAYER+0.01 src.adding += using help_intent = using @@ -61,7 +61,7 @@ using.name = "disarm" using.icon = ico using.screen_loc = ui_zonesel - using.layer = 21 + using.layer = HUD_LAYER+0.01 src.adding += using disarm_intent = using @@ -72,7 +72,7 @@ using.name = "grab" using.icon = ico using.screen_loc = ui_zonesel - using.layer = 21 + using.layer = HUD_LAYER+0.01 src.adding += using grab_intent = using @@ -83,7 +83,7 @@ using.name = I_HURT using.icon = ico using.screen_loc = ui_zonesel - using.layer = 21 + using.layer = HUD_LAYER+0.01 src.adding += using hurt_intent = using @@ -93,9 +93,12 @@ return -/mob/living/simple_animal/construct/instantiate_hud(var/datum/hud/HUD) - HUD.construct_hud() +/mob/living/simple_animal/construct/instantiate_hud(var/datum/hud/HUD) + ..(HUD) + +// HUD.construct_hud() //Archaic. +/* /datum/hud/proc/construct_hud() var/constructtype @@ -109,30 +112,28 @@ constructtype = "harvester" if(constructtype) - mymob.fire = new /obj/screen() + mymob.fire.icon = 'icons/mob/screen1_construct.dmi' mymob.fire.icon_state = "fire0" mymob.fire.name = "fire" mymob.fire.screen_loc = ui_construct_fire - mymob.healths = new /obj/screen() mymob.healths.icon = 'icons/mob/screen1_construct.dmi' mymob.healths.icon_state = "[constructtype]_health0" mymob.healths.name = "health" mymob.healths.screen_loc = ui_construct_health - mymob.pullin = new /obj/screen() mymob.pullin.icon = 'icons/mob/screen1_construct.dmi' mymob.pullin.icon_state = "pull0" mymob.pullin.name = "pull" mymob.pullin.screen_loc = ui_construct_pull - mymob.zone_sel = new /obj/screen/zone_sel() + mymob.zone_sel.icon = 'icons/mob/screen1_construct.dmi' mymob.zone_sel.overlays.len = 0 mymob.zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]") - mymob.purged = new /obj/screen() + mymob.purged.icon = 'icons/mob/screen1_construct.dmi' mymob.purged.icon_state = "purge0" mymob.purged.name = "purged" @@ -142,3 +143,4 @@ mymob.client.screen += list(mymob.fire, mymob.healths, mymob.pullin, mymob.zone_sel, mymob.purged) mymob.client.screen += mymob.client.void +*/ diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index daaa52e827e..dc414df11f3 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -30,7 +30,7 @@ var/obj/screen/robot_inventory using.alpha = ui_alpha using.icon_state = "radio" using.screen_loc = ui_movi - using.layer = 20 + using.layer = HUD_LAYER src.adding += using //Module select @@ -43,7 +43,7 @@ var/obj/screen/robot_inventory using.alpha = ui_alpha using.icon_state = "inv1" using.screen_loc = ui_inv1 - using.layer = 20 + using.layer = HUD_LAYER src.adding += using mymob:inv1 = using @@ -55,7 +55,7 @@ var/obj/screen/robot_inventory using.alpha = ui_alpha using.icon_state = "inv2" using.screen_loc = ui_inv2 - using.layer = 20 + using.layer = HUD_LAYER src.adding += using mymob:inv2 = using @@ -67,7 +67,7 @@ var/obj/screen/robot_inventory using.alpha = ui_alpha using.icon_state = "inv3" using.screen_loc = ui_inv3 - using.layer = 20 + using.layer = HUD_LAYER src.adding += using mymob:inv3 = using @@ -81,7 +81,7 @@ var/obj/screen/robot_inventory using.alpha = ui_alpha using.icon_state = mymob.a_intent using.screen_loc = ui_acti - using.layer = 20 + using.layer = HUD_LAYER src.adding += using action_intent = using @@ -119,7 +119,7 @@ var/obj/screen/robot_inventory using.icon_state = "panel" using.alpha = ui_alpha using.screen_loc = ui_borg_panel - using.layer = 19 + using.layer = HUD_LAYER-0.01 src.adding += using //Store @@ -276,6 +276,6 @@ var/obj/screen/robot_inventory r.client.screen -= r.robot_modules_background /mob/living/silicon/robot/update_hud() - ..() if(modtype) hands.icon_state = lowertext(modtype) + ..() \ No newline at end of file diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 79e7beb87c2..5c7c07ec25f 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -201,20 +201,22 @@ L.resist() if("mov_intent") - if(iscarbon(usr)) - var/mob/living/carbon/C = usr - if(C.legcuffed) - C << "You are legcuffed! You cannot run until you get [C.legcuffed] removed!" - C.m_intent = "walk" //Just incase - C.hud_used.move_intent.icon_state = "walking" - return 1 - switch(usr.m_intent) + if(isliving(usr)) + if(iscarbon(usr)) + var/mob/living/carbon/C = usr + if(C.legcuffed) + C << "You are legcuffed! You cannot run until you get [C.legcuffed] removed!" + C.m_intent = "walk" //Just incase + C.hud_used.move_intent.icon_state = "walking" + return 1 + var/mob/living/L = usr + switch(L.m_intent) if("run") - usr.m_intent = "walk" - usr.hud_used.move_intent.icon_state = "walking" + L.m_intent = "walk" + L.hud_used.move_intent.icon_state = "walking" if("walk") - usr.m_intent = "run" - usr.hud_used.move_intent.icon_state = "running" + L.m_intent = "run" + L.hud_used.move_intent.icon_state = "running" if("m_intent") if(!usr.m_int) switch(usr.m_intent) @@ -276,7 +278,7 @@ // Rigs are a fucking pain since they keep an air tank in nullspace. if(istype(C.back,/obj/item/weapon/rig)) var/obj/item/weapon/rig/rig = C.back - if(rig.air_supply) + if(rig.air_supply && !rig.offline) from = "in" nicename |= "hardsuit" tankcheck |= rig.air_supply @@ -485,8 +487,6 @@ if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.view_images() - else - return 0 return 1 /obj/screen/inventory/Click() diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 5808fc44984..ae1f81887b3 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -84,9 +84,7 @@ avoid code duplication. This includes items that may sometimes act as a standard M.lastattacker = user if(!no_attack_log) - user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" - msg_admin_attack("[key_name(user)] attacked [key_name(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" ) + add_attack_logs(user,M,"attacked with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])") ///////////////////////// user.setClickCooldown(user.get_attack_speed(src)) diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index a80ff05eac1..729330ddaa3 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -73,27 +73,40 @@ Animals */ /mob/living/simple_animal/UnarmedAttack(var/atom/A, var/proximity) - if(!..()) - return - - if(prob(spattack_prob)) - if(spattack_min_range <= 1) - target_mob = A - SpecialAtkTarget() - target_mob = null - return - - if(melee_damage_upper == 0 && istype(A,/mob/living)) - custom_emote(1,"[friendly] [A]!") + if(!(. = ..())) return setClickCooldown(get_attack_speed()) - if(isliving(A)) - target_mob = A - PunchTarget() - target_mob = null - else - A.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), attacktext) + + if(has_hands && istype(A,/obj) && a_intent != I_HURT) + var/obj/O = A + return O.attack_hand(src) + + switch(a_intent) + if(I_HELP) + if(isliving(A)) + custom_emote(1,"[pick(friendly)] [A]!") + + if(I_HURT) + if(prob(spattack_prob)) + if(spattack_min_range <= 1) + SpecialAtkTarget() + + + else if(melee_damage_upper == 0 && istype(A,/mob/living)) + custom_emote(1,"[pick(friendly)] [A]!") + + + else + DoPunch(A) + + if(I_GRAB) + if(has_hands) + A.attack_hand(src) + + if(I_DISARM) + if(has_hands) + A.attack_hand(src) /mob/living/simple_animal/RangedAttack(var/atom/A) setClickCooldown(get_attack_speed()) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index f08727abf35..26c16804217 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -68,7 +68,7 @@ var/const/tk_maxrange = 15 flags = NOBLUDGEON //item_state = null w_class = ITEMSIZE_NO_CONTAINER - layer = 20 + layer = HUD_LAYER var/last_throw = 0 var/atom/movable/focus = null diff --git a/code/controllers/Processes/Shuttle.dm b/code/controllers/Processes/Shuttle.dm deleted file mode 100644 index a10586d76d9..00000000000 --- a/code/controllers/Processes/Shuttle.dm +++ /dev/null @@ -1,9 +0,0 @@ -/datum/controller/process/Shuttle/setup() - name = "shuttle controller" - schedule_interval = 20 // every 2 seconds - - if(!shuttle_controller) - shuttle_controller = new - -/datum/controller/process/Shuttle/doWork() - shuttle_controller.process() diff --git a/code/controllers/Processes/inactivity.dm b/code/controllers/Processes/inactivity.dm index b1029e0391b..3b118995bfd 100644 --- a/code/controllers/Processes/inactivity.dm +++ b/code/controllers/Processes/inactivity.dm @@ -7,8 +7,30 @@ for(last_object in clients) var/client/C = last_object if(C.is_afk(config.kick_inactive MINUTES)) - if(!istype(C.mob, /mob/observer/dead)) - log_access("AFK: [key_name(C)]") - C << "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected." - del(C) // Don't qdel, cannot override finalize_qdel behaviour for clients. + to_chat(C,"You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.") + var/information + + if(C.mob) + if(ishuman(C.mob)) + var/job + var/mob/living/carbon/human/H = C.mob + var/datum/data/record/R = find_general_record("name", H.real_name) + if(R) + job = R.fields["real_rank"] + if(!job && H.mind) + job = H.mind.assigned_role + if(!job && H.job) + job = H.job + if(job) + information = " while [job]." + + else if(issilicon(C.mob)) + information = " while a silicon." + + var/adminlinks + adminlinks = " (JMP|CRYO)" + + log_and_message_admins("being kicked for AFK[information][adminlinks]", C.mob) + + qdel(C) SCHECK diff --git a/code/controllers/Processes/planet.dm b/code/controllers/Processes/planet.dm index 63c7c8ad531..1559936188a 100644 --- a/code/controllers/Processes/planet.dm +++ b/code/controllers/Processes/planet.dm @@ -47,7 +47,8 @@ var/datum/controller/process/planet/planet_controller = null //Weather style needs redrawing if(P.needs_work & PLANET_PROCESS_WEATHER) P.needs_work &= ~PLANET_PROCESS_WEATHER - var/image/new_overlay = image(icon = P.weather_holder.current_weather.icon, icon_state = P.weather_holder.current_weather.icon_state, layer = LIGHTING_LAYER - 1) + var/image/new_overlay = image(icon = P.weather_holder.current_weather.icon, icon_state = P.weather_holder.current_weather.icon_state) + new_overlay.plane = PLANE_PLANETLIGHTING //Redraw weather icons for(var/T in P.planet_floors) var/turf/simulated/turf = T diff --git a/code/controllers/Processes/scheduler.dm b/code/controllers/Processes/scheduler.dm index 6031f2f4fe9..a2a2f5f925e 100644 --- a/code/controllers/Processes/scheduler.dm +++ b/code/controllers/Processes/scheduler.dm @@ -8,19 +8,21 @@ /datum/controller/process/scheduler/setup() name = "scheduler" - schedule_interval = 3 SECONDS + schedule_interval = 1 SECOND scheduled_tasks = list() scheduler = src /datum/controller/process/scheduler/doWork() + var/world_time = world.time for(last_object in scheduled_tasks) var/datum/scheduled_task/scheduled_task = last_object + if(world_time < scheduled_task.trigger_time) + break // Too early for this one, and therefore too early for all remaining. try - if(world.time > scheduled_task.trigger_time) - unschedule(scheduled_task) - scheduled_task.pre_process() - scheduled_task.process() - scheduled_task.post_process() + unschedule(scheduled_task) + scheduled_task.pre_process() + scheduled_task.process() + scheduled_task.post_process() catch(var/exception/e) catchException(e, last_object) SCHECK @@ -45,7 +47,7 @@ stat(null, "[scheduled_tasks.len] task\s") /datum/controller/process/scheduler/proc/schedule(var/datum/scheduled_task/st) - scheduled_tasks += st + dd_insertObjectList(scheduled_tasks, st) /datum/controller/process/scheduler/proc/unschedule(var/datum/scheduled_task/st) scheduled_tasks -= st @@ -106,6 +108,9 @@ task_after_process_args.Cut() return ..() +/datum/scheduled_task/dd_SortValue() + return trigger_time + /datum/scheduled_task/proc/pre_process() task_triggered_event.raise_event(list(src)) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index d4fada90887..29188647f22 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -212,7 +212,7 @@ var/list/gamemode_cache = list() var/starlight = 0 // Whether space turfs have ambient light or not - var/list/ert_species = list("Human") + var/list/ert_species = list(SPECIES_HUMAN) var/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" @@ -721,7 +721,7 @@ var/list/gamemode_cache = list() if("ert_species") config.ert_species = splittext(value, ";") if(!config.ert_species.len) - config.ert_species += "Human" + config.ert_species += SPECIES_HUMAN if("law_zero") law_zero = value diff --git a/code/controllers/emergency_shuttle_controller.dm b/code/controllers/emergency_shuttle_controller.dm index 7fb3a56c61f..d7a91c9b4ff 100644 --- a/code/controllers/emergency_shuttle_controller.dm +++ b/code/controllers/emergency_shuttle_controller.dm @@ -234,7 +234,8 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle name = "star" var/speed = 10 var/direction = SOUTH - layer = 2 // TURF_LAYER + layer = TURF_LAYER + plane = TURF_PLANE /obj/effect/bgstar/New() ..() diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 3ecb3b7fcbc..961f657b2dc 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -573,14 +573,11 @@ var/datum/controller/master/Master = new() var/datum/controller/subsystem/SS = S SS.StartLoadingMap() - // ZAS might displace objects as the map loads if an air tick is processed mid-load. - air_processing_killed = TRUE map_loading = TRUE /datum/controller/master/StopLoadingMap(var/quiet = TRUE) if(!quiet) admin_notice("Map is finished. Unlocking.", R_DEBUG) - air_processing_killed = FALSE map_loading = FALSE for(var/S in subsystems) var/datum/controller/subsystem/SS = S diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 9129cff96c1..98ca642c828 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -11,7 +11,6 @@ var/global/datum/controller/game_controller/master_controller //Set in world.New var/global/controller_iteration = 0 var/global/last_tick_duration = 0 -var/global/air_processing_killed = 0 var/global/pipe_processing_killed = 0 datum/controller/game_controller @@ -37,22 +36,22 @@ datum/controller/game_controller/New() datum/controller/game_controller/proc/setup() setup_objects() - setupgenetics() - SetupXenoarch() + // setupgenetics() Moved to SSatoms + // SetupXenoarch() - Moved to SSxenoarch transfer_controller = new admin_notice("Initializations complete.", R_DEBUG) -#if UNIT_TEST -#define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed. -#else -#define CHECK_SLEEP_MASTER if(++initialized_objects > 500) { initialized_objects=0;sleep(world.tick_lag); } -#endif +// #if UNIT_TEST +// #define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed. +// #else +// #define CHECK_SLEEP_MASTER if(++initialized_objects > 500) { initialized_objects=0;sleep(world.tick_lag); } +// #endif datum/controller/game_controller/proc/setup_objects() - #if !UNIT_TEST - var/initialized_objects = 0 - #endif + // #if !UNIT_TEST + // var/initialized_objects = 0 + // #endif // Set up antagonists. populate_antag_type_list() @@ -60,6 +59,7 @@ datum/controller/game_controller/proc/setup_objects() //Set up spawn points. populate_spawn_points() +/* admin_notice("Initializing Floor Decals", R_DEBUG) var/list/turfs_with_decals = list() for(var/obj/effect/floor_decal/D in world) @@ -112,3 +112,4 @@ datum/controller/game_controller/proc/setup_objects() if(!QDELETED(lift)) lift.initialize() CHECK_SLEEP_MASTER + */ \ No newline at end of file diff --git a/code/controllers/shuttle_controller.dm b/code/controllers/shuttle_controller.dm deleted file mode 100644 index f68957ddb55..00000000000 --- a/code/controllers/shuttle_controller.dm +++ /dev/null @@ -1,39 +0,0 @@ - -var/global/datum/shuttle_controller/shuttle_controller - - -/datum/shuttle_controller - var/list/shuttles //maps shuttle tags to shuttle datums, so that they can be looked up. - var/list/process_shuttles //simple list of shuttles, for processing - -/datum/shuttle_controller/proc/process() - //process ferry shuttles - for (var/datum/shuttle/shuttle in process_shuttles) - if(istype(shuttle, /datum/shuttle/ferry)) - var/datum/shuttle/ferry/F = shuttle - if(F.process_state || F.always_process) - F.process() - else - shuttle.process() - - -//This is called by gameticker after all the machines and radio frequencies have been properly initialized -/datum/shuttle_controller/proc/setup_shuttle_docks() -// for(var/shuttle_tag in shuttles) -// var/datum/shuttle/shuttle = shuttles[shuttle_tag] - for(var/shuttle_type in subtypesof(/datum/shuttle)) - var/datum/shuttle/shuttle = shuttle_type - if(initial(shuttle.category) == shuttle_type) - continue - shuttle = new shuttle() - shuttle.init_docking_controllers() - shuttle.dock() //makes all shuttles docked to something at round start go into the docked state - - for(var/obj/machinery/embedded_controller/C in machines) - if(istype(C.program, /datum/computer/file/embedded_program/docking)) - C.program.tag = null //clear the tags, 'cause we don't need 'em anymore - -/datum/shuttle_controller/New() - shuttles = list() - process_shuttles = list() - diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index bd9a2aeafbd..437c10424b0 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -166,7 +166,7 @@ - if(can_fire && !(SS_NO_FIRE in flags)) + if(can_fire && !(SS_NO_FIRE & flags)) msg = "[round(cost,1)]ms|[round(tick_usage,1)]%|[round(ticks,0.1)]\t[msg]" else msg = "OFFLINE\t[msg]" diff --git a/code/controllers/subsystems/air.dm b/code/controllers/subsystems/air.dm new file mode 100644 index 00000000000..ef0173c33a4 --- /dev/null +++ b/code/controllers/subsystems/air.dm @@ -0,0 +1,271 @@ +// Air update stages +#define SSAIR_TURFS 1 +#define SSAIR_EDGES 2 +#define SSAIR_FIREZONES 3 +#define SSAIR_HOTSPOTS 4 +#define SSAIR_ZONES 5 +#define SSAIR_DONE 6 + +SUBSYSTEM_DEF(air) + name = "Air" + init_order = INIT_ORDER_AIR + priority = 35 + wait = 2 SECONDS // seconds (We probably can speed this up actually) + flags = SS_BACKGROUND // TODO - Should this really be background? It might be important. + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + var/static/list/part_names = list("turfs", "edges", "fire zones", "hotspots", "zones") + + var/cost_turfs = 0 + var/cost_edges = 0 + var/cost_firezones = 0 + var/cost_hotspots = 0 + var/cost_zones = 0 + + var/list/currentrun = null + var/current_step = null + + // Updating zone tiles requires temporary storage location of self-zone-blocked turfs across resumes. Used only by process_tiles_to_update. + var/list/selfblock_deferred = null + +/datum/controller/subsystem/air/PreInit() + air_master = src + +/datum/controller/subsystem/air/Initialize(timeofday) + report_progress("Processing Geometry...") + + current_cycle = 0 + var/simulated_turf_count = 0 + for(var/turf/simulated/S in world) + simulated_turf_count++ + S.update_air_properties() + CHECK_TICK + + admin_notice({"Geometry initialized in [round(0.1*(REALTIMEOFDAY-timeofday),0.1)] seconds. + +Total Simulated Turfs: [simulated_turf_count] +Total Zones: [zones.len] +Total Edges: [edges.len] +Total Active Edges: [active_edges.len ? "[active_edges.len]" : "None"] +Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count] +"}, R_DEBUG) + + // Note - Baystation settles the air by running for one tick. We prefer to not have active edges. + // Maps should not have active edges on boot. If we've got some, log it so it can get fixed. + if(active_edges.len) + var/list/edge_log = list() + for(var/connection_edge/E in active_edges) + edge_log += "Active Edge [E] ([E.type])" + for(var/turf/T in E.connecting_turfs) + edge_log += "+--- Connecting Turf [T] @ [T.x], [T.y], [T.z]" + log_debug("Active Edges on ZAS Startup\n" + edge_log.Join("\n")) + + ..() + +/datum/controller/subsystem/air/fire(resumed = 0) + var/timer + if(!resumed) + ASSERT(LAZYLEN(currentrun) == 0) // Santity checks to make sure we don't somehow have items left over from last cycle + ASSERT(current_step == null) // Or somehow didn't finish all the steps from last cycle + current_cycle++ // Begin a new air_master cycle! + current_step = SSAIR_TURFS // Start with Step 1 of course + + INTERNAL_PROCESS_STEP(SSAIR_TURFS, TRUE, process_tiles_to_update, cost_turfs, SSAIR_EDGES) + INTERNAL_PROCESS_STEP(SSAIR_EDGES, FALSE, process_active_edges, cost_edges, SSAIR_FIREZONES) + INTERNAL_PROCESS_STEP(SSAIR_FIREZONES, FALSE, process_active_fire_zones, cost_firezones, SSAIR_HOTSPOTS) + INTERNAL_PROCESS_STEP(SSAIR_HOTSPOTS, FALSE, process_active_hotspots, cost_hotspots, SSAIR_ZONES) + INTERNAL_PROCESS_STEP(SSAIR_ZONES, FALSE, process_zones_to_update, cost_zones, SSAIR_DONE) + + // Okay, we're done! Woo! Got thru a whole air_master cycle! + ASSERT(LAZYLEN(currentrun) == 0) // Sanity checks to make sure there are really none left + ASSERT(current_step == SSAIR_DONE) // And that we didn't somehow skip past the last step + currentrun = null + current_step = null + +/datum/controller/subsystem/air/proc/process_tiles_to_update(resumed = 0) + if (!resumed) + // NOT a copy, because we are supposed to drain active turfs each cycle anyway, so just replace with empty list. + // We still use a separate list tho, to ensure we don't process a turf twice during a single cycle! + src.currentrun = tiles_to_update + tiles_to_update = list() + + //defer updating of self-zone-blocked turfs until after all other turfs have been updated. + //this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones + //have valid zones when the self-zone-blocked turfs update. + //This ensures that doorways don't form their own single-turf zones, since doorways are self-zone-blocked and + //can merge with an adjacent zone, whereas zones that are formed on adjacent turfs cannot merge with the doorway. + ASSERT(src.selfblock_deferred == null) // Sanity check to make sure it was not remaining from last cycle somehow. + src.selfblock_deferred = list() + + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + var/list/selfblock_deferred = src.selfblock_deferred + + // Run thru the list, processing non-self-zone-blocked and deferring self-zone-blocked + while(currentrun.len) + var/turf/T = currentrun[currentrun.len] + currentrun.len-- + //check if the turf is self-zone-blocked + if(T.c_airblock(T) & ZONE_BLOCKED) + selfblock_deferred += T + if(MC_TICK_CHECK) + return + else + continue + T.update_air_properties() + T.post_update_air_properties() + T.needs_air_update = 0 + #ifdef ZASDBG + T.overlays -= mark + #endif + if(MC_TICK_CHECK) + return + + ASSERT(LAZYLEN(currentrun) == 0) + + // Run thru the deferred list and processing them + while(selfblock_deferred.len) + var/turf/T = selfblock_deferred[selfblock_deferred.len] + selfblock_deferred.len-- + T.update_air_properties() + T.post_update_air_properties() + T.needs_air_update = 0 + #ifdef ZASDBG + T.overlays -= mark + #endif + if(MC_TICK_CHECK) + return + + ASSERT(LAZYLEN(selfblock_deferred) == 0) + src.selfblock_deferred = null + +/datum/controller/subsystem/air/proc/process_active_edges(resumed = 0) + if (!resumed) + src.currentrun = active_edges.Copy() + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/connection_edge/edge = currentrun[currentrun.len] + currentrun.len-- + if(edge) // TODO - Do we need to check this? Old one didn't, but old one was single-threaded. + edge.tick() + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/air/proc/process_active_fire_zones(resumed = 0) + if (!resumed) + src.currentrun = active_fire_zones.Copy() + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/zone/Z = currentrun[currentrun.len] + currentrun.len-- + if(Z) // TODO - Do we need to check this? Old one didn't, but old one was single-threaded. + Z.process_fire() + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/air/proc/process_active_hotspots(resumed = 0) + if (!resumed) + src.currentrun = active_hotspots.Copy() + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/obj/fire/fire = currentrun[currentrun.len] + currentrun.len-- + if(fire) // TODO - Do we need to check this? Old one didn't, but old one was single-threaded. + fire.process() + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/air/proc/process_zones_to_update(resumed = 0) + if (!resumed) + active_zones = zones_to_update.len // Save how many zones there were to update this cycle (used by some debugging stuff) + if(!zones_to_update.len) + return // Nothing to do here this cycle! + // NOT a copy, because we are supposed to drain active turfs each cycle anyway, so just replace with empty list. + // Blanking the public list means we actually are removing processed ones from the list! Maybe we could we use zones_for_update directly? + // But if we dom any zones added to zones_to_update DURING this step will get processed again during this step. + // I don't know if that actually happens? But if it does, it could lead to an infinate loop. Better preserve original semantics. + src.currentrun = zones_to_update + zones_to_update = list() + + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/zone/zone = currentrun[currentrun.len] + currentrun.len-- + if(zone) // TODO - Do we need to check this? Old one didn't, but old one was single-threaded. + zone.tick() + zone.needs_update = 0 + if(MC_TICK_CHECK) + return + +/datum/controller/subsystem/air/stat_entry(msg_prefix) + var/list/msg = list(msg_prefix) + msg += "S:[current_step ? part_names[current_step] : ""] " + msg += "C:{" + msg += "T [round(cost_turfs, 1)] | " + msg += "E [round(cost_edges, 1)] | " + msg += "F [round(cost_firezones, 1)] | " + msg += "H [round(cost_hotspots, 1)] | " + msg += "Z [round(cost_zones, 1)] " + msg += "}" + msg += "Z: [zones.len] " + msg += "E: [edges.len] " + msg += "Cycle: [current_cycle] {" + msg += "T [tiles_to_update.len] | " + msg += "E [active_edges.len] | " + msg += "F [active_fire_zones.len] | " + msg += "H [active_hotspots.len] | " + msg += "Z [zones_to_update.len] " + msg += "}" + ..(msg.Join()) + +// ZAS might displace objects as the map loads if an air tick is processed mid-load. +/datum/controller/subsystem/air/StartLoadingMap(var/quiet = TRUE) + can_fire = FALSE + . = ..() + +/datum/controller/subsystem/air/StopLoadingMap(var/quiet = TRUE) + can_fire = TRUE + . = ..() + +// Reboot the air master. A bit hacky right now, but sometimes necessary still. +/datum/controller/subsystem/air/proc/RebootZAS() + can_fire = FALSE // Pause processing while we reboot + // If we should happen to be in the middle of processing... wait until that finishes. + if (state != SS_IDLE) + report_progress("ZAS Rebuild initiated. Waiting for current air tick to complete before continuing.") + while (state != SS_IDLE) + stoplag() + + // Invalidate all zones + for(var/zone/zone in zones) + zone.c_invalidate() + + // Reset all the lists + zones.Cut() + edges.Cut() + tiles_to_update.Cut() + zones_to_update.Cut() + active_fire_zones.Cut() + active_hotspots.Cut() + active_edges.Cut() + + // Start it up again + Initialize(REALTIMEOFDAY) + + // Update next_fire so the MC doesn't try to make up for missed ticks. + next_fire = world.time + wait + can_fire = TRUE // Unpause + +// +// The procs from the ZAS Air Controller are in ZAS/Controller.dm +// + +#undef SSAIR_TURFS +#undef SSAIR_EDGES +#undef SSAIR_FIREZONES +#undef SSAIR_HOTSPOTS +#undef SSAIR_ZONES +#undef SSAIR_DONE diff --git a/code/controllers/subsystems/airflow.dm b/code/controllers/subsystems/airflow.dm new file mode 100644 index 00000000000..c98a02a5ced --- /dev/null +++ b/code/controllers/subsystems/airflow.dm @@ -0,0 +1,163 @@ +#define CLEAR_OBJECT(TARGET) \ + processing -= TARGET; \ + TARGET.airflow_dest = null; \ + TARGET.airflow_speed = 0; \ + TARGET.airflow_time = 0; \ + TARGET.airflow_skip_speedcheck = FALSE; \ + if (TARGET.airflow_od) { \ + TARGET.density = 0; \ + } + +// No point in making this a processing substem, it overrides fire() and handles its own processing list! +SUBSYSTEM_DEF(airflow) + name = "Airflow" + wait = 2 + flags = SS_NO_INIT + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + priority = 30 + + var/list/processing = list() + var/list/currentrun = list() + +/datum/controller/subsystem/airflow/fire(resumed = FALSE) + if (!resumed) + currentrun = processing.Copy() + + var/mywait = wait + var/list/curr = currentrun // Cache for sanic speed + while (curr.len) + var/atom/movable/target = curr[curr.len] + curr.len-- + if(QDELETED(target)) + processing -= target + if (MC_TICK_CHECK) + return + continue + + if (target.airflow_speed <= 0) + CLEAR_OBJECT(target) + if (MC_TICK_CHECK) + return + continue + + if (target.airflow_process_delay > 0) + target.airflow_process_delay -= mywait + if (MC_TICK_CHECK) + return + continue + else if (target.airflow_process_delay) + target.airflow_process_delay = 0 + + target.airflow_speed = min(target.airflow_speed, 15) + target.airflow_speed -= vsc.airflow_speed_decay + if (!target.airflow_skip_speedcheck) + if (target.airflow_speed > 7) + if (target.airflow_time++ >= target.airflow_speed - 7) + if (target.airflow_od) + target.density = 0 + target.airflow_skip_speedcheck = TRUE + + if (MC_TICK_CHECK) + return + continue + else + if (target.airflow_od) + target.density = 0 + target.airflow_process_delay = max(1, 10 - (target.airflow_speed + 3)) + target.airflow_skip_speedcheck = TRUE + + if (MC_TICK_CHECK) + return + continue + + target.airflow_skip_speedcheck = FALSE + + if (target.airflow_od) + target.density = 1 + + if (!target.airflow_dest || target.loc == target.airflow_dest) + target.airflow_dest = locate(min(max(target.x + target.airflow_xo, 1), world.maxx), min(max(target.y + target.airflow_yo, 1), world.maxy), target.z) + + if ((target.x == 1) || (target.x == world.maxx) || (target.y == 1) || (target.y == world.maxy)) + CLEAR_OBJECT(target) + if (MC_TICK_CHECK) + return + continue + + if (!isturf(target.loc)) + CLEAR_OBJECT(target) + if (MC_TICK_CHECK) + return + continue + + step_towards(target, target.airflow_dest) + var/mob/M = target + if (ismob(target) && M.client) + M.setMoveCooldown(vsc.airflow_mob_slowdown) + + if (MC_TICK_CHECK) + return + +#undef CLEAR_OBJECT + +/atom/movable + var/tmp/airflow_xo + var/tmp/airflow_yo + var/tmp/airflow_od + var/tmp/airflow_process_delay + var/tmp/airflow_skip_speedcheck + +/atom/movable/proc/prepare_airflow(n) + if (!airflow_dest || airflow_speed < 0 || last_airflow > world.time - vsc.airflow_delay) + return FALSE + if (airflow_speed) + airflow_speed = n / max(get_dist(src, airflow_dest), 1) + return FALSE + + if (airflow_dest == loc) + step_away(src, loc) + + if (!src.AirflowCanMove(n)) + return FALSE + + if (ismob(src)) + to_chat(src,"You are pushed away by airflow!") + + last_airflow = world.time + var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2) + + if (airflow_falloff < 1) + airflow_dest = null + return FALSE + + airflow_speed = min(max(n * (9 / airflow_falloff), 1), 9) + + airflow_od = 0 + + if (!density) + density = 1 + airflow_od = 1 + + return TRUE + +/atom/movable/proc/GotoAirflowDest(n) + if (!prepare_airflow(n)) + return + + airflow_xo = airflow_dest.x - src.x + airflow_yo = airflow_dest.y - src.y + + airflow_dest = null + + SSairflow.processing += src + +/atom/movable/proc/RepelAirflowDest(n) + if (!prepare_airflow(n)) + return + + airflow_xo = -(airflow_dest.x - src.x) + airflow_yo = -(airflow_dest.y - src.y) + + airflow_dest = null + + SSairflow.processing += src diff --git a/code/controllers/subsystems/atoms.dm b/code/controllers/subsystems/atoms.dm new file mode 100644 index 00000000000..5b09b186bbe --- /dev/null +++ b/code/controllers/subsystems/atoms.dm @@ -0,0 +1,143 @@ +#define BAD_INIT_QDEL_BEFORE 1 +#define BAD_INIT_DIDNT_INIT 2 +#define BAD_INIT_SLEPT 4 +#define BAD_INIT_NO_HINT 8 + +SUBSYSTEM_DEF(atoms) + name = "Atoms" + init_order = INIT_ORDER_ATOMS + flags = SS_NO_FIRE + + var/initialized = INITIALIZATION_INSSATOMS + // var/list/created_atoms // This is never used, so don't bother. ~Leshana + var/old_initialized + + var/list/late_loaders + var/list/created_atoms + + var/list/BadInitializeCalls = list() + +/datum/controller/subsystem/atoms/Initialize(timeofday) + setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations. + initialized = INITIALIZATION_INNEW_MAPLOAD + to_world_log("Initializing objects") + admin_notice("Initializing objects", R_DEBUG) + InitializeAtoms() + return ..() + +/datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms) + if(initialized == INITIALIZATION_INSSATOMS) + return + + initialized = INITIALIZATION_INNEW_MAPLOAD + + LAZYINITLIST(late_loaders) + + var/count + var/list/mapload_arg = list(TRUE) + if(atoms) + created_atoms = list() + count = atoms.len + for(var/I in atoms) + var/atom/A = I + if(!A.initialized) + if(InitAtom(I, mapload_arg)) + atoms -= I + CHECK_TICK + else + count = 0 + for(var/atom/A in world) + if(!A.initialized) + InitAtom(A, mapload_arg) + ++count + CHECK_TICK + + log_world("Initialized [count] atoms") + + initialized = INITIALIZATION_INNEW_REGULAR + + if(late_loaders.len) + for(var/I in late_loaders) + var/atom/A = I + A.LateInitialize() + CHECK_TICK + testing("Late initialized [late_loaders.len] atoms") + late_loaders.Cut() + + // Nothing ever checks return value of this proc, so don't bother. If this ever changes fix code in /atom/New() ~Leshana + // if(atoms) + // . = created_atoms + atoms + // created_atoms = null + +/datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments) + var/the_type = A.type + if(QDELING(A)) + BadInitializeCalls[the_type] |= BAD_INIT_QDEL_BEFORE + return TRUE + + var/start_tick = world.time + + var/result = A.initialize(arglist(arguments)) + + if(start_tick != world.time) + BadInitializeCalls[the_type] |= BAD_INIT_SLEPT + + var/qdeleted = FALSE + + if(result != INITIALIZE_HINT_NORMAL) + switch(result) + if(INITIALIZE_HINT_LATELOAD) + if(arguments[1]) //mapload + late_loaders += A + else + A.LateInitialize() + if(INITIALIZE_HINT_QDEL) + qdel(A) + qdeleted = TRUE + else + BadInitializeCalls[the_type] |= BAD_INIT_NO_HINT + + if(!A) //possible harddel + qdeleted = TRUE + else if(!A.initialized) + BadInitializeCalls[the_type] |= BAD_INIT_DIDNT_INIT + + return qdeleted || QDELING(A) + +/datum/controller/subsystem/atoms/proc/map_loader_begin() + old_initialized = initialized + initialized = INITIALIZATION_INSSATOMS + +/datum/controller/subsystem/atoms/proc/map_loader_stop() + initialized = old_initialized + +/datum/controller/subsystem/atoms/Recover() + initialized = SSatoms.initialized + if(initialized == INITIALIZATION_INNEW_MAPLOAD) + InitializeAtoms() + old_initialized = SSatoms.old_initialized + BadInitializeCalls = SSatoms.BadInitializeCalls + +/datum/controller/subsystem/atoms/proc/InitLog() + . = "" + for(var/path in BadInitializeCalls) + . += "Path : [path] \n" + var/fails = BadInitializeCalls[path] + if(fails & BAD_INIT_DIDNT_INIT) + . += "- Didn't call atom/Initialize()\n" + if(fails & BAD_INIT_NO_HINT) + . += "- Didn't return an Initialize hint\n" + if(fails & BAD_INIT_QDEL_BEFORE) + . += "- Qdel'd in New()\n" + if(fails & BAD_INIT_SLEPT) + . += "- Slept during Initialize()\n" + +/datum/controller/subsystem/atoms/Shutdown() + var/initlog = InitLog() + if(initlog) + text2file(initlog, "[log_path]-initialize.log") + +#undef BAD_INIT_QDEL_BEFORE +#undef BAD_INIT_DIDNT_INIT +#undef BAD_INIT_SLEPT +#undef BAD_INIT_NO_HINT diff --git a/code/controllers/subsystems/garbage.dm b/code/controllers/subsystems/garbage.dm index 1ff49edba29..b4d43a8d3fd 100644 --- a/code/controllers/subsystems/garbage.dm +++ b/code/controllers/subsystems/garbage.dm @@ -81,7 +81,7 @@ SUBSYSTEM_DEF(garbage) dellog += "\tIgnored force: [I.no_respect_force] times" if (I.no_hint) dellog += "\tNo hint: [I.no_hint] times" - log_misc(dellog.Join()) + text2file(dellog.Join(), "[log_path]-qdel.log") /datum/controller/subsystem/garbage/fire() //the fact that this resets its processing each fire (rather then resume where it left off) is intentional. @@ -169,7 +169,12 @@ SUBSYSTEM_DEF(garbage) #endif var/type = D.type var/datum/qdel_item/I = items[type] - testing("GC: -- \ref[D] | [type] was unable to be GC'd --") + var/extrainfo = "--" + if(istype(D,/image)) + var/image/img = D + var/icon/ico = img.icon + extrainfo = "L:[img.loc] -- I:[ico] -- IS:[img.icon_state] --" + testing("GC: -- \ref[D] | [type] was unable to be GC'd [extrainfo]") I.failures++ if (GC_QUEUE_HARDDELETE) HardDelete(D) @@ -442,4 +447,5 @@ SUBSYSTEM_DEF(garbage) /image/Destroy() ..() - return QDEL_HINT_HARDDEL_NOW + loc = null + return QDEL_HINT_QUEUE diff --git a/code/controllers/subsystems/machines.dm b/code/controllers/subsystems/machines.dm index 77385440247..f8c353c43d1 100644 --- a/code/controllers/subsystems/machines.dm +++ b/code/controllers/subsystems/machines.dm @@ -33,8 +33,9 @@ SUBSYSTEM_DEF(machines) var/list/current_run = list() /datum/controller/subsystem/machines/Initialize(timeofday) - SSmachines.makepowernets() - // TODO - Move world-creation time setup of atmos machinery and pipenets to here + makepowernets() + admin_notice("Initializing atmos machinery.", R_DEBUG) + setup_atmos_machinery(global.machines) fire() ..() @@ -53,13 +54,33 @@ SUBSYSTEM_DEF(machines) for(var/datum/powernet/PN in powernets) qdel(PN) powernets.Cut() + setup_powernets_for_cables(cable_list) - for(var/obj/structure/cable/PC in cable_list) +/datum/controller/subsystem/machines/proc/setup_powernets_for_cables(list/cables) + for(var/obj/structure/cable/PC in cables) if(!PC.powernet) var/datum/powernet/NewPN = new() NewPN.add_cable(PC) propagate_network(PC,PC.powernet) +/datum/controller/subsystem/machines/proc/setup_atmos_machinery(list/atmos_machines) + for(var/obj/machinery/atmospherics/machine in atmos_machines) + machine.atmos_init() + CHECK_TICK + + for(var/obj/machinery/atmospherics/machine in atmos_machines) + machine.build_network() + CHECK_TICK + + for(var/obj/machinery/atmospherics/unary/U in atmos_machines) + if(istype(U, /obj/machinery/atmospherics/unary/vent_pump)) + var/obj/machinery/atmospherics/unary/vent_pump/T = U + T.broadcast_status() + else if(istype(U, /obj/machinery/atmospherics/unary/vent_scrubber)) + var/obj/machinery/atmospherics/unary/vent_scrubber/T = U + T.broadcast_status() + CHECK_TICK + /datum/controller/subsystem/machines/stat_entry() var/msg = list() msg += "C:{" diff --git a/code/controllers/subsystems/overlays.dm b/code/controllers/subsystems/overlays.dm new file mode 100644 index 00000000000..5c8b3531c9c --- /dev/null +++ b/code/controllers/subsystems/overlays.dm @@ -0,0 +1,255 @@ +SUBSYSTEM_DEF(overlays) + name = "Overlay" + flags = SS_TICKER + wait = 1 + priority = FIRE_PRIORITY_OVERLAYS + init_order = INIT_ORDER_OVERLAY + + var/initialized = FALSE + var/list/queue // Queue of atoms needing overlay compiling (TODO-VERIFY!) + var/list/stats + var/list/overlay_icon_state_caches // Cache thing + var/list/overlay_icon_cache // Cache thing + +var/global/image/stringbro = new() // Temporarily super-global because of BYOND init order dumbness. +var/global/image/iconbro = new() // Temporarily super-global because of BYOND init order dumbness. +var/global/image/appearance_bro = new() // Temporarily super-global because of BYOND init order dumbness. + +/datum/controller/subsystem/overlays/PreInit() + overlay_icon_state_caches = list() + overlay_icon_cache = list() + queue = list() + stats = list() + +/datum/controller/subsystem/overlays/Initialize() + initialized = TRUE + fire(mc_check = FALSE) + ..() + +/datum/controller/subsystem/overlays/stat_entry() + ..("Ov:[length(queue)]") + + +/datum/controller/subsystem/overlays/Shutdown() + text2file(render_stats(stats), "[log_path]-overlay.log") + +/datum/controller/subsystem/overlays/Recover() + overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches + overlay_icon_cache = SSoverlays.overlay_icon_cache + queue = SSoverlays.queue + + +/datum/controller/subsystem/overlays/fire(resumed = FALSE, mc_check = TRUE) + var/list/queue = src.queue + var/static/count = 0 + if (count) + var/c = count + count = 0 //so if we runtime on the Cut, we don't try again. + queue.Cut(1,c+1) + + for (var/thing in queue) + count++ + if(thing) + STAT_START_STOPWATCH + var/atom/A = thing + COMPILE_OVERLAYS(A) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(stats, A.type) + if(mc_check) + if(MC_TICK_CHECK) + break + else + CHECK_TICK + + if (count) + queue.Cut(1,count+1) + count = 0 + +/proc/iconstate2appearance(icon, iconstate) + // var/static/image/stringbro = new() // Moved to be superglobal due to BYOND insane init order stupidness. + var/list/icon_states_cache = SSoverlays.overlay_icon_state_caches + var/list/cached_icon = icon_states_cache[icon] + if (cached_icon) + var/cached_appearance = cached_icon["[iconstate]"] + if (cached_appearance) + return cached_appearance + stringbro.icon = icon + stringbro.icon_state = iconstate + if (!cached_icon) //not using the macro to save an associated lookup + cached_icon = list() + icon_states_cache[icon] = cached_icon + var/cached_appearance = stringbro.appearance + cached_icon["[iconstate]"] = cached_appearance + return cached_appearance + +/proc/icon2appearance(icon) + // var/static/image/iconbro = new() // Moved to be superglobal due to BYOND insane init order stupidness. + var/list/icon_cache = SSoverlays.overlay_icon_cache + . = icon_cache[icon] + if (!.) + iconbro.icon = icon + . = iconbro.appearance + icon_cache[icon] = . + +/atom/proc/build_appearance_list(old_overlays) + // var/static/image/appearance_bro = new() // Moved to be superglobal due to BYOND insane init order stupidness. + var/list/new_overlays = list() + if (!islist(old_overlays)) + old_overlays = list(old_overlays) + for (var/overlay in old_overlays) + if(!overlay) + continue + if (istext(overlay)) + new_overlays += iconstate2appearance(icon, overlay) + else if(isicon(overlay)) + new_overlays += icon2appearance(overlay) + else + if(isloc(overlay)) + var/atom/A = overlay + if (A.flags & OVERLAY_QUEUED) + COMPILE_OVERLAYS(A) + appearance_bro.appearance = overlay //this works for images and atoms too! + if(!ispath(overlay)) + var/image/I = overlay + appearance_bro.dir = I.dir + new_overlays += appearance_bro.appearance + return new_overlays + +#define NOT_QUEUED_ALREADY (!(flags & OVERLAY_QUEUED)) +#define QUEUE_FOR_COMPILE flags |= OVERLAY_QUEUED; SSoverlays.queue += src; + +/** + * Cut all of atom's normal overlays. Usually leaves "priority" overlays untouched. + * + * @param priority If true, also will cut priority overlays. + */ +/atom/proc/cut_overlays(priority = FALSE) + var/list/cached_overlays = our_overlays + var/list/cached_priority = priority_overlays + + var/need_compile = FALSE + + if(LAZYLEN(cached_overlays)) //don't queue empty lists, don't cut priority overlays + cached_overlays.Cut() //clear regular overlays + need_compile = TRUE + + if(priority && LAZYLEN(cached_priority)) + cached_priority.Cut() + need_compile = TRUE + + if(NOT_QUEUED_ALREADY && need_compile) + QUEUE_FOR_COMPILE + +/** + * Removes specific overlay(s) from the atom. Usually does not remove them from "priority" overlays. + * + * @param overlays The overlays to removed, type can be anything that is allowed for add_overlay(). + * @param priority If true, also will remove them from the "priority" overlays. + */ +/atom/proc/cut_overlay(list/overlays, priority) + if(!overlays) + return + + overlays = build_appearance_list(overlays) + + var/list/cached_overlays = our_overlays //sanic + var/list/cached_priority = priority_overlays + var/init_o_len = LAZYLEN(cached_overlays) + var/init_p_len = LAZYLEN(cached_priority) //starter pokemon + + LAZYREMOVE(cached_overlays, overlays) + if(priority) + LAZYREMOVE(cached_priority, overlays) + + if(NOT_QUEUED_ALREADY && ((init_o_len != LAZYLEN(cached_overlays)) || (init_p_len != LAZYLEN(cached_priority)))) + QUEUE_FOR_COMPILE + +/** + * Adds specific overlay(s) to the atom. + * It is designed so any of the types allowed to be added to /atom/overlays can be added here too. More details below. + * + * @param overlays The overlay(s) to add. These may be + * - A string: In which case it is treated as an icon_state of the atom's icon. + * - An icon: It is treated as an icon. + * - An atom: Its own overlays are compiled and then it's appearance is added. (Meaning its current apperance is frozen). + * - An image: Image's apperance is added (i.e. subsequently editing the image will not edit the overlay) + * - A type path: Added to overlays as is. Does whatever it is BYOND does when you add paths to overlays. + * - Or a list containing any of the above. + * @param priority The overlays are added to the "priority" list istead of the normal one. + */ +/atom/proc/add_overlay(list/overlays, priority = FALSE) + if(!overlays) + return + + overlays = build_appearance_list(overlays) + + LAZYINITLIST(our_overlays) //always initialized after this point + LAZYINITLIST(priority_overlays) + + var/list/cached_overlays = our_overlays //sanic + var/list/cached_priority = priority_overlays + var/init_o_len = cached_overlays.len + var/init_p_len = cached_priority.len //starter pokemon + var/need_compile + + if(priority) + cached_priority += overlays //or in the image. Can we use [image] = image? + need_compile = init_p_len != cached_priority.len + else + cached_overlays += overlays + need_compile = init_o_len != cached_overlays.len + + if(NOT_QUEUED_ALREADY && need_compile) //have we caught more pokemon? + QUEUE_FOR_COMPILE + +/** + * Copy the overlays from another atom, either replacing all of ours or appending to our existing overlays. + * Note: This copies only the normal overlays, not the "priority" overlays. + * + * @param other The atom to copy overlays from. + * @param cut_old If true, all of our overlays will be *replaced* by the other's. If other is null, that means cutting all ours. + */ +/atom/proc/copy_overlays(atom/other, cut_old) //copys our_overlays from another atom + if(!other) + if(cut_old) + cut_overlays() + return + + var/list/cached_other = other.our_overlays + if(cached_other) + if(cut_old || !LAZYLEN(our_overlays)) + our_overlays = cached_other.Copy() + else + our_overlays |= cached_other + if(NOT_QUEUED_ALREADY) + QUEUE_FOR_COMPILE + else if(cut_old) + cut_overlays() + +#undef NOT_QUEUED_ALREADY +#undef QUEUE_FOR_COMPILE + +//TODO: Better solution for these? +/image/proc/add_overlay(x) + overlays += x + +/image/proc/cut_overlay(x) + overlays -= x + +/image/proc/cut_overlays(x) + overlays.Cut() + +/image/proc/copy_overlays(atom/other, cut_old) + if(!other) + if(cut_old) + cut_overlays() + return + + var/list/cached_other = other.our_overlays + if(cached_other) + if(cut_old || !overlays.len) + overlays = cached_other.Copy() + else + overlays |= cached_other + else if(cut_old) + cut_overlays() diff --git a/code/controllers/subsystems/shuttles.dm b/code/controllers/subsystems/shuttles.dm new file mode 100644 index 00000000000..8751e0ffd71 --- /dev/null +++ b/code/controllers/subsystems/shuttles.dm @@ -0,0 +1,83 @@ +// +// SSshuttles subsystem - Handles initialization and processing of shuttles. +// + +// This global variable exists for legacy support so we don't have to rename every shuttle_controller to SSshuttles yet. +var/global/datum/controller/subsystem/shuttles/shuttle_controller + +SUBSYSTEM_DEF(shuttles) + name = "Shuttles" + wait = 2 SECONDS + priority = 5 + init_order = INIT_ORDER_SHUTTLES + flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK + runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME + + var/list/shuttles = list() // Maps shuttle tags to shuttle datums, so that they can be looked up. + var/list/process_shuttles = list() // Simple list of shuttles, for processing + var/list/current_run = list() // Shuttles remaining to process this fire() tick + var/list/docks_init_callbacks // List of callbacks to run when we finish setting up shuttle docks. + var/docks_initialized = FALSE + +/datum/controller/subsystem/shuttles/Initialize(timeofday) + global.shuttle_controller = src + setup_shuttle_docks() + for(var/I in docks_init_callbacks) + var/datum/callback/cb = I + cb.InvokeAsync() + LAZYCLEARLIST(docks_init_callbacks) + docks_init_callbacks = null + return ..() + +/datum/controller/subsystem/shuttles/fire(resumed = 0) + do_process_shuttles(resumed) + +/datum/controller/subsystem/shuttles/stat_entry() + var/msg = list() + msg += "AS:[shuttles.len]|" + msg += "PS:[process_shuttles.len]|" + ..(jointext(msg, null)) + +/datum/controller/subsystem/shuttles/proc/do_process_shuttles(resumed = 0) + if (!resumed) + src.current_run = process_shuttles.Copy() + + var/list/current_run = src.current_run // Cache for sanic speed + while(current_run.len) + var/datum/shuttle/S = current_run[current_run.len] + current_run.len-- + if(istype(S) && !QDELETED(S)) + if(istype(S, /datum/shuttle/ferry)) // Ferry shuttles get special treatment + var/datum/shuttle/ferry/F = S + if(F.process_state || F.always_process) + F.process() + else + S.process() + else + process_shuttles -= S + if(MC_TICK_CHECK) + return + +// This should be called after all the machines and radio frequencies have been properly initialized +/datum/controller/subsystem/shuttles/proc/setup_shuttle_docks() + // Find all declared shuttle datums and initailize them. + for(var/shuttle_type in subtypesof(/datum/shuttle)) + var/datum/shuttle/shuttle = shuttle_type + if(initial(shuttle.category) == shuttle_type) + continue + shuttle = new shuttle() + shuttle.init_docking_controllers() + shuttle.dock() //makes all shuttles docked to something at round start go into the docked state + CHECK_TICK + + for(var/obj/machinery/embedded_controller/C in machines) + if(istype(C.program, /datum/computer/file/embedded_program/docking)) + C.program.tag = null //clear the tags, 'cause we don't need 'em anymore + docks_initialized = TRUE + +// Register a callback that will be invoked once the shuttles have been initialized +/datum/controller/subsystem/shuttles/proc/OnDocksInitialized(datum/callback/cb) + if(!docks_initialized) + LAZYADD(docks_init_callbacks, cb) + else + cb.InvokeAsync() diff --git a/code/modules/xenoarcheaology/master_controller.dm b/code/controllers/subsystems/xenoarch.dm similarity index 79% rename from code/modules/xenoarcheaology/master_controller.dm rename to code/controllers/subsystems/xenoarch.dm index a6689e36b6f..eb6c97ea75f 100644 --- a/code/modules/xenoarcheaology/master_controller.dm +++ b/code/controllers/subsystems/xenoarch.dm @@ -1,14 +1,35 @@ -/datum/controller/game_controller - var/list/artifact_spawning_turfs = list() - var/list/digsite_spawning_turfs = list() - #define XENOARCH_SPAWN_CHANCE 0.5 #define DIGSITESIZE_LOWER 4 #define DIGSITESIZE_UPPER 12 #define ARTIFACTSPAWNNUM_LOWER 6 #define ARTIFACTSPAWNNUM_UPPER 12 -/datum/controller/game_controller/proc/SetupXenoarch() +// +// Xenoarch subsystem handles initialization of Xenoarcheaology artifacts and digsites. +// +SUBSYSTEM_DEF(xenoarch) + name = "Xenoarch" + init_order = INIT_ORDER_XENOARCH + flags = SS_NO_FIRE + var/list/artifact_spawning_turfs = list() + var/list/digsite_spawning_turfs = list() + +/datum/controller/subsystem/xenoarch/Initialize(timeofday) + SetupXenoarch() + ..() + +/datum/controller/subsystem/xenoarch/Recover() + if (istype(SSxenoarch.artifact_spawning_turfs)) + artifact_spawning_turfs = SSxenoarch.artifact_spawning_turfs + if (istype(SSxenoarch.digsite_spawning_turfs)) + digsite_spawning_turfs = SSxenoarch.digsite_spawning_turfs + +/datum/controller/subsystem/xenoarch/stat_entry(msg) + if (!Debug2) + return // Only show up in stat panel if debugging is enabled. + . = ..() + +/datum/controller/subsystem/xenoarch/proc/SetupXenoarch() for(var/turf/simulated/mineral/M in world) if(!M.density) continue diff --git a/code/datums/EPv2.dm b/code/datums/EPv2.dm index 37a1a0ba1f1..a41175f424e 100644 --- a/code/datums/EPv2.dm +++ b/code/datums/EPv2.dm @@ -40,6 +40,10 @@ var/global/list/all_exonet_connections = list() src.holder = holder ..() +/datum/exonet_protocol/Destroy() + remove_address() + holder = null + return ..() // Proc: make_address() // Parameters: 1 (string - used to make into a hash that will be part of the new address) diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index 2db7749aa0f..2aeebe892ad 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -416,7 +416,7 @@ /datum/category_item/autolathe/arms/knuckledusters name = "knuckle dusters" - path =/obj/item/weapon/material/knuckledusters + path =/obj/item/clothing/gloves/knuckledusters hidden = 1 /datum/category_item/autolathe/arms/tacknife diff --git a/code/datums/callback.dm b/code/datums/callback.dm new file mode 100644 index 00000000000..a92a715eced --- /dev/null +++ b/code/datums/callback.dm @@ -0,0 +1,172 @@ +/* + USAGE: + + var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn) + var/timerid = addtimer(C, time, timertype) + OR + var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype) + + Note: proc strings can only be given for datum proc calls, global procs must be proc paths + Also proc strings are strongly advised against because they don't compile error if the proc stops existing + See the note on proc typepath shortcuts + + INVOKING THE CALLBACK: + var/result = C.Invoke(args, to, add) //additional args are added after the ones given when the callback was created + OR + var/result = C.InvokeAsync(args, to, add) //Sleeps will not block, returns . on the first sleep (then continues on in the "background" after the sleep/block ends), otherwise operates normally. + OR + INVOKE_ASYNC() to immediately create and call InvokeAsync + + PROC TYPEPATH SHORTCUTS (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...) + + global proc while in another global proc: + .procname + Example: + CALLBACK(GLOBAL_PROC, .some_proc_here) + + proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents: + .procname + Example: + CALLBACK(src, .some_proc_here) + + when the above doesn't apply: + .proc/procname + Example: + CALLBACK(src, .proc/some_proc_here) + + proc defined on a parent of a some type: + Example: /some/type/.proc/some_proc_here + + Other wise you will have to do the full typepath of the proc (/type/of/thing/proc/procname) +*/ + +/datum/callback + var/datum/object = GLOBAL_PROC + var/delegate + var/list/arguments + var/weakref/user + +/datum/callback/New(thingtocall, proctocall, ...) + if (thingtocall) + object = thingtocall + delegate = proctocall + if (length(args) > 2) + arguments = args.Copy(3) + if(usr) + user = weakref(usr) + +/world/proc/ImmediateInvokeAsync(thingtocall, proctocall, ...) + set waitfor = FALSE + + if (!thingtocall) + return + + var/list/calling_arguments = length(args) > 2 ? args.Copy(3) : null + + if (thingtocall == GLOBAL_PROC) + call(proctocall)(arglist(calling_arguments)) + else + call(thingtocall, proctocall)(arglist(calling_arguments)) + +/datum/callback/proc/Invoke(...) + if(!usr) + var/weakref/W = user + if(W) + var/mob/M = W.resolve() + if(M) + return world.PushUsr(M, src) + + if (!object) + return + + var/list/calling_arguments = arguments + if (length(args)) + if (length(arguments)) + calling_arguments = calling_arguments + args //not += so that it creates a new list so the arguments list stays clean + else + calling_arguments = args + if (object == GLOBAL_PROC) + return call(delegate)(arglist(calling_arguments)) + return call(object, delegate)(arglist(calling_arguments)) + +//copy and pasted because fuck proc overhead +/datum/callback/proc/InvokeAsync(...) + set waitfor = FALSE + + if(!usr) + var/weakref/W = user + if(W) + var/mob/M = W.resolve() + if(M) + return world.PushUsr(M, src) + + if (!object) + return + + var/list/calling_arguments = arguments + if (length(args)) + if (length(arguments)) + calling_arguments = calling_arguments + args //not += so that it creates a new list so the arguments list stays clean + else + calling_arguments = args + if (object == GLOBAL_PROC) + return call(delegate)(arglist(calling_arguments)) + return call(object, delegate)(arglist(calling_arguments)) + + +/datum/callback_select + var/list/finished + var/pendingcount + var/total + +/datum/callback_select/New(count, savereturns) + total = count + if (savereturns) + finished = new(count) + +/datum/callback_select/proc/invoke_callback(index, datum/callback/callback, list/callback_args, savereturn = TRUE) + set waitfor = FALSE + if (!callback || !istype(callback)) + //This check only exists because the alternative is callback_select would block forever if given invalid data + CRASH("invalid callback passed to invoke_callback") + if (!length(callback_args)) + callback_args = list() + pendingcount++ + var/rtn = callback.Invoke(arglist(callback_args)) + pendingcount-- + if (savereturn) + finished[index] = rtn + +//runs a list of callbacks asynchronously, returning once all of them return. +//callbacks can be repeated. +//callbacks-args is an optional list of argument lists, in the same order as the callbacks, +// the inner lists will be sent to the callbacks when invoked() as additional args. +//can optionly save and return a list of return values, in the same order as the original list of callbacks +//resolution is the number of byond ticks between checks. +/proc/callback_select(list/callbacks, list/callback_args, savereturns = TRUE, resolution = 1) + if (!callbacks) + return + var/count = length(callbacks) + if (!count) + return + if (!callback_args) + callback_args = list() + + callback_args.len = count + + var/datum/callback_select/CS = new(count, savereturns) + for (var/i in 1 to count) + CS.invoke_callback(i, callbacks[i], callback_args[i], savereturns) + + while(CS.pendingcount) + sleep(resolution*world.tick_lag) + return CS.finished + +// Makes a call in the context of a different usr +// Use sparingly +/world/proc/PushUsr(mob/M, datum/callback/CB) + var/temp = usr + testing("PushUsr() in use") + usr = M + . = CB.Invoke() + usr = temp diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 274c0c0903d..b6654650847 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -243,7 +243,7 @@ L.fields["citizenship"] = H.citizenship L.fields["faction"] = H.personal_faction L.fields["religion"] = H.religion - L.fields["image"] = getFlatIcon(H) //This is god-awful + L.fields["image"] = icon(cached_character_icon(H), dir = SOUTH) L.fields["antagfac"] = H.antag_faction L.fields["antagvis"] = H.antag_vis if(H.exploit_record && !jobban_isbanned(H, "Records")) @@ -256,184 +256,17 @@ /proc/generate_record_id() return add_zero(num2hex(rand(1, 65535)), 4) //no point generating higher numbers because of the limitations of num2hex -/proc/get_id_photo(var/mob/living/carbon/human/H, var/assigned_role) - var/icon/preview_icon = null - - var/g = "m" - if (H.gender == FEMALE) - g = "f" - - var/icon/icobase = H.species.icobase - - preview_icon = new /icon(icobase, "torso_[g]") - var/icon/temp - temp = new /icon(icobase, "groin_[g]") - preview_icon.Blend(temp, ICON_OVERLAY) - temp = new /icon(icobase, "head_[g]") - preview_icon.Blend(temp, ICON_OVERLAY) - - for(var/obj/item/organ/external/E in H.organs) - preview_icon.Blend(E.get_icon(), ICON_OVERLAY) - - //Tail - var/use_species_tail = H.species.get_tail(H) - if(use_species_tail) - temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[use_species_tail]_s") - preview_icon.Blend(temp, ICON_OVERLAY) - - // Skin tone - if(H.species.flags & HAS_SKIN_TONE) - if (H.s_tone >= 0) - preview_icon.Blend(rgb(H.s_tone, H.s_tone, H.s_tone), ICON_ADD) - else - preview_icon.Blend(rgb(-H.s_tone, -H.s_tone, -H.s_tone), ICON_SUBTRACT) - - // Skin color - if(H.species.flags & HAS_SKIN_TONE) - if(!H.species || H.species.flags & HAS_SKIN_COLOR) - preview_icon.Blend(rgb(H.r_skin, H.g_skin, H.b_skin), ICON_ADD) - - var/use_eye_icon = "eyes_s" - var/obj/item/organ/external/head/temp_head = H.get_organ(BP_HEAD) - if(temp_head) use_eye_icon = temp_head.eye_icon - var/icon/eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = use_eye_icon) - - if (H.species.flags & HAS_EYE_COLOR) - eyes_s.Blend(rgb(H.r_eyes, H.g_eyes, H.b_eyes), ICON_ADD) - - var/datum/sprite_accessory/hair_style = hair_styles_list[H.h_style] - if(hair_style) - var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") - hair_s.Blend(rgb(H.r_hair, H.g_hair, H.b_hair), ICON_ADD) - eyes_s.Blend(hair_s, ICON_OVERLAY) - - var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[H.f_style] - if(facial_hair_style) - var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") - facial_s.Blend(rgb(H.r_facial, H.g_facial, H.b_facial), ICON_ADD) - eyes_s.Blend(facial_s, ICON_OVERLAY) - - var/icon/clothes_s = null - if(!assigned_role) assigned_role = H.mind.assigned_role - switch(assigned_role) - if("Head of Personnel") - clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if("Bartender") - clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Gardener") - clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Chef") - clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Janitor") - clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Librarian") - clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Quartermaster") - clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if("Cargo Technician") - clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Shaft Miner") - clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Lawyer") - clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if("Chaplain") - clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Research Director") - clothes_s = new /icon('icons/mob/uniform.dmi', "director_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY) - if("Scientist") - clothes_s = new /icon('icons/mob/uniform.dmi', "sciencewhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY) - if("Chemist") - clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem_open"), ICON_OVERLAY) - if("Chief Medical Officer") - clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo_open"), ICON_OVERLAY) - if("Medical Doctor") - clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY) - if("Geneticist") - clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen_open"), ICON_OVERLAY) - if("Virologist") - clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY) - if("Colony Director") - clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if("Head of Security") - clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - if("Warden") - clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - if("Detective") - clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY) - if("Security Officer") - clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - if("Chief Engineer") - clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if("Station Engineer") - clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if("Atmospheric Technician") - clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if("Roboticist") - clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY) - else - clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - preview_icon.Blend(eyes_s, ICON_OVERLAY) - if(clothes_s) - preview_icon.Blend(clothes_s, ICON_OVERLAY) - qdel(eyes_s) - qdel(clothes_s) - - return preview_icon - /datum/datacore/proc/CreateGeneralRecord(var/mob/living/carbon/human/H, var/id) ResetPDAManifest() var/icon/front var/icon/side if(H) - front = getFlatIcon(H, SOUTH, always_use_defdir = 1) - side = getFlatIcon(H, WEST, always_use_defdir = 1) - else - var/mob/living/carbon/human/dummy = new() - front = new(get_id_photo(dummy), dir = SOUTH) - side = new(get_id_photo(dummy), dir = WEST) - qdel(dummy) + var/icon/charicon = cached_character_icon(H) + front = icon(charicon, dir = SOUTH) + side = icon(charicon, dir = WEST) - if(!id) id = text("[]", add_zero(num2hex(rand(1, 65536)), 4)) + if(!id) + id = text("[]", add_zero(num2hex(rand(1, 65536)), 4)) var/datum/data/record/G = new /datum/data/record() G.name = "Employee Record #[id]" G.fields["name"] = "New Record" @@ -446,7 +279,7 @@ G.fields["fingerprint"] = "Unknown" G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" - G.fields["species"] = "Human" + G.fields["species"] = SPECIES_HUMAN G.fields["home_system"] = "Unknown" G.fields["citizenship"] = "Unknown" G.fields["faction"] = "Unknown" diff --git a/code/datums/ghost_query.dm b/code/datums/ghost_query.dm index dda2565bf1a..d041558a0c6 100644 --- a/code/datums/ghost_query.dm +++ b/code/datums/ghost_query.dm @@ -126,3 +126,15 @@ question = "A person suspended in cryosleep has been discovered by a crewmember \ and they are attempting to open the cryopod. Would you like to play as the occupant?" cutoff_number = 1 + +/datum/ghost_query/corgi_rune + role_name = "Dark Creature" + question = "A curious explorer has touched a mysterious rune. \ + Would you like to play as the creature it summons?" + cutoff_number = 1 + +/datum/ghost_query/cursedblade + role_name = "Cursed Sword" + question = "A cursed blade has been discovered by a curious explorer. \ + Would you like to play as the soul imprisoned within?" + cutoff_number = 1 diff --git a/code/datums/mind.dm b/code/datums/mind.dm index feef09b45e8..1f7685def52 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -503,53 +503,53 @@ //slime /mob/living/simple_animal/slime/mind_initialize() - ..() + . = ..() mind.assigned_role = "slime" /mob/living/carbon/alien/larva/mind_initialize() - ..() + . = ..() mind.special_role = "Larva" //AI /mob/living/silicon/ai/mind_initialize() - ..() + . = ..() mind.assigned_role = "AI" //BORG /mob/living/silicon/robot/mind_initialize() - ..() + . = ..() mind.assigned_role = "Cyborg" //PAI /mob/living/silicon/pai/mind_initialize() - ..() + . = ..() mind.assigned_role = "pAI" mind.special_role = "" //Animals /mob/living/simple_animal/mind_initialize() - ..() + . = ..() mind.assigned_role = "Animal" /mob/living/simple_animal/corgi/mind_initialize() - ..() + . = ..() mind.assigned_role = "Corgi" /mob/living/simple_animal/shade/mind_initialize() - ..() + . = ..() mind.assigned_role = "Shade" /mob/living/simple_animal/construct/builder/mind_initialize() - ..() + . = ..() mind.assigned_role = "Artificer" mind.special_role = "Cultist" /mob/living/simple_animal/construct/wraith/mind_initialize() - ..() + . = ..() mind.assigned_role = "Wraith" mind.special_role = "Cultist" /mob/living/simple_animal/construct/armoured/mind_initialize() - ..() + . = ..() mind.assigned_role = "Juggernaut" mind.special_role = "Cultist" diff --git a/code/datums/mixed.dm b/code/datums/mixed.dm index f0f0c70abda..191868e4891 100644 --- a/code/datums/mixed.dm +++ b/code/datums/mixed.dm @@ -1,34 +1,46 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - -/datum/data - var/name = "data" - var/size = 1.0 - - -/datum/data/function - name = "function" - size = 2.0 - - -/datum/data/function/data_control - name = "data control" - - -/datum/data/function/id_changer - name = "id changer" - - -/datum/data/record - name = "record" - size = 5.0 - var/list/fields = list( ) - - -/datum/data/text - name = "text" - var/data = null - - - -/datum/debug - var/list/debuglist +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 + +/datum/data + var/name = "data" + var/size = 1.0 + + +/datum/data/function + name = "function" + size = 2.0 + + +/datum/data/function/data_control + name = "data control" + + +/datum/data/function/id_changer + name = "id changer" + + +/datum/data/record + name = "record" + size = 5.0 + var/list/fields = list( ) + +// Mostly used for data_core records, but unfortuantely used some other places too. But mostly here, so lets make a good effort. +// TODO - Some machines/computers might be holding references to us. Lets look into that, but at least for now lets make sure that the manifest is cleaned up. +/datum/data/record/Destroy(var/force) + if(data_core.locked.Find(src)) + if(!force) + crash_with("Someone tried to qdel a record that was in data_core.locked [log_info_line(src)]") + return QDEL_HINT_LETMELIVE + data_core.locked -= src + data_core.medical -= src + data_core.general -= src + data_core.security -= src + . = ..() + +/datum/data/text + name = "text" + var/data = null + + + +/datum/debug + var/list/debuglist diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index 1cb3a97d9f7..16d10ae0356 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -4,10 +4,11 @@ // Mutable appearances are children of images, just so you know. -/mutable_appearance/New() +/mutable_appearance/New(copy_from, ...) ..() - plane = FLOAT_PLANE // No clue why this is 0 by default yet images are on FLOAT_PLANE - // And yes this does have to be in the constructor, BYOND ignores it if you set it as a normal var + if(!copy_from) + plane = FLOAT_PLANE // No clue why this is 0 by default yet images are on FLOAT_PLANE + // And yes this does have to be in the constructor, BYOND ignores it if you set it as a normal var // Helper similar to image() /proc/mutable_appearance(icon, icon_state = "", layer = FLOAT_LAYER) diff --git a/code/datums/outfits/_defines.dm b/code/datums/outfits/_defines.dm index ae07595c505..8d406ce1e03 100644 --- a/code/datums/outfits/_defines.dm +++ b/code/datums/outfits/_defines.dm @@ -1,6 +1,7 @@ #define OUTFIT_HAS_JETPACK 1 #define OUTFIT_HAS_BACKPACK 2 #define OUTFIT_EXTENDED_SURVIVAL 4 +#define OUTFIT_COMPREHENSIVE_SURVIVAL 8 #define OUTFIT_JOB_NAME(job_name) ("Job - " + job_name) #define OUTFIT_MILITARY(job_name) ("Military Uniform - " + job_name) diff --git a/code/datums/outfits/jobs/cargo.dm b/code/datums/outfits/jobs/cargo.dm index e8974f09f9f..bbfe6f59f54 100644 --- a/code/datums/outfits/jobs/cargo.dm +++ b/code/datums/outfits/jobs/cargo.dm @@ -20,6 +20,7 @@ /decl/hierarchy/outfit/job/cargo/mining name = OUTFIT_JOB_NAME("Shaft miner") uniform = /obj/item/clothing/under/rank/miner + l_ear = /obj/item/device/radio/headset/headset_mine backpack = /obj/item/weapon/storage/backpack/industrial satchel_one = /obj/item/weapon/storage/backpack/satchel/eng id_type = /obj/item/weapon/card/id/cargo/mining diff --git a/code/datums/outfits/jobs/medical.dm b/code/datums/outfits/jobs/medical.dm index 3b227a26121..1fdd020fcf4 100644 --- a/code/datums/outfits/jobs/medical.dm +++ b/code/datums/outfits/jobs/medical.dm @@ -23,8 +23,8 @@ name = OUTFIT_JOB_NAME("Medical Doctor") uniform = /obj/item/clothing/under/rank/medical suit = /obj/item/clothing/suit/storage/toggle/labcoat - l_hand = /obj/item/weapon/storage/firstaid/adv - r_pocket = /obj/item/device/healthanalyzer + l_hand = /obj/item/weapon/storage/firstaid/regular + r_pocket = /obj/item/device/flashlight/pen id_type = /obj/item/weapon/card/id/medical/doctor /decl/hierarchy/outfit/job/medical/doctor/emergency_physician @@ -94,7 +94,7 @@ uniform = /obj/item/clothing/under/rank/medical/scrubs/black suit = /obj/item/clothing/suit/storage/toggle/fr_jacket shoes = /obj/item/clothing/shoes/boots/jackboots - l_hand = /obj/item/weapon/storage/firstaid/adv + l_hand = /obj/item/weapon/storage/firstaid/regular belt = /obj/item/weapon/storage/belt/medical/emt pda_slot = slot_l_store id_type = /obj/item/weapon/card/id/medical/paramedic diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index e69e9eb7056..a37c339e213 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -101,7 +101,6 @@ var/list/outfits_decls_by_type_ H.equip_to_slot_or_del(new path(H), slot_in_backpack) post_equip(H) - H.regenerate_icons() if(W) // We set ID info last to ensure the ID photo is as correct as possible. H.set_id_info(W) return 1 @@ -146,7 +145,7 @@ var/list/outfits_decls_by_type_ if(r_hand) H.put_in_r_hand(new r_hand(H)) if(H.species) - H.species.equip_survival_gear(H, flags&OUTFIT_EXTENDED_SURVIVAL) + H.species.equip_survival_gear(H, flags&OUTFIT_EXTENDED_SURVIVAL, flags&OUTFIT_COMPREHENSIVE_SURVIVAL) /decl/hierarchy/outfit/proc/equip_id(mob/living/carbon/human/H, rank, assignment) if(!id_slot || !id_type) @@ -158,15 +157,18 @@ var/list/outfits_decls_by_type_ W.rank = rank if(assignment) W.assignment = assignment - H.set_id_info(W) if(H.equip_to_slot_or_del(W, id_slot)) return W -/decl/hierarchy/outfit/proc/equip_pda(mob/living/carbon/human/H, assignment) +/decl/hierarchy/outfit/proc/equip_pda(mob/living/carbon/human/H, rank, assignment) if(!pda_slot || !pda_type) return var/obj/item/device/pda/pda = new pda_type(H) if(H.equip_to_slot_or_del(pda, pda_slot)) + pda.owner = H.real_name + pda.ownjob = assignment + pda.ownrank = rank + pda.name = "PDA-[H.real_name] ([assignment])" return pda /decl/hierarchy/outfit/dd_SortValue() diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index bed0f332752..afcb65a8c15 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -22,8 +22,10 @@ /datum/progressbar/Destroy() if (client) client.images -= bar - qdel(bar) - . = ..() + qdel_null(bar) + user = null + client = null + return ..() /datum/progressbar/proc/update(progress) //world << "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]" diff --git a/code/datums/repositories/radiation.dm b/code/datums/repositories/radiation.dm index 4755b982ec4..46f4a9a5b78 100644 --- a/code/datums/repositories/radiation.dm +++ b/code/datums/repositories/radiation.dm @@ -116,7 +116,7 @@ var/global/repository/radiation/radiation_repository = new() else if(O.density) //So open doors don't get counted var/material/M = O.get_material() if(!M) continue - cached_rad_resistance += M.weight + cached_rad_resistance += M.weight + M.radiation_resistance // Looks like storing the contents length is meant to be a basic check if the cache is stale due to items enter/exiting. Better than nothing so I'm leaving it as is. ~Leshana radiation_repository.resistance_cache[src] = (length(contents) + 1) diff --git a/code/datums/supplypacks/contraband.dm b/code/datums/supplypacks/contraband.dm index 8c8869f318f..d0ca2467597 100644 --- a/code/datums/supplypacks/contraband.dm +++ b/code/datums/supplypacks/contraband.dm @@ -43,8 +43,8 @@ containername = "Moghes imports crate" contraband = 1 -/datum/supply_packs/security/bolt_rifles_militia - name = "Surplus militia rifles" +/datum/supply_packs/munitions/bolt_rifles_militia + name = "Weapon - Surplus militia rifles" contains = list( /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 3, /obj/item/ammo_magazine/clip/c762 = 6 @@ -52,7 +52,7 @@ cost = 50 contraband = 1 containertype = /obj/structure/closet/crate/secure/weapon - containername = "Weapons crate" + containername = "Ballistic weapons crate" /datum/supply_packs/randomised/misc/telecrate //you get something awesome, a couple of decent things, and a few weak/filler things name = "ERR_NULL_ENTRY" //null crate! also dream maker is hell, diff --git a/code/datums/supplypacks/hospitality.dm b/code/datums/supplypacks/hospitality.dm index 83d46edde1e..f3de751f234 100644 --- a/code/datums/supplypacks/hospitality.dm +++ b/code/datums/supplypacks/hospitality.dm @@ -61,3 +61,17 @@ cost = 15 containertype = /obj/structure/closet/crate/freezer containername = "Pizza crate" + +/datum/supply_packs/hospitality/gifts + name = "Gift crate" + contains = list( + /obj/item/toy/bouquet = 3, + /obj/item/weapon/storage/fancy/heartbox = 2, + /obj/item/weapon/paper/card/smile, + /obj/item/weapon/paper/card/heart, + /obj/item/weapon/paper/card/cat, + /obj/item/weapon/paper/card/flower + ) + cost = 10 + containertype = /obj/structure/closet/crate + containername = "crate of gifts" \ No newline at end of file diff --git a/code/datums/supplypacks/materials.dm b/code/datums/supplypacks/materials.dm index d09e3c8ee51..4c5ddedf476 100644 --- a/code/datums/supplypacks/materials.dm +++ b/code/datums/supplypacks/materials.dm @@ -49,7 +49,7 @@ cost = 15 contains = list( /obj/fiftyspawner/carpet, - /obj/fiftyspawner/bluecarpet + /obj/fiftyspawner/tealcarpet ) diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm index bfaf2658bf2..2c2e26d97da 100644 --- a/code/datums/supplypacks/medical.dm +++ b/code/datums/supplypacks/medical.dm @@ -330,8 +330,8 @@ access = access_cmo /datum/supply_packs/med/defib - name = "Defibrilator crate" + name = "Defibrillator crate" contains = list(/obj/item/device/defib_kit = 2) cost = 30 containertype = /obj/structure/closet/crate/medical - containername = "Defibrilator crate" \ No newline at end of file + containername = "Defibrillator crate" \ No newline at end of file diff --git a/code/datums/supplypacks/misc.dm b/code/datums/supplypacks/misc.dm index 5a3bb038bb4..225e29335f6 100644 --- a/code/datums/supplypacks/misc.dm +++ b/code/datums/supplypacks/misc.dm @@ -70,3 +70,10 @@ cost = 10 containertype = "/obj/structure/closet/crate" containername = "Webbing crate" + +/datum/supply_packs/misc/holoplant + name = "Holoplant Pot" + contains = list(/obj/machinery/holoplant/shipped) + cost = 15 + containertype = /obj/structure/closet/crate + containername = "Holoplant crate" diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm index 42e8b75a17b..662de4da731 100644 --- a/code/datums/supplypacks/munitions.dm +++ b/code/datums/supplypacks/munitions.dm @@ -10,21 +10,30 @@ group = "Munitions" /datum/supply_packs/munitions/weapons - name = "Weapons crate" + name = "Weapons - Security basic equipment" contains = list( + /obj/item/device/flash = 2, + /obj/item/weapon/reagent_containers/spray/pepper = 2, /obj/item/weapon/melee/baton/loaded = 2, - /obj/item/weapon/gun/energy/gun = 2, /obj/item/weapon/gun/energy/taser = 2, /obj/item/weapon/gun/projectile/colt/detective = 2, /obj/item/weapon/storage/box/flashbangs = 2 ) cost = 40 + containertype = /obj/structure/closet/crate/secure/gear + containername = "Security equipment crate" + access = access_security + +/datum/supply_packs/munitions/egunpistol + name = "Weapons - Energy sidearms" + contains = list(/obj/item/weapon/gun/energy/gun = 2) + cost = 40 containertype = /obj/structure/closet/crate/secure/weapon - containername = "Weapons crate" + containername = "Energy sidearms crate" access = access_security /datum/supply_packs/munitions/flareguns - name = "Flare guns crate" + name = "Weapons - Flare guns" contains = list( /obj/item/weapon/gun/projectile/sec/flash, /obj/item/ammo_magazine/m45/flash, @@ -32,100 +41,96 @@ /obj/item/weapon/storage/box/flashshells ) cost = 25 - containertype = /obj/structure/closet/crate/secure/weapon + containertype = /obj/structure/closet/crate/secure/gear containername = "Flare gun crate" access = access_security /datum/supply_packs/munitions/eweapons - name = "Experimental weapons crate" + name = "Weapons - Experimental weapons crate" contains = list( /obj/item/weapon/gun/energy/xray = 2, /obj/item/weapon/shield/energy = 2) cost = 100 - containertype = /obj/structure/closet/crate/secure/weapon + containertype = /obj/structure/closet/crate/secure/science containername = "Experimental weapons crate" access = access_armory /datum/supply_packs/munitions/energyweapons - name = "Laser carbine crate" + name = "Weapons - Laser rifle crate" contains = list(/obj/item/weapon/gun/energy/laser = 3) cost = 50 - containertype = /obj/structure/closet/crate/secure - containername = "energy weapons crate" + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Energy weapons crate" access = access_armory /datum/supply_packs/munitions/shotgun - name = "Shotgun crate" + name = "Weapons - Shotgun crate" contains = list( /obj/item/weapon/storage/box/shotgunammo, /obj/item/weapon/storage/box/shotgunshells, /obj/item/weapon/gun/projectile/shotgun/pump/combat = 2 ) cost = 50 - containertype = /obj/structure/closet/crate/secure + containertype = /obj/structure/closet/crate/secure/weapon containername = "Shotgun crate" access = access_armory /datum/supply_packs/munitions/erifle - name = "Energy marksman crate" + name = "Weapons - Energy marksman" contains = list(/obj/item/weapon/gun/energy/sniperrifle = 2) cost = 100 - containertype = /obj/structure/closet/crate/secure + containertype = /obj/structure/closet/crate/secure/weapon containername = "Energy marksman crate" access = access_armory /datum/supply_packs/munitions/burstlaser - name = "Burst laser crate" + name = "Weapons - Burst laser" contains = list(/obj/item/weapon/gun/energy/gun/burst = 2) cost = 50 - containertype = /obj/structure/closet/crate/secure + containertype = /obj/structure/closet/crate/secure/weapon containername = "Burst laser crate" access = access_armory /datum/supply_packs/munitions/ionweapons - name = "Electromagnetic weapons crate" + name = "Weapons - Electromagnetic Rifles" contains = list( /obj/item/weapon/gun/energy/ionrifle = 2, /obj/item/weapon/storage/box/empslite ) cost = 50 - containertype = /obj/structure/closet/crate/secure - containername = "electromagnetic weapons crate" + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Electromagnetic weapons crate" access = access_armory /datum/supply_packs/munitions/ionpistols - name = "Electromagnetic pistols crate" + name = "Weapons - Electromagnetic pistols" contains = list( /obj/item/weapon/gun/energy/ionrifle/pistol = 2, /obj/item/weapon/storage/box/empslite ) cost = 30 - containertype = /obj/structure/closet/crate/secure - containername = "electromagnetic weapons crate" + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Electromagnetic weapons crate" access = access_armory -/datum/supply_packs/randomised/munitions/automatic - name = "Automatic weapon crate" - num_contained = 2 - contains = list( - /obj/item/weapon/gun/projectile/automatic/wt550, - /obj/item/weapon/gun/projectile/automatic/z8 - ) - cost = 100 - containertype = /obj/structure/closet/crate/secure - containername = "Automatic weapon crate" - access = access_armory - -/datum/supply_packs/munitions/energy_guns - name = "Energy gun crate" - contains = list(/obj/item/weapon/gun/energy/gun = 2) +/datum/supply_packs/munitions/bsmg + name = "Weapons - Ballistic SMGs" + contains = list(/obj/item/weapon/gun/projectile/automatic/wt550 = 2) cost = 50 - containertype = /obj/structure/closet/crate/secure - containername = "Energy gun crate" + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Ballistic weapon crate" + access = access_armory + +/datum/supply_packs/munitions/brifle + name = "Weapons - Ballistic Rifles" + contains = list(/obj/item/weapon/gun/projectile/automatic/z8 = 2) + cost = 80 + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Ballistic weapon crate" access = access_armory /datum/supply_packs/munitions/bolt_rifles_competitive - name = "Competitive shooting crate" + name = "Weapons - Competitive shooting rifles" contains = list( /obj/item/device/assembly/timer, /obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice = 2, @@ -136,37 +141,56 @@ ) cost = 40 containertype = /obj/structure/closet/crate/secure/weapon - containername = "Weapons crate" + containername = "Ballistic weapons crate" access = access_security /datum/supply_packs/munitions/shotgunammo - name = "Shotgun ammunition crate" + name = "Ammunition - Shotgun shells" contains = list( /obj/item/weapon/storage/box/shotgunammo = 2, /obj/item/weapon/storage/box/shotgunshells = 2 ) cost = 25 containertype = /obj/structure/closet/crate/secure - containername = "ballistic ammunition crate" - access = access_armory - -/datum/supply_packs/randomised/munitions/autoammo - name = "Automatic weapon ammunition crate" - num_contained = 6 - contains = list( - /obj/item/ammo_magazine/m9mmt, - /obj/item/ammo_magazine/m9mmt/rubber, - /obj/item/ammo_magazine/m545saw - ) - cost = 25 - containertype = /obj/structure/closet/crate/secure - containername = "Automatic weapon ammunition crate" + containername = "Ballistic ammunition crate" access = access_armory /datum/supply_packs/munitions/beanbagammo - name = "Beanbag shells" + name = "Ammunition - Beanbag shells" contains = list(/obj/item/weapon/storage/box/beanbags = 3) cost = 25 containertype = /obj/structure/closet/crate - containername = "Beanbag shells" + containername = "Ballistic ammunition crate" access = null + +/datum/supply_packs/munitions/bsmgammo + name = "Ammunition - 9mm top mounted lethal" + contains = list(/obj/item/ammo_magazine/m9mmt = 6) + cost = 25 + containertype = /obj/structure/closet/crate/secure + containername = "Ballistic ammunition crate" + access = access_armory + +/datum/supply_packs/munitions/bsmgammorubber + name = "Ammunition - 9mm top mounted rubber" + contains = list(/obj/item/ammo_magazine/m9mmt/rubber = 6) + cost = 25 + containertype = /obj/structure/closet/crate/secure + containername = "Ballistic ammunition crate" + access = access_security + +/datum/supply_packs/munitions/brifleammo + name = "Ammunition - 7.62mm lethal" + contains = list(/obj/item/ammo_magazine/m762 = 6) + cost = 25 + containertype = /obj/structure/closet/crate/secure + containername = "Ballistic ammunition crate" + access = access_armory + +/datum/supply_packs/munitions/pcellammo + name = "Ammunition - Power cell" + contains = list(/obj/item/weapon/cell/device/weapon = 3) + cost = 50 + containertype = /obj/structure/closet/crate/secure + containername = "Energy ammunition crate" + access = access_security \ No newline at end of file diff --git a/code/datums/supplypacks/recreation.dm b/code/datums/supplypacks/recreation.dm index 7bfdaaeeb68..7f801ea1b36 100644 --- a/code/datums/supplypacks/recreation.dm +++ b/code/datums/supplypacks/recreation.dm @@ -39,6 +39,7 @@ name = "Arts and Crafts supplies" contains = list( /obj/item/weapon/storage/fancy/crayons, + /obj/item/weapon/storage/fancy/markers, /obj/item/device/camera, /obj/item/device/camera_film = 2, /obj/item/weapon/storage/photo_album, diff --git a/code/datums/supplypacks/robotics.dm b/code/datums/supplypacks/robotics.dm index 3e861e354b6..d9f20c5aa67 100644 --- a/code/datums/supplypacks/robotics.dm +++ b/code/datums/supplypacks/robotics.dm @@ -116,14 +116,6 @@ containername = "Robolimb blueprints (Bishop)" access = access_robotics -/datum/supply_packs/robotics/robolimbs/veymed - name = "Vey-Med robolimb blueprints" - contains = list(/obj/item/weapon/disk/limb/veymed) - cost = 70 - containertype = /obj/structure/closet/crate/secure/science - containername = "Robolimb blueprints (Vey-Med)" - access = access_robotics - /datum/supply_packs/robotics/mecha_ripley name = "Circuit Crate (\"Ripley\" APLU)" contains = list( diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm index e248acc46c0..eb031e7bd9f 100644 --- a/code/datums/supplypacks/security.dm +++ b/code/datums/supplypacks/security.dm @@ -13,6 +13,7 @@ access = access_security /datum/supply_packs/randomised/security/armor + name = "Armor - Security armor" num_contained = 5 contains = list( /obj/item/clothing/suit/storage/vest, @@ -27,14 +28,12 @@ /obj/item/clothing/suit/storage/vest/heavy/hos, /obj/item/clothing/suit/storage/vest/heavy/pcrc ) - - name = "Armor crate" cost = 40 - containertype = /obj/structure/closet/crate/secure + containertype = /obj/structure/closet/crate/secure/gear containername = "Armor crate" /datum/supply_packs/security/riot_gear - name = "Riot gear crate" + name = "Gear - Riot" contains = list( /obj/item/weapon/melee/baton = 3, /obj/item/weapon/shield/riot = 3, @@ -44,12 +43,12 @@ /obj/item/weapon/storage/box/handcuffs ) cost = 40 - containertype = /obj/structure/closet/crate/secure - containername = "riot gear crate" + containertype = /obj/structure/closet/crate/secure/gear + containername = "Riot gear crate" access = access_armory /datum/supply_packs/security/riot_armor - name = "Riot armor set crate" + name = "Armor - Riot" contains = list( /obj/item/clothing/head/helmet/riot, /obj/item/clothing/suit/armor/riot, @@ -57,12 +56,12 @@ /obj/item/clothing/shoes/leg_guard/riot ) cost = 30 - containertype = /obj/structure/closet/crate/secure - containername = "riot armor set crate" + containertype = /obj/structure/closet/crate/secure/gear + containername = "Riot armor crate" access = access_armory /datum/supply_packs/security/ablative_armor - name = "Ablative armor set crate" + name = "Armor - Ablative" contains = list( /obj/item/clothing/head/helmet/laserproof, /obj/item/clothing/suit/armor/laserproof, @@ -70,12 +69,12 @@ /obj/item/clothing/shoes/leg_guard/laserproof ) cost = 40 - containertype = /obj/structure/closet/crate/secure - containername = "ablative armor set crate" + containertype = /obj/structure/closet/crate/secure/gear + containername = "Ablative armor crate" access = access_armory /datum/supply_packs/security/bullet_resistant_armor - name = "Bullet resistant armor set crate" + name = "Armor - Ballistic" contains = list( /obj/item/clothing/head/helmet/bulletproof, /obj/item/clothing/suit/armor/bulletproof, @@ -83,12 +82,12 @@ /obj/item/clothing/shoes/leg_guard/bulletproof ) cost = 40 - containertype = /obj/structure/closet/crate/secure - containername = "bullet resistant armor set crate" + containertype = /obj/structure/closet/crate/secure/gear + containername = "Ballistic armor crate" access = access_armory /datum/supply_packs/security/combat_armor - name = "Combat armor set crate" + name = "Armor - Combat" contains = list( /obj/item/clothing/head/helmet/combat, /obj/item/clothing/suit/armor/combat, @@ -96,14 +95,14 @@ /obj/item/clothing/shoes/leg_guard/combat ) cost = 40 - containertype = /obj/structure/closet/crate/secure - containername = "combat armor set crate" + containertype = /obj/structure/closet/crate/secure/gear + containername = "Combat armor crate" access = access_armory /datum/supply_packs/security/tactical - name = "Tactical suits" - containertype = /obj/structure/closet/crate/secure - containername = "Tactical Suit Locker" + name = "Armor - Tactical" + containertype = /obj/structure/closet/crate/secure/gear + containername = "Tactical armor crate" cost = 40 access = access_armory contains = list( @@ -126,23 +125,23 @@ ) /datum/supply_packs/security/securitybarriers - name = "Security barrier crate" + name = "Misc - Security Barriers" contains = list(/obj/machinery/deployable/barrier = 4) cost = 20 - containertype = /obj/structure/closet/crate/secure/gear + containertype = /obj/structure/largecrate containername = "Security barrier crate" access = null /datum/supply_packs/security/securityshieldgen - name = "Wall shield Generators" + name = "Misc - Wall shield generators" contains = list(/obj/machinery/shieldwallgen = 4) cost = 20 containertype = /obj/structure/closet/crate/secure - containername = "wall shield generators crate" + containername = "Wall shield generators crate" access = access_teleporter /datum/supply_packs/randomised/security/holster - name = "Holster crate" + name = "Gear - Holsters" num_contained = 4 contains = list( /obj/item/clothing/accessory/holster, @@ -151,11 +150,11 @@ /obj/item/clothing/accessory/holster/hip ) cost = 15 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate containername = "Holster crate" /datum/supply_packs/security/extragear - name = "Security surplus equipment" + name = "Gear - Security surplus equipment" contains = list( /obj/item/weapon/storage/belt/security = 3, /obj/item/clothing/glasses/sunglasses/sechud = 3, @@ -163,12 +162,11 @@ /obj/item/clothing/suit/storage/hooded/wintercoat/security = 3 ) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate containername = "Security surplus equipment" - access = null /datum/supply_packs/security/detectivegear - name = "Forensic investigation equipment" + name = "Forensic - Investigation equipment" contains = list( /obj/item/weapon/storage/box/evidence = 2, /obj/item/clothing/suit/storage/vest/detective, @@ -190,12 +188,12 @@ /obj/item/weapon/storage/briefcase/crimekit ) cost = 20 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Forensic equipment" access = access_forensics_lockers /datum/supply_packs/security/detectiveclothes - name = "Investigation apparel" + name = "Forensic - Investigation apparel" contains = list( /obj/item/clothing/under/det/black = 2, /obj/item/clothing/under/det/grey = 2, @@ -212,12 +210,12 @@ /obj/item/clothing/gloves/black = 2 ) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Investigation clothing" access = access_forensics_lockers /datum/supply_packs/security/officergear - name = "Officer equipment" + name = "Gear - Officer equipment" contains = list( /obj/item/clothing/suit/storage/vest/officer, /obj/item/clothing/head/helmet, @@ -242,12 +240,12 @@ /obj/item/device/flashlight/maglight ) cost = 20 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Officer equipment" access = access_brig /datum/supply_packs/security/wardengear - name = "Warden equipment" + name = "Gear - Warden equipment" contains = list( /obj/item/clothing/suit/storage/vest/warden, /obj/item/clothing/under/rank/warden, @@ -270,18 +268,18 @@ /obj/item/device/flashlight/maglight ) cost = 20 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Warden equipment" access = access_armory /datum/supply_packs/security/headofsecgear - name = "Head of security equipment" + name = "Gear - Head of security equipment" contains = list( /obj/item/clothing/head/helmet/HoS, /obj/item/clothing/suit/storage/vest/hos, /obj/item/clothing/under/rank/head_of_security/corp, /obj/item/clothing/suit/storage/vest/hoscoat, - /obj/item/clothing/head/helmet/HoS/dermal, + /obj/item/clothing/head/helmet/dermal, /obj/item/weapon/cartridge/hos, /obj/item/device/radio/headset/heads/hos, /obj/item/clothing/glasses/sunglasses/sechud, @@ -296,12 +294,12 @@ /obj/item/device/flashlight/maglight ) cost = 50 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Head of security equipment" access = access_hos /datum/supply_packs/security/securityclothing - name = "Security uniform crate" + name = "Misc - Security uniform red" contains = list( /obj/item/weapon/storage/backpack/satchel/sec = 2, /obj/item/weapon/storage/backpack/security = 2, @@ -315,11 +313,11 @@ /obj/item/weapon/storage/box/holobadge ) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Security uniform crate" /datum/supply_packs/security/navybluesecurityclothing - name = "Navy blue security uniform crate" + name = "Misc - Security uniform navy blue" contains = list( /obj/item/weapon/storage/backpack/satchel/sec = 2, /obj/item/weapon/storage/backpack/security = 2, @@ -336,11 +334,11 @@ /obj/item/weapon/storage/box/holobadge ) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Navy blue security uniform crate" /datum/supply_packs/security/corporatesecurityclothing - name = "Corporate security uniform crate" + name = "Misc - Security uniform corporate" contains = list( /obj/item/weapon/storage/backpack/satchel/sec = 2, /obj/item/weapon/storage/backpack/security = 2, @@ -356,11 +354,11 @@ /obj/item/weapon/storage/box/holobadge ) cost = 10 - containertype = "/obj/structure/closet/crate/secure" + containertype = /obj/structure/closet/crate/secure containername = "Corporate security uniform crate" /datum/supply_packs/security/biosuit - name = "Security biohazard gear" + name = "Gear - Security biohazard gear" contains = list( /obj/item/clothing/head/bio_hood/security = 3, /obj/item/clothing/under/rank/security = 3, @@ -371,6 +369,7 @@ /obj/item/clothing/gloves/sterile/latex, /obj/item/weapon/storage/box/gloves ) - cost = 50 - containertype = "/obj/structure/closet/crate/secure" + cost = 25 + containertype = /obj/structure/closet/crate/secure containername = "Security biohazard gear" + access = access_security \ No newline at end of file diff --git a/code/datums/underwear/underwear.dm b/code/datums/underwear/underwear.dm index bac96bf55cf..f418f3e8d14 100644 --- a/code/datums/underwear/underwear.dm +++ b/code/datums/underwear/underwear.dm @@ -63,11 +63,11 @@ datum/category_group/underwear/dd_SortValue() /datum/category_item/underwear/proc/is_default(var/gender) return is_default -/datum/category_item/underwear/proc/generate_image(var/list/metadata) +/datum/category_item/underwear/proc/generate_image(var/list/metadata, var/layer = FLOAT_LAYER) if(!icon_state) return - var/image/I = image(icon = icon, icon_state = icon_state) + var/image/I = image(icon = icon, icon_state = icon_state, layer = layer) for(var/datum/gear_tweak/gt in tweaks) gt.tweak_item(I, metadata && metadata["[gt]"] ? metadata["[gt]"] : gt.get_default()) return I \ No newline at end of file diff --git a/code/datums/wires/mines.dm b/code/datums/wires/mines.dm new file mode 100644 index 00000000000..2d0aecaaf03 --- /dev/null +++ b/code/datums/wires/mines.dm @@ -0,0 +1,81 @@ +/datum/wires/mines + wire_count = 6 + random = 1 + holder_type = /obj/effect/mine + +#define WIRE_DETONATE 1 +#define WIRE_TIMED_DET 2 +#define WIRE_DISARM 4 +#define WIRE_DUMMY_1 8 +#define WIRE_DUMMY_2 16 +#define WIRE_BADDISARM 32 + +/datum/wires/mines/GetInteractWindow() + . = ..() + . += "
\n["Warning: detonation may occur even with proper equipment."]" + return . + +/datum/wires/mines/proc/explode() + return + +/datum/wires/mines/UpdateCut(var/index, var/mended) + var/obj/effect/mine/C = holder + + switch(index) + if(WIRE_DETONATE) + C.visible_message("\icon[C] *BEEE-*", "\icon[C] *BEEE-*") + C.explode() + + if(WIRE_TIMED_DET) + C.visible_message("\icon[C] *BEEE-*", "\icon[C] *BEEE-*") + C.explode() + + if(WIRE_DISARM) + C.visible_message("\icon[C] *click!*", "\icon[C] *click!*") + new C.mineitemtype(get_turf(C)) + spawn(0) + qdel(C) + return + + if(WIRE_DUMMY_1) + return + + + if(WIRE_DUMMY_2) + return + + if(WIRE_BADDISARM) + C.visible_message("\icon[C] *BEEPBEEPBEEP*", "\icon[C] *BEEPBEEPBEEP*") + spawn(20) + C.explode() + return + +/datum/wires/mines/UpdatePulsed(var/index) + var/obj/effect/mine/C = holder + if(IsIndexCut(index)) + return + switch(index) + if(WIRE_DETONATE) + C.visible_message("\icon[C] *beep*", "\icon[C] *beep*") + + if(WIRE_TIMED_DET) + C.visible_message("\icon[C] *BEEPBEEPBEEP*", "\icon[C] *BEEPBEEPBEEP*") + spawn(20) + C.explode() + + if(WIRE_DISARM) + C.visible_message("\icon[C] *ping*", "\icon[C] *ping*") + + if(WIRE_DUMMY_1) + C.visible_message("\icon[C] *ping*", "\icon[C] *ping*") + + if(WIRE_DUMMY_2) + C.visible_message("\icon[C] *beep*", "\icon[C] *beep*") + + if(WIRE_BADDISARM) + C.visible_message("\icon[C] *ping*", "\icon[C] *ping*") + return + +/datum/wires/mines/CanUse(var/mob/living/L) + var/obj/effect/mine/M = holder + return M.panel_open diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 020d2026f23..ba809cb977f 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -137,6 +137,18 @@ var/global/list/PDA_Manifest = list() if(!department && !(name in heads)) misc[++misc.len] = list("name" = name, "rank" = rank, "active" = isactive) + // Synthetics don't have actual records, so we will pull them from here. + // Synths don't have records, which is the means by which isactive is retrieved, so I'm hardcoding it to active, don't really have any better means + for(var/mob/living/silicon/ai/ai in mob_list) + bot[++bot.len] = list("name" = ai.real_name, "rank" = "Artificial Intelligence", "active" = "Active") + + for(var/mob/living/silicon/robot/robot in mob_list) + // No combat/syndicate cyborgs, no drones. + if(robot.module && robot.module.hide_on_manifest) + continue + + bot[++bot.len] = list("name" = robot.real_name, "rank" = "[robot.modtype] [robot.braintype]", "active" = "Active") + PDA_Manifest = list( list("cat" = "Command", "elems" = heads), @@ -191,6 +203,12 @@ var/global/list/PDA_Manifest = list() anchored = 1 unacidable = 1//temporary until I decide whether the borg can be removed. -veyveyr +/obj/structure/showcase/sign + name = "WARNING: WILDERNESS" + icon = 'icons/obj/stationobjs.dmi' + icon_state = "wilderness1" + desc = "This appears to be a sign warning people that the other side is dangerous. It also says that NanoTrasen cannot guarantee your safety beyond this point." + /obj/item/mouse_drag_pointer = MOUSE_ACTIVE_POINTER /obj/item/weapon/beach_ball diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 4cd21a55277..75c95d0b0c7 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -102,8 +102,9 @@ temp_blade.attack_self() /obj/item/weapon/cane/concealed/attack_self(var/mob/user) + var/datum/gender/T = gender_datums[user.get_visible_gender()] if(concealed_blade) - user.visible_message("[user] has unsheathed \a [concealed_blade] from \his [src]!", "You unsheathe \the [concealed_blade] from \the [src].") + user.visible_message("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!", "You unsheathe \the [concealed_blade] from \the [src].") // Calling drop/put in hands to properly call item drop/pickup procs playsound(user.loc, 'sound/weapons/flipblade.ogg', 50, 1) user.drop_from_inventory(src) @@ -117,7 +118,8 @@ /obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) if(!src.concealed_blade && istype(W)) - user.visible_message("[user] has sheathed \a [W] into \his [src]!", "You sheathe \the [W] into \the [src].") + var/datum/gender/T = gender_datums[user.get_visible_gender()] + user.visible_message("[user] has sheathed \a [W] into [T.his] [src]!", "You sheathe \the [W] into \the [src].") user.drop_from_inventory(W) W.loc = src src.concealed_blade = W @@ -478,6 +480,7 @@ /obj/item/weapon/stock_parts/capacitor/adv name = "advanced capacitor" desc = "An advanced capacitor used in the construction of a variety of devices." + icon_state = "capacitor_adv" origin_tech = list(TECH_POWER = 3) rating = 2 matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) @@ -485,7 +488,7 @@ /obj/item/weapon/stock_parts/scanning_module/adv name = "advanced scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." - icon_state = "scan_module" + icon_state = "scan_module_adv" origin_tech = list(TECH_MAGNET = 3) rating = 2 matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) @@ -519,6 +522,7 @@ /obj/item/weapon/stock_parts/capacitor/super name = "super capacitor" desc = "A super-high capacity capacitor used in the construction of a variety of devices." + icon_state = "capacitor_super" origin_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) rating = 3 matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) @@ -526,6 +530,7 @@ /obj/item/weapon/stock_parts/scanning_module/phasic name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." + icon_state = "scan_module_phasic" origin_tech = list(TECH_MAGNET = 5) rating = 3 matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index 5c443535404..22fa3438caf 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -111,7 +111,7 @@ datum/announcement/priority/command/Sound(var/message_sound) datum/announcement/proc/Log(message as text, message_title as text) if(log) - log_say("[key_name(usr)] has made \a [announcement_type]: [message_title] - [message] - [announcer]") + log_game("[key_name(usr)] has made \a [announcement_type]: [message_title] - [message] - [announcer]") message_admins("[key_name_admin(usr)] has made \a [announcement_type].", 1) /proc/GetNameAndAssignmentFromId(var/obj/item/weapon/card/id/I) diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm index b36c27e116b..484ff8ea33e 100644 --- a/code/game/antagonist/antagonist.dm +++ b/code/game/antagonist/antagonist.dm @@ -52,7 +52,7 @@ var/flags = 0 // Various runtime options. // Used for setting appearance. - var/list/valid_species = list("Unathi","Tajara","Skrell","Human","Diona","Teshari") + var/list/valid_species = list(SPECIES_UNATHI,SPECIES_TAJ,SPECIES_SKRELL,SPECIES_HUMAN,SPECIES_DIONA,SPECIES_TESHARI) // Runtime vars. var/datum/mind/leader // Current leader, if any. diff --git a/code/game/antagonist/antagonist_update.dm b/code/game/antagonist/antagonist_update.dm index 7cf17b5640a..16c27f82c7e 100644 --- a/code/game/antagonist/antagonist_update.dm +++ b/code/game/antagonist/antagonist_update.dm @@ -33,7 +33,9 @@ if(!antag_indicator || !other.current || !recipient.current) return var/indicator = (faction_indicator && (other in faction_members)) ? faction_indicator : antag_indicator - return image('icons/mob/mob.dmi', loc = other.current, icon_state = indicator, layer = LIGHTING_LAYER+0.1) + var/image/returnimage = image('icons/mob/mob.dmi', loc = other.current, icon_state = indicator) + returnimage.plane = PLANE_LIGHTING_ABOVE + return returnimage /datum/antagonist/proc/update_all_icons() if(!antag_indicator) diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm index ed2964cfad5..94b362fca8d 100644 --- a/code/game/antagonist/outsider/mercenary.dm +++ b/code/game/antagonist/outsider/mercenary.dm @@ -42,16 +42,14 @@ var/datum/antagonist/mercenary/mercs if(player.backbag == 3) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(player), slot_back) if(player.backbag == 4) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(player), slot_back) if(player.backbag == 5) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(player), slot_back) - player.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(player.back), slot_in_backpack) player.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(player), slot_in_backpack) + player.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT player.mind.accept_tcrystals = 1 var/obj/item/device/radio/uplink/U = new(player.loc, player.mind, DEFAULT_TELECRYSTAL_AMOUNT) player.put_in_hands(U) - player.update_icons_layers() - create_id("Mercenary", player) create_radio(SYND_FREQ, player) return 1 diff --git a/code/game/antagonist/outsider/ninja.dm b/code/game/antagonist/outsider/ninja.dm index b37fbb5c503..02a314b1f3d 100644 --- a/code/game/antagonist/outsider/ninja.dm +++ b/code/game/antagonist/outsider/ninja.dm @@ -158,7 +158,7 @@ var/datum/antagonist/ninja/ninjas if(13) directive += "Some disgruntled [using_map.company_name] employees have been supportive of our operations. Be wary of any mistreatment by command staff." if(14) - var/xenorace = pick("Unathi","Tajara", "Skrell") + var/xenorace = pick(SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL) directive += "A group of [xenorace] radicals have been loyal supporters of the Spider Clan. Favor [xenorace] crew whenever possible." if(15) directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the Chaplain and prove these accusations false." diff --git a/code/game/antagonist/outsider/raider.dm b/code/game/antagonist/outsider/raider.dm index 7c62208ca13..c130d8e66fa 100644 --- a/code/game/antagonist/outsider/raider.dm +++ b/code/game/antagonist/outsider/raider.dm @@ -205,7 +205,7 @@ var/datum/antagonist/raider/raiders if(!..()) return 0 - if(player.species && player.species.get_bodytype() == "Vox") + if(player.species && player.species.get_bodytype() == SPECIES_VOX) equip_vox(player) else var/new_shoes = pick(raider_shoes) diff --git a/code/game/antagonist/outsider/technomancer.dm b/code/game/antagonist/outsider/technomancer.dm index 33dc33b5e87..2cb75323083 100644 --- a/code/game/antagonist/outsider/technomancer.dm +++ b/code/game/antagonist/outsider/technomancer.dm @@ -47,7 +47,6 @@ var/datum/antagonist/technomancer/technomancers technomancer_mob.equip_to_slot_or_del(new /obj/item/device/flashlight(technomancer_mob), slot_belt) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(technomancer_mob), slot_shoes) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/head/technomancer/master(technomancer_mob), slot_head) - technomancer_mob.update_icons_layers() return 1 /datum/antagonist/technomancer/proc/equip_apprentice(var/mob/living/carbon/human/technomancer_mob) @@ -67,7 +66,6 @@ var/datum/antagonist/technomancer/technomancers technomancer_mob.equip_to_slot_or_del(new /obj/item/device/flashlight(technomancer_mob), slot_belt) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(technomancer_mob), slot_shoes) technomancer_mob.equip_to_slot_or_del(new /obj/item/clothing/head/technomancer/apprentice(technomancer_mob), slot_head) - technomancer_mob.update_icons() return 1 /datum/antagonist/technomancer/check_victory() diff --git a/code/game/antagonist/outsider/wizard.dm b/code/game/antagonist/outsider/wizard.dm index ad5cc104798..feaf8857ba8 100644 --- a/code/game/antagonist/outsider/wizard.dm +++ b/code/game/antagonist/outsider/wizard.dm @@ -87,7 +87,6 @@ var/datum/antagonist/wizard/wizards wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box(wizard_mob), slot_in_backpack) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(wizard_mob), slot_r_store) wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/spellbook(wizard_mob), slot_r_hand) - wizard_mob.update_icons_layers() return 1 /datum/antagonist/wizard/check_victory() diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 2c75c0d255b..d2495186075 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -13,82 +13,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station */ - - -/area - var/fire = null - var/atmos = 1 - var/atmosalm = 0 - var/poweralm = 1 - var/party = null - level = null - name = "Unknown" - icon = 'icons/turf/areas.dmi' - icon_state = "unknown" - layer = 10 - luminosity = 0 - mouse_opacity = 0 - var/lightswitch = 1 - - var/eject = null - - var/debug = 0 - var/requires_power = 1 - var/always_unpowered = 0 //this gets overriden to 1 for space in area/New() - - var/power_equip = 1 - var/power_light = 1 - var/power_environ = 1 - var/music = null - var/used_equip = 0 - var/used_light = 0 - var/used_environ = 0 - - var/has_gravity = 1 - var/obj/machinery/power/apc/apc = null - var/no_air = null -// var/list/lights // list of all lights on this area - var/list/all_doors = null //Added by Strumpetplaya - Alarm Change - Contains a list of doors adjacent to this area - var/firedoors_closed = 0 - var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') - var/list/forced_ambience = null - var/sound_env = STANDARD_STATION - var/turf/base_turf //The base turf type of the area, which can be used to override the z-level's base turf - -/*Adding a wizard area teleport list because motherfucking lag -- Urist*/ -/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ -var/list/teleportlocs = list() - -/hook/startup/proc/setupTeleportLocs() - for(var/area/AR in world) - if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)) continue - if(teleportlocs.Find(AR.name)) continue - var/turf/picked = pick(get_area_turfs(AR.type)) - if (picked.z in using_map.station_levels) - teleportlocs += AR.name - teleportlocs[AR.name] = AR - - teleportlocs = sortAssoc(teleportlocs) - - return 1 - -var/list/ghostteleportlocs = list() - -/hook/startup/proc/setupGhostTeleportLocs() - for(var/area/AR in world) - if(ghostteleportlocs.Find(AR.name)) continue - if(istype(AR, /area/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom)) - ghostteleportlocs += AR.name - ghostteleportlocs[AR.name] = AR - var/turf/picked = pick(get_area_turfs(AR.type)) - if (picked.z in using_map.player_levels) - ghostteleportlocs += AR.name - ghostteleportlocs[AR.name] = AR - - ghostteleportlocs = sortAssoc(ghostteleportlocs) - - return 1 - /*-----------------------------------------------------------------------------*/ ///////// @@ -104,7 +28,7 @@ var/list/ghostteleportlocs = list() power_light = 0 power_equip = 0 power_environ = 0 - ambience = list('sound/ambience/ambispace.ogg','sound/music/title2.ogg','sound/music/space.ogg','sound/music/main.ogg','sound/music/traitor.ogg') + ambience = list('sound/ambience/ambispace.ogg','sound/music/title2.ogg','sound/music/space.ogg','sound/music/main.ogg','sound/music/traitor.ogg','sound/ambience/serspaceamb1.ogg') base_turf = /turf/space area/space/atmosalert() @@ -358,6 +282,7 @@ area/space/atmosalert() /area/shuttle/trade name = "\improper Trade Station" icon_state = "red" + dynamic_lighting = 0 /area/shuttle/trade/centcom name = "\improper Trade Shuttle CentCom" diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 0c5fe0e7deb..c7a653a4c34 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -1,15 +1,49 @@ // Areas.dm - - -// === /area + var/fire = null + var/atmos = 1 + var/atmosalm = 0 + var/poweralm = 1 + var/party = null + level = null + name = "Unknown" + icon = 'icons/turf/areas.dmi' + icon_state = "unknown" + plane = PLANE_LIGHTING_ABOVE //In case we color them + luminosity = 0 + mouse_opacity = 0 + var/lightswitch = 1 + + var/eject = null + + var/debug = 0 + var/requires_power = 1 + var/always_unpowered = 0 //this gets overriden to 1 for space in area/New() + + var/power_equip = 1 + var/power_light = 1 + var/power_environ = 1 + var/music = null + var/used_equip = 0 + var/used_light = 0 + var/used_environ = 0 + + var/has_gravity = 1 + var/obj/machinery/power/apc/apc = null + var/no_air = null +// var/list/lights // list of all lights on this area + var/list/all_doors = null //Added by Strumpetplaya - Alarm Change - Contains a list of doors adjacent to this area + var/firedoors_closed = 0 + var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') + var/list/forced_ambience = null + var/sound_env = STANDARD_STATION + var/turf/base_turf //The base turf type of the area, which can be used to override the z-level's base turf var/global/global_uid = 0 var/uid /area/New() icon_state = "" - layer = 10 uid = ++global_uid all_areas += src @@ -25,11 +59,18 @@ ..() -/area/proc/initialize() +/area/initialize() + . = ..() + return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms. + +/area/LateInitialize() if(!requires_power || !apc) power_light = 0 power_equip = 0 power_environ = 0 + return INITIALIZE_HINT_LATELOAD + +/area/LateInitialize() power_change() // all machines set to current power level, also updates lighting icon /area/proc/get_contents() @@ -45,7 +86,11 @@ if (danger_level == 0) atmosphere_alarm.clearAlarm(src, alarm_source) else - atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) + var/obj/machinery/alarm/atmosalarm = alarm_source //maybe other things can trigger these, who knows + if(istype(atmosalarm)) + atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level, hidden = atmosalarm.alarms_hidden) + else + atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) //Check all the alarms before lowering atmosalm. Raising is perfectly fine. for (var/obj/machinery/alarm/AA in src) @@ -237,23 +282,26 @@ var/list/mob/living/forced_ambiance_list = new // If we previously were in an area with force-played ambiance, stop it. if(L in forced_ambiance_list) - L << sound(null, channel = 1) + L << sound(null, channel = CHANNEL_AMBIENCE_FORCED) forced_ambiance_list -= L if(!L.client.ambience_playing) L.client.ambience_playing = 1 - L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = 2) + L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_AMBIENCE) if(forced_ambience) if(forced_ambience.len) forced_ambiance_list |= L - L << sound(pick(forced_ambience), repeat = 1, wait = 0, volume = 25, channel = 1) + var/sound/chosen_ambiance = pick(forced_ambience) + if(!istype(chosen_ambiance)) + chosen_ambiance = sound(chosen_ambiance, repeat = 1, wait = 0, volume = 25, channel = CHANNEL_AMBIENCE_FORCED) + L << chosen_ambiance else - L << sound(null, channel = 1) + L << sound(null, channel = CHANNEL_AMBIENCE_FORCED) else if(src.ambience.len && prob(35)) if((world.time >= L.client.played + 600)) var/sound = pick(ambience) - L << sound(sound, repeat = 0, wait = 0, volume = 25, channel = 1) + L << sound(sound, repeat = 0, wait = 0, volume = 25, channel = CHANNEL_AMBIENCE) L.client.played = world.time /area/proc/gravitychange(var/gravitystate = 0, var/area/A) @@ -307,3 +355,49 @@ var/list/mob/living/forced_ambiance_list = new if(A && A.has_gravity()) return 1 return 0 + +/area/proc/shuttle_arrived() + return TRUE + +/area/proc/shuttle_departed() + return TRUE + +/area/AllowDrop() + CRASH("Bad op: area/AllowDrop() called") + +/area/drop_location() + CRASH("Bad op: area/drop_location() called") + +/*Adding a wizard area teleport list because motherfucking lag -- Urist*/ +/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ +var/list/teleportlocs = list() + +/hook/startup/proc/setupTeleportLocs() + for(var/area/AR in world) + if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)) continue + if(teleportlocs.Find(AR.name)) continue + var/turf/picked = pick(get_area_turfs(AR.type)) + if (picked.z in using_map.station_levels) + teleportlocs += AR.name + teleportlocs[AR.name] = AR + + teleportlocs = sortAssoc(teleportlocs) + + return 1 + +var/list/ghostteleportlocs = list() + +/hook/startup/proc/setupGhostTeleportLocs() + for(var/area/AR in world) + if(ghostteleportlocs.Find(AR.name)) continue + if(istype(AR, /area/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom)) + ghostteleportlocs += AR.name + ghostteleportlocs[AR.name] = AR + var/turf/picked = pick(get_area_turfs(AR.type)) + if (picked.z in using_map.player_levels) + ghostteleportlocs += AR.name + ghostteleportlocs[AR.name] = AR + + ghostteleportlocs = sortAssoc(ghostteleportlocs) + + return 1 diff --git a/code/game/atoms.dm b/code/game/atoms.dm index c8a9c1e1b55..dda3e0a6b57 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1,5 +1,5 @@ /atom - layer = 2 + layer = TURF_LAYER //This was here when I got here. Why though? var/level = 2 var/flags = 0 var/list/fingerprints @@ -22,15 +22,59 @@ // replaced by OPENCONTAINER flags and atom/proc/is_open_container() ///Chemistry. + // Overlays + var/list/our_overlays //our local copy of (non-priority) overlays without byond magic. Use procs in SSoverlays to manipulate + var/list/priority_overlays //overlays that should remain on top and not normally removed when using cut_overlay functions, like c4. + //Detective Work, used for the duplicate data points kept in the scanners var/list/original_atom + // Track if we are already had initialize() called to prevent double-initialization. + var/initialized = FALSE -//atom creation method that preloads variables at creation -/atom/New() +/atom/New(loc, ...) // Don't call ..() unless /datum/New() ever exists + + // During dynamic mapload (reader.dm) this assigns the var overrides from the .dmm file + // Native BYOND maploading sets those vars before invoking New(), by doing this FIRST we come as close to that behavior as we can. if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New() _preloader.load(src) + // Pass our arguments to InitAtom so they can be passed to initialize(), but replace 1st with if-we're-during-mapload. + var/do_initialize = SSatoms && SSatoms.initialized // Workaround our non-ideal initialization order: SSatoms may not exist yet. + //var/do_initialize = SSatoms.initialized + if(do_initialize > INITIALIZATION_INSSATOMS) + args[1] = (do_initialize == INITIALIZATION_INNEW_MAPLOAD) + if(SSatoms.InitAtom(src, args)) + // We were deleted. No sense continuing + return + + // Uncomment if anything ever uses the return value of SSatoms.InitializeAtoms ~Leshana + // If a map is being loaded, it might want to know about newly created objects so they can be handled. + // var/list/created = SSatoms.created_atoms + // if(created) + // created += src + +// Note: I removed "auto_init" feature (letting types disable auto-init) since it shouldn't be needed anymore. +// You can replicate the same by checking the value of the first parameter to initialize() ~Leshana + +// Called after New if the map is being loaded, with mapload = TRUE +// Called from base of New if the map is not being loaded, with mapload = FALSE +// This base must be called or derivatives must set initialized to TRUE +// Must not sleep! +// Other parameters are passed from New (excluding loc), this does not happen if mapload is TRUE +// Must return an Initialize hint. Defined in code/__defines/subsystems.dm +/atom/proc/initialize(mapload, ...) + if(QDELETED(src)) + crash_with("GC: -- [type] had initialize() called after qdel() --") + if(initialized) + crash_with("Warning: [src]([type]) initialized multiple times!") + initialized = TRUE + return INITIALIZE_HINT_NORMAL + +// Called after all object's normal initialize() if initialize() returns INITIALIZE_HINT_LATELOAD +/atom/proc/LateInitialize() + return + /atom/proc/reveal_blood() return @@ -349,6 +393,7 @@ /atom/proc/add_vomit_floor(mob/living/carbon/M as mob, var/toxvomit = 0) if( istype(src, /turf/simulated) ) var/obj/effect/decal/cleanable/vomit/this = new /obj/effect/decal/cleanable/vomit(src) + this.virus2 = virus_copylist(M.virus2) // Make toxins vomit look different if(toxvomit) @@ -457,3 +502,18 @@ if(A && A.has_gravity()) return TRUE return FALSE + +/atom/proc/drop_location() + var/atom/L = loc + if(!L) + return null + return L.AllowDrop() ? L : get_turf(L) + +/atom/proc/AllowDrop() + return FALSE + +/atom/proc/get_nametag_name(mob/user) + return name + +/atom/proc/get_nametag_desc(mob/user) + return "" //Desc itself is often too long to use diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 2dba31d5789..5311d642a27 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1,5 +1,5 @@ /atom/movable - layer = 3 + layer = OBJ_LAYER appearance_flags = TILE_BOUND|PIXEL_SCALE var/last_move = null var/anchored = 0 @@ -18,15 +18,6 @@ var/icon_scale = 1 // Used to scale icons up or down in update_transform(). var/old_x = 0 var/old_y = 0 - var/auto_init = 1 - -/atom/movable/New() - ..() - if(auto_init && ticker && ticker.current_state == GAME_STATE_PLAYING) - if(SScreation && SScreation.map_loading) // If a map is being loaded, newly created objects need to wait for it to finish. - SScreation.atoms_needing_initialize += src - else - initialize() /atom/movable/Destroy() . = ..() @@ -47,10 +38,6 @@ pulledby.pulling = null pulledby = null -/atom/movable/proc/initialize() - if(QDELETED(src)) - crash_with("GC: -- [type] had initialize() called after qdel() --") - /atom/movable/Bump(var/atom/A, yes) if(src.throwing) src.throw_impact(A) diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index e80dcb72270..4f5c9ae699d 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -83,7 +83,7 @@ var/global/list/datum/dna/gene/dna_genes[0] var/real_name // Stores the real name of the person who originally got this dna datum. Used primarily for changelings, // New stuff - var/species = "Human" + var/species = SPECIES_HUMAN var/list/body_markings = list() // Make a copy of this strand. diff --git a/code/game/gamemodes/changeling/generic_equip_procs.dm b/code/game/gamemodes/changeling/generic_equip_procs.dm index 7ff76ff9f62..ef1ab650a19 100644 --- a/code/game/gamemodes/changeling/generic_equip_procs.dm +++ b/code/game/gamemodes/changeling/generic_equip_procs.dm @@ -122,7 +122,6 @@ playsound(src, 'sound/effects/splat.ogg', 30, 1) visible_message("[src] pulls on their clothes, peeling it off along with parts of their skin attached!", "We remove and deform our equipment.") - M.update_icons_layers() M.mind.changeling.armor_deployed = 0 return success @@ -138,7 +137,6 @@ M.equip_to_slot_or_del(I, slot_head) grown_items_list.Add("a helmet") playsound(src, 'sound/effects/blobattack.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -148,7 +146,6 @@ M.equip_to_slot_or_del(I, slot_w_uniform) grown_items_list.Add("a uniform") playsound(src, 'sound/effects/blobattack.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -158,7 +155,6 @@ M.equip_to_slot_or_del(I, slot_gloves) grown_items_list.Add("some gloves") playsound(src, 'sound/effects/splat.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -168,7 +164,6 @@ M.equip_to_slot_or_del(I, slot_shoes) grown_items_list.Add("shoes") playsound(src, 'sound/effects/splat.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -178,7 +173,6 @@ M.equip_to_slot_or_del(I, slot_belt) grown_items_list.Add("a belt") playsound(src, 'sound/effects/splat.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -188,7 +182,6 @@ M.equip_to_slot_or_del(I, slot_glasses) grown_items_list.Add("some glasses") playsound(src, 'sound/effects/splat.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -198,7 +191,6 @@ M.equip_to_slot_or_del(I, slot_wear_mask) grown_items_list.Add("a mask") playsound(src, 'sound/effects/splat.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -208,7 +200,6 @@ M.equip_to_slot_or_del(I, slot_back) grown_items_list.Add("a backpack") playsound(src, 'sound/effects/blobattack.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -218,7 +209,6 @@ M.equip_to_slot_or_del(I, slot_wear_suit) grown_items_list.Add("an exosuit") playsound(src, 'sound/effects/blobattack.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) @@ -228,20 +218,13 @@ M.equip_to_slot_or_del(I, slot_wear_id) grown_items_list.Add("an ID card") playsound(src, 'sound/effects/splat.ogg', 30, 1) - M.update_icons_layers() success = 1 sleep(1 SECOND) var/feedback = english_list(grown_items_list, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) M << "We have grown [feedback]." - /* - for(var/I in stuff_to_equip) - world << I - world << stuff_to_equip - world << "Proc ended." - */ - M.update_icons() + if(success) M.mind.changeling.armor_deployed = 1 M.mind.changeling.chem_charges -= 10 diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index 0af67b22ed6..f76fd5ca477 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -53,9 +53,7 @@ src << "We stab [T] with the proboscis." src.visible_message("[src] stabs [T] with the proboscis!") T << "You feel a sharp stabbing pain!" - T.attack_log += text("\[[time_stamp()]\] Was absorbed by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Absorbed [key_name(T)]") - msg_admin_attack("[key_name(T)] was absorbed by [key_name(src)]") + add_attack_logs(src,T,"Absorbed (changeling)") var/obj/item/organ/external/affecting = T.get_organ(src.zone_sel.selecting) if(affecting.take_damage(39,0,1,0,"large organic needle")) T:UpdateDamageIcon() diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm index 5ab724789b4..35526be0d69 100644 --- a/code/game/gamemodes/changeling/powers/armblade.dm +++ b/code/game/gamemodes/changeling/powers/armblade.dm @@ -86,7 +86,8 @@ ..() /obj/item/weapon/melee/changeling/suicide_act(mob/user) - viewers(user) << "[user] is impaling \himself the [src.name]! It looks like \he's trying to commit suicide." + var/datum/gender/T = gender_datums[user.get_visible_gender()] + viewers(user) << "[user] is impaling [T.himself] with the [src.name]! It looks like [T.he] [T.is] trying to commit suicide." return(BRUTELOSS) /obj/item/weapon/melee/changeling/process() //Stolen from ninja swords. diff --git a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm index c173ba55acc..3f3c1bd7adc 100644 --- a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm +++ b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm @@ -47,7 +47,7 @@ var/agony = 80 * siemens //Does more than if hit with an electric hand, since grabbing is slower. G.affecting.stun_effect_act(0, agony, BP_TORSO, src) - msg_admin_attack("[key_name(src)] shocked [key_name(G.affecting)] with the [src].") + add_attack_logs(src,G.affecting,"Changeling shocked") if(siemens) visible_message("Arcs of electricity strike [G.affecting]!", @@ -102,6 +102,8 @@ desc = "You could probably shock someone badly if you touched them, or recharge something." icon = 'icons/obj/weapons.dmi' icon_state = "electric_hand" + show_examine = FALSE + var/shock_cost = 10 var/agony_amount = 60 var/electrocute_amount = 10 @@ -147,7 +149,7 @@ C.electrocute_act(electrocute_amount * siemens,src,1.0,BP_TORSO) C.stun_effect_act(0, agony_amount * siemens, BP_TORSO, src) - msg_admin_attack("[key_name(user)] shocked [key_name(C)] with the [src].") + add_attack_logs(user,C,"Shocked with [src]") if(siemens) visible_message("Arcs of electricity strike [C]!", diff --git a/code/game/gamemodes/changeling/powers/blind_sting.dm b/code/game/gamemodes/changeling/powers/blind_sting.dm index 41b14478b3d..347881df9b2 100644 --- a/code/game/gamemodes/changeling/powers/blind_sting.dm +++ b/code/game/gamemodes/changeling/powers/blind_sting.dm @@ -15,9 +15,7 @@ var/mob/living/carbon/T = changeling_sting(20,/mob/proc/changeling_blind_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was blind stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used blind sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was blind stung by [key_name(src)]") + add_attack_logs(src,T,"Blind sting (changeling)") T << "Your eyes burn horrificly!" T.disabilities |= NEARSIGHTED var/duration = 300 diff --git a/code/game/gamemodes/changeling/powers/cryo_sting.dm b/code/game/gamemodes/changeling/powers/cryo_sting.dm index 4bb92a543e2..bc68428d892 100644 --- a/code/game/gamemodes/changeling/powers/cryo_sting.dm +++ b/code/game/gamemodes/changeling/powers/cryo_sting.dm @@ -16,9 +16,7 @@ var/mob/living/carbon/T = changeling_sting(20,/mob/proc/changeling_cryo_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was cryo stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used cryo sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was cryo stung by [key_name(src)]") + add_attack_logs(src,T,"Cryo sting (changeling)") var/inject_amount = 10 if(src.mind.changeling.recursive_enhancement) inject_amount = inject_amount * 1.5 diff --git a/code/game/gamemodes/changeling/powers/deaf_sting.dm b/code/game/gamemodes/changeling/powers/deaf_sting.dm index 24c1e5d2607..a94ad1744aa 100644 --- a/code/game/gamemodes/changeling/powers/deaf_sting.dm +++ b/code/game/gamemodes/changeling/powers/deaf_sting.dm @@ -15,9 +15,7 @@ var/mob/living/carbon/T = changeling_sting(5,/mob/proc/changeling_deaf_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was deaf stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used deaf sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was deaf stung by [key_name(src)]") + add_attack_logs(src,T,"Deaf sting (changeling)") var/duration = 300 if(src.mind.changeling.recursive_enhancement) duration = duration + 100 diff --git a/code/game/gamemodes/changeling/powers/death_sting.dm b/code/game/gamemodes/changeling/powers/death_sting.dm index 52412a4282c..6dd0cdbf855 100644 --- a/code/game/gamemodes/changeling/powers/death_sting.dm +++ b/code/game/gamemodes/changeling/powers/death_sting.dm @@ -13,9 +13,7 @@ var/mob/living/carbon/T = changeling_sting(40,/mob/proc/changeling_DEATHsting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was death stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used death sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was death stung by [key_name(src)]") + add_attack_logs(src,T,"Death sting (changeling)") T << "You feel a small prick and your chest becomes tight." T.silent = 10 T.Paralyse(10) diff --git a/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm b/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm index a9b323465c3..7853a9603e8 100644 --- a/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm +++ b/code/game/gamemodes/changeling/powers/delayed_toxin_sting.dm @@ -28,10 +28,7 @@ var/mob/living/carbon/T = changeling_sting(20,/mob/proc/changeling_delayed_toxic_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was delayed toxic stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used delayed toxic sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was delayed toxic stung by [key_name(src)]") - + add_attack_logs(src,T,"Delayed toxic sting (chagneling)") var/type_to_give = /datum/modifier/delayed_toxin_sting if(src.mind.changeling.recursive_enhancement) type_to_give = /datum/modifier/delayed_toxin_sting/strong diff --git a/code/game/gamemodes/changeling/powers/electric_lockpick.dm b/code/game/gamemodes/changeling/powers/electric_lockpick.dm index dd77debc974..29ad6573f68 100644 --- a/code/game/gamemodes/changeling/powers/electric_lockpick.dm +++ b/code/game/gamemodes/changeling/powers/electric_lockpick.dm @@ -30,6 +30,7 @@ desc = "This finger appears to be an organic datajack." icon = 'icons/obj/weapons.dmi' icon_state = "electric_hand" + show_examine = FALSE /obj/item/weapon/finger_lockpick/New() if(ismob(loc)) diff --git a/code/game/gamemodes/changeling/powers/enfeebling_string.dm b/code/game/gamemodes/changeling/powers/enfeebling_string.dm index b7a6c569572..16303f7c589 100644 --- a/code/game/gamemodes/changeling/powers/enfeebling_string.dm +++ b/code/game/gamemodes/changeling/powers/enfeebling_string.dm @@ -35,9 +35,7 @@ if(ishuman(T)) var/mob/living/carbon/human/H = T - T.attack_log += text("\[[time_stamp()]\] Was enfeebling stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used enfeebling sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was enfeebling stung by [key_name(src)]") + add_attack_logs(src,T,"Enfeebling sting (changeling)") var/type_to_give = /datum/modifier/enfeeble if(src.mind.changeling.recursive_enhancement) diff --git a/code/game/gamemodes/changeling/powers/extract_dna_sting.dm b/code/game/gamemodes/changeling/powers/extract_dna_sting.dm index 6198e409a6d..0c5d91d83b6 100644 --- a/code/game/gamemodes/changeling/powers/extract_dna_sting.dm +++ b/code/game/gamemodes/changeling/powers/extract_dna_sting.dm @@ -35,9 +35,7 @@ src << "This creature's DNA is ruined beyond useability!" return 0 - T.attack_log += text("\[[time_stamp()]\] Had DNA extracted via sting by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used DNA extraction sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was DNA extraction stung by [key_name(src)]") + add_attack_logs(src,T,"DNA extraction sting (changeling)") var/datum/absorbed_dna/newDNA = new(T.real_name, T.dna, T.species.name, T.languages) absorbDNA(newDNA) diff --git a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm index bc37afc1ea7..d79af62b4c0 100644 --- a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm +++ b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm @@ -56,7 +56,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/clothing/head/chameleon/changeling name = "malformed head" @@ -78,7 +77,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/clothing/suit/chameleon/changeling name = "chitinous chest" @@ -104,7 +102,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/clothing/shoes/chameleon/changeling name = "malformed feet" @@ -130,7 +127,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/weapon/storage/backpack/chameleon/changeling name = "backpack" @@ -158,7 +154,6 @@ var/global/list/changeling_fabricated_clothing = list( for(var/atom/movable/AM in src.contents) //Dump whatever's in the bag before deleting. AM.forceMove(get_turf(loc)) qdel(src) - H.update_icons_layers() /obj/item/clothing/gloves/chameleon/changeling name = "malformed hands" @@ -185,8 +180,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() - /obj/item/clothing/mask/chameleon/changeling name = "chitin visor" @@ -213,7 +206,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/clothing/glasses/chameleon/changeling name = "chitin goggles" @@ -235,7 +227,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/weapon/storage/belt/chameleon/changeling name = "waist pouch" @@ -261,7 +252,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() /obj/item/weapon/card/id/syndicate/changeling name = "chitinous card" @@ -277,6 +267,9 @@ var/global/list/changeling_fabricated_clothing = list( /obj/item/weapon/card/id/syndicate/changeling/New(mob/user as mob) ..() registered_user = user + +/obj/item/weapon/card/id/syndicate/changeling/initialize() + . = ..() access = null /obj/item/weapon/card/id/syndicate/changeling/verb/shred() @@ -288,8 +281,6 @@ var/global/list/changeling_fabricated_clothing = list( visible_message("[H] tears off [src]!", "We remove [src].") qdel(src) - H.update_icons_layers() - /obj/item/weapon/card/id/syndicate/changeling/Click() //Since we can't hold it in our hands, and attack_hand() doesn't work if it in inventory... if(!registered_user) diff --git a/code/game/gamemodes/changeling/powers/lsd_sting.dm b/code/game/gamemodes/changeling/powers/lsd_sting.dm index 9adb4acd091..fabb81327e4 100644 --- a/code/game/gamemodes/changeling/powers/lsd_sting.dm +++ b/code/game/gamemodes/changeling/powers/lsd_sting.dm @@ -13,9 +13,7 @@ var/mob/living/carbon/T = changeling_sting(15,/mob/proc/changeling_lsdsting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was hallucination stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used hallucination sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was hallucination stung by [key_name(src)]") + add_attack_logs(src,T,"Hallucination sting (changeling)") spawn(rand(300,600)) if(T) T.hallucination += 400 feedback_add_details("changeling_powers","HS") diff --git a/code/game/gamemodes/changeling/powers/para_sting.dm b/code/game/gamemodes/changeling/powers/para_sting.dm index efe6fe8f791..7a0020bd0fb 100644 --- a/code/game/gamemodes/changeling/powers/para_sting.dm +++ b/code/game/gamemodes/changeling/powers/para_sting.dm @@ -12,9 +12,7 @@ var/mob/living/carbon/T = changeling_sting(30,/mob/proc/changeling_paralysis_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was paralysis stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used paralysis sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was paralysis stung by [key_name(src)]") + add_attack_logs(src,T,"Paralysis sting (changeling)") T << "Your muscles begin to painfully tighten." T.Weaken(20) feedback_add_details("changeling_powers","PS") diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 98b091abaa6..0da6c3c3d56 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -33,12 +33,12 @@ H.restore_all_organs(ignore_prosthetic_prefs=1) //Covers things like fractures and other things not covered by the above. H.restore_blood() H.mutations.Remove(HUSK) - H.status_flags -= DISFIGURED + H.status_flags &= ~DISFIGURED H.update_icons_body() for(var/limb in H.organs_by_name) var/obj/item/organ/external/current_limb = H.organs_by_name[limb] if(current_limb) - current_limb.undislocate() + current_limb.relocate() current_limb.open = 0 BITSET(H.hud_updateflag, HEALTH_HUD) @@ -60,4 +60,4 @@ - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 40e796490f3..4989c27f877 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -51,12 +51,8 @@ range = range * 2 to_chat(src, "We are extra loud.") - src.attack_log += text("\[[time_stamp()]\] Used Resonant Shriek.") - message_admins("[key_name(src)] used Resonant Shriek ([src.x],[src.y],[src.z]) (JMP).") - log_game("[key_name(src)] used Resonant Shriek.") - visible_message("[src] appears to shout.") - + var/list/affected = list() for(var/mob/living/M in range(range, src)) if(iscarbon(M)) if(!M.mind || !M.mind.changeling) @@ -67,7 +63,7 @@ M.adjustEarDamage(0,30) M.Confuse(20) M << sound('sound/effects/screech.ogg') - M.attack_log += text("\[[time_stamp()]\] Was affected by [key_name(src)]'s Resonant Shriek.") + affected += M else if(M != src) M << "You hear a familiar screech from nearby. It has no effect on you." @@ -77,7 +73,7 @@ M << sound('sound/weapons/flash.ogg') M << "Auditory input overloaded. Reinitializing..." M.Weaken(rand(5,10)) - M.attack_log += text("\[[time_stamp()]\] Was affected by [key_name(src)]'s Resonant Shriek.") + affected += M for(var/obj/machinery/light/L in range(range, src)) L.on = 1 @@ -85,6 +81,7 @@ changeling.last_shriek = world.time + add_attack_logs(src,affected,"Used resonant shriek") feedback_add_details("changeling_powers","RS") return 1 @@ -133,9 +130,7 @@ visible_message("[src] appears to shout.") - src.attack_log += text("\[[time_stamp()]\] Used Dissonant Shriek.") - message_admins("[key_name(src)] used Dissonant Shriek ([src.x],[src.y],[src.z]) (JMP).") - log_game("[key_name(src)] used Dissonant Shriek.") + add_attack_logs(src,null,"Use dissonant shriek") for(var/obj/machinery/light/L in range(5, src)) L.on = 1 diff --git a/code/game/gamemodes/changeling/powers/silence_sting.dm b/code/game/gamemodes/changeling/powers/silence_sting.dm index 1ab25278a4c..334b0c139f8 100644 --- a/code/game/gamemodes/changeling/powers/silence_sting.dm +++ b/code/game/gamemodes/changeling/powers/silence_sting.dm @@ -15,9 +15,7 @@ var/mob/living/carbon/T = changeling_sting(10,/mob/proc/changeling_silence_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was silence stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used silence sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was silence stung by [key_name(src)]") + add_attack_logs(src,T,"Silence sting (changeling)") var/duration = 30 if(src.mind.changeling.recursive_enhancement) duration = duration + 10 diff --git a/code/game/gamemodes/changeling/powers/transform_sting.dm b/code/game/gamemodes/changeling/powers/transform_sting.dm index 797eec92d29..678e195e22a 100644 --- a/code/game/gamemodes/changeling/powers/transform_sting.dm +++ b/code/game/gamemodes/changeling/powers/transform_sting.dm @@ -36,9 +36,7 @@ if((HUSK in T.mutations) || (!ishuman(T) && !issmall(T))) src << "Our sting appears ineffective against its DNA." return 0 - T.attack_log += text("\[[time_stamp()]\] Was transform stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used transform sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was transform stung by [key_name(src)]") + add_attack_logs(src,T,"Transformation sting (changeling)") T.visible_message("[T] transforms!") T.dna = chosen_dna.Clone() T.real_name = chosen_dna.real_name diff --git a/code/game/gamemodes/changeling/powers/unfat_sting.dm b/code/game/gamemodes/changeling/powers/unfat_sting.dm index 4b42f55e304..f2e238746d1 100644 --- a/code/game/gamemodes/changeling/powers/unfat_sting.dm +++ b/code/game/gamemodes/changeling/powers/unfat_sting.dm @@ -11,9 +11,7 @@ var/mob/living/carbon/T = changeling_sting(5,/mob/proc/changeling_unfat_sting) if(!T) return 0 - T.attack_log += text("\[[time_stamp()]\] Was unfat stung by [key_name(src)]") - src.attack_log += text("\[[time_stamp()]\] Used unfat sting on [key_name(T)]") - msg_admin_attack("[key_name(T)] was unfat stung by [key_name(src)]") + add_attack_logs(src,T,"Unfat sting (changeling)") T << "you feel a small prick as stomach churns violently and you become to feel skinnier." T.overeatduration = 0 T.nutrition -= 100 diff --git a/code/game/gamemodes/cult/construct_spells.dm b/code/game/gamemodes/cult/construct_spells.dm new file mode 100644 index 00000000000..f8ff57fc357 --- /dev/null +++ b/code/game/gamemodes/cult/construct_spells.dm @@ -0,0 +1,698 @@ +//cast_method flags, needs to be up to date with Technomancer's. They were, for some reason, not working outside it. +#define CAST_USE 1 // Clicking the spell in your hand. +#define CAST_MELEE 2 // Clicking an atom in melee range. +#define CAST_RANGED 4 // Clicking an atom beyond melee range. +#define CAST_THROW 8 // Throwing the spell and hitting an atom. +#define CAST_COMBINE 16 // Clicking another spell with this spell. +#define CAST_INNATE 32 // Activates upon verb usage, used for mobs without hands. + +//Aspects +#define ASPECT_FIRE "fire" //Damage over time and raising body-temp. Firesuits protect from this. +#define ASPECT_FROST "frost" //Slows down the affected, also involves imbedding with icicles. Winter coats protect from this. +#define ASPECT_SHOCK "shock" //Energy-expensive, usually stuns. Insulated armor protects from this. +#define ASPECT_AIR "air" //Mostly involves manipulation of atmos, useless in a vacuum. Magboots protect from this. +#define ASPECT_FORCE "force" //Manipulates gravity to push things away or towards a location. +#define ASPECT_TELE "tele" //Teleportation of self, other objects, or other people. +#define ASPECT_DARK "dark" //Makes all those photons vanish using magic-- WITH SCIENCE. Used for sneaky stuff. +#define ASPECT_LIGHT "light" //The opposite of dark, usually blinds, makes holo-illusions, or makes laser lightshows. +#define ASPECT_BIOMED "biomed" //Mainly concerned with healing and restoration. +#define ASPECT_EMP "emp" //Unused now. +#define ASPECT_UNSTABLE "unstable" //Heavily RNG-based, causes instability to the victim. +#define ASPECT_CHROMATIC "chromatic" //Used to combine with other spells. +#define ASPECT_UNHOLY "unholy" //Involves the dead, blood, and most things against divine beings. + +//////////////////////////////Construct Spells///////////////////////// + +proc/findNullRod(var/atom/target) + if(istype(target,/obj/item/weapon/nullrod)) + return 1 + else if(target.contents) + for(var/atom/A in target.contents) + if(findNullRod(A)) + return 1 + return 0 + +/spell/aoe_turf/conjure/construct + name = "Artificer" + desc = "This spell conjures a construct which may be controlled by Shades" + + school = "conjuration" + charge_max = 600 + spell_flags = 0 + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + summon_type = list(/obj/structure/constructshell) + + hud_state = "artificer" + +/spell/aoe_turf/conjure/construct/lesser + charge_max = 1800 + summon_type = list(/obj/structure/constructshell/cult) + hud_state = "const_shell" + override_base = "const" + +/spell/aoe_turf/conjure/floor + name = "Floor Construction" + desc = "This spell constructs a cult floor" + + charge_max = 20 + spell_flags = Z2NOCAST | CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + summon_type = list(/turf/simulated/floor/cult) + + hud_state = "const_floor" + +/spell/aoe_turf/conjure/floor/conjure_animation(var/atom/movable/overlay/animation, var/turf/target) + animation.icon_state = "cultfloor" + flick("cultfloor",animation) + spawn(10) + qdel(animation) + +/spell/aoe_turf/conjure/wall + name = "Lesser Construction" + desc = "This spell constructs a cult wall" + + charge_max = 100 + spell_flags = Z2NOCAST | CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + summon_type = list(/turf/simulated/wall/cult) + + hud_state = "const_wall" + +/spell/aoe_turf/conjure/wall/conjure_animation(var/atom/movable/overlay/animation, var/turf/target) + animation.icon_state = "cultwall" + flick("cultwall",animation) + spawn(10) + qdel(animation) + +/spell/aoe_turf/conjure/wall/reinforced + name = "Greater Construction" + desc = "This spell constructs a reinforced metal wall" + + charge_max = 300 + spell_flags = Z2NOCAST + invocation = "none" + invocation_type = SpI_NONE + range = 0 + cast_delay = 50 + + summon_type = list(/turf/simulated/wall/r_wall) + +/spell/aoe_turf/conjure/soulstone + name = "Summon Soulstone" + desc = "This spell reaches into Nar-Sie's realm, summoning one of the legendary fragments across time and space" + + charge_max = 3000 + spell_flags = 0 + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + summon_type = list(/obj/item/device/soulstone) + + hud_state = "const_stone" + override_base = "const" + +/spell/aoe_turf/conjure/pylon + name = "Red Pylon" + desc = "This spell conjures a fragile crystal from Nar-Sie's realm. Makes for a convenient light source." + + charge_max = 200 + spell_flags = CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + summon_type = list(/obj/structure/cult/pylon) + + hud_state = "const_pylon" + +/spell/aoe_turf/conjure/pylon/cast(list/targets) + ..() + var/turf/spawn_place = pick(targets) + for(var/obj/structure/cult/pylon/P in spawn_place.contents) + if(P.isbroken) + P.repair(usr) + continue + return + +/spell/aoe_turf/conjure/door + name = "Stone Door" + desc = "This spell conjures a massive stone door." + + charge_max = 100 + spell_flags = CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + summon_type = list(/obj/structure/simple_door/cult) + + hud_state = "const_door" + +/spell/aoe_turf/conjure/grille + name = "Arcane Grille" + desc = "This spell conjures an airtight grille." + + charge_max = 100 + spell_flags = CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + summon_type = list(/obj/structure/grille/cult) + + hud_state = "const_grille" + +/spell/aoe_turf/conjure/forcewall/lesser + name = "Shield" + desc = "Allows you to pull up a shield to protect yourself and allies from incoming threats" + + charge_max = 300 + spell_flags = 0 + invocation = "none" + invocation_type = SpI_NONE + range = 0 + summon_type = list(/obj/effect/forcefield/cult) + duration = 200 + + hud_state = "const_juggwall" + +//Code for the Juggernaut construct's forcefield, that seemed like a good place to put it. +/obj/effect/forcefield/cult + desc = "That eerie looking obstacle seems to have been pulled from another dimension through sheer force" + name = "Juggerwall" + icon = 'icons/effects/effects.dmi' + icon_state = "m_shield_cult" + light_color = "#B40000" + light_range = 2 + +/obj/effect/forcefield/cult/cultify() + return + +/spell/aoe_turf/knock/harvester + name = "Force Doors" + desc = "Mortal portals are no match for your occult might." + + spell_flags = CONSTRUCT_CHECK + + charge_max = 100 + invocation = "" + invocation_type = "silent" + range = 4 + + hud_state = "const_knock" + +/spell/aoe_turf/knock/harvester/cast(list/targets) +/* for(var/turf/T in targets) //Disintigrating doors is bad, okay. + for(var/obj/machinery/door/door in T.contents) + spawn door.cultify() + return */ + for(var/turf/T in targets) + for(var/obj/machinery/door/door in T.contents) + spawn(1) + if(istype(door,/obj/machinery/door/airlock)) + var/obj/machinery/door/airlock/AL = door + AL.locked = 0 //The spirits of the damned care not for your locks. + AL.welded = 0 //Or your welding tools. + else if(istype(door, /obj/machinery/door/firedoor)) + var/obj/machinery/door/firedoor/FD = door + FD.blocked = 0 + door.open(1) + return + +/* + * + * Self-targeting spells. Modifiers, auras, instants, etc. + * + */ + +/spell/targeted/ethereal_jaunt/shift + name = "Phase Shift" + desc = "This spell allows you to pass through walls" + + charge_max = 200 + spell_flags = Z2NOCAST | INCLUDEUSER | CONSTRUCT_CHECK + invocation_type = SpI_NONE + range = -1 + duration = 50 //in deciseconds + + hud_state = "const_shift" + +/spell/targeted/ethereal_jaunt/shift/jaunt_disappear(var/atom/movable/overlay/animation, var/mob/living/target) + animation.icon_state = "phase_shift" + animation.dir = target.dir + flick("phase_shift",animation) + +/spell/targeted/ethereal_jaunt/shift/jaunt_reappear(var/atom/movable/overlay/animation, var/mob/living/target) + animation.icon_state = "phase_shift2" + animation.dir = target.dir + flick("phase_shift2",animation) + +/spell/targeted/ethereal_jaunt/shift/jaunt_steam(var/mobloc) + return + +/* + * Harvest has been disabled due to the lack of Nar'Sie. Here for posterity / future rework. + */ + +/* +/spell/targeted/harvest + name = "Harvest" + desc = "Back to where I come from, and you're coming with me." + + school = "transmutation" + charge_max = 200 + spell_flags = Z2NOCAST | CONSTRUCT_CHECK | INCLUDEUSER + invocation = "" + invocation_type = SpI_NONE + range = 0 + max_targets = 0 + + overlay = 1 + overlay_icon = 'icons/effects/effects.dmi' + overlay_icon_state = "rune_teleport" + overlay_lifespan = 0 + + hud_state = "const_harvest" + +/spell/targeted/harvest/cast(list/targets, mob/user)//because harvest is already a proc + ..() + + var/destination = null + for(var/obj/singularity/narsie/large/N in narsie_list) + destination = N.loc + break + if(destination) + var/prey = 0 + for(var/mob/living/M in targets) + if(!findNullRod(M)) + M.forceMove(destination) + if(M != user) + prey = 1 + user << "You warp back to Nar-Sie[prey ? " along with your prey":""]." + else + user << "...something's wrong!"//There shouldn't be an instance of Harvesters when Nar-Sie isn't in the world. +*/ + +/spell/targeted/fortify + name = "Fortify Shell" + desc = "Emit a field of energy around your shell to reduce incoming damage incredibly, while decreasing your mobility." + + range = -1 + school = "evocation" + charge_type = Sp_RECHARGE + invocation_type = SpI_NONE + + spell_flags = CONSTRUCT_CHECK | INCLUDEUSER + + hud_state = "const_fortify" + smoke_amt = 0 + + charge_max = 600 + +/spell/targeted/fortify/cast(list/targets, mob/living/user) + if(findNullRod(user) || user.has_modifier_of_type(/datum/modifier/fortify)) + charge_counter = 400 + return + user.add_modifier(/datum/modifier/fortify, 1 MINUTES) + +/spell/targeted/occult_repair_aura + name = "Repair Aura" + desc = "Emit a field of energy around your shell to repair nearby constructs at range." + + range = -1 + school = "evocation" + charge_type = Sp_RECHARGE + invocation_type = SpI_NONE + + spell_flags = CONSTRUCT_CHECK | INCLUDEUSER + + hud_state = "const_repairaura" + smoke_amt = 0 + + charge_max = 600 + +/spell/targeted/occult_repair_aura/cast(list/targets, mob/living/user) + if(findNullRod(user) || user.has_modifier_of_type(/datum/modifier/repair_aura)) + charge_counter = 300 + return + user.add_modifier(/datum/modifier/repair_aura, 30 SECONDS) + +/spell/targeted/ambush_mode + name = "Toggle Ambush" + desc = "Phase yourself mostly out of this reality, minimizing your combat ability, but allowing for employance of ambush tactics." + + range = -1 + school = "evocation" + charge_type = Sp_RECHARGE + invocation_type = SpI_NONE + + spell_flags = CONSTRUCT_CHECK | INCLUDEUSER + + hud_state = "const_ambush" + smoke_amt = 0 + + charge_max = 100 + +/spell/targeted/ambush_mode/cast(list/targets, mob/living/user) + if(findNullRod(user)) + charge_counter = 50 + return + if(user.has_modifier_of_type(/datum/modifier/ambush)) + user.remove_modifiers_of_type(/datum/modifier/ambush) + return + user.add_modifier(/datum/modifier/ambush, 0) + +/* + * + * These are the spells that place spell-objects into the construct's hands akin to technomancers. + * + */ + +/spell/targeted/construct_advanced + name = "Base Construct Spell" + desc = "If you see this, please tell a developer!" + + range = -1 + school = "evocation" + charge_type = Sp_RECHARGE + invocation_type = SpI_NONE + + spell_flags = CONSTRUCT_CHECK | INCLUDEUSER + + hud_state = "const_rune" + smoke_amt = 0 + + charge_max = 10 + + var/obj/item/weapon/spell/construct/spell_obj = null //This is the var that determines what Technomancer-style spell is put into their hands. + +/spell/targeted/construct_advanced/cast(list/targets, mob/living/user) + if(!findNullRod(user)) + user.place_spell_in_hand(spell_obj) + +/spell/targeted/construct_advanced/inversion_beam + name = "Inversion Beam" + desc = "Fire a searing beam of darkness at your foes." + + hud_state = "const_beam" + spell_obj = /obj/item/weapon/spell/construct/projectile/inverted_beam + +/spell/targeted/construct_advanced/mend_acolyte + name = "Mend Acolyte" + desc = "Mend a target acolyte or construct over time." + + charge_max = 100 + + hud_state = "const_mend" + spell_obj = /obj/item/weapon/spell/construct/mend_occult + +/spell/targeted/construct_advanced/agonizing_sphere + name = "Sphere of Agony" + desc = "Rend a portal into a plane of naught but pain at the target location." + + charge_max = 100 + + hud_state = "const_harvest" + spell_obj = /obj/item/weapon/spell/construct/spawner/agonizing_sphere + +/spell/targeted/construct_advanced/slam + name = "Slam" + desc = "Empower your FIST." + + charge_max = 300 + + hud_state = "const_fist" + spell_obj = /obj/item/weapon/spell/construct/slam + +/* + * + * These are the spell objects that go into the construct's hands. + * + */ + +/* + * Base advanced construct spell types. + */ + +/obj/item/weapon/spell/construct //Energy costs are in units of blood, in the event a cultist gets one of these. + name = "unholy energy" + desc = "Your hands appear to be screaming. This is a debug text, you should probably tell a developer!" + icon = 'icons/obj/spells.dmi' + icon_state = "generic" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_spells.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_spells.dmi', + ) + throwforce = 0 + force = 0 + show_examine = FALSE + owner = null + core = null + cast_methods = null // Controls how the spell is casted. + aspect = ASPECT_UNHOLY // Used for combining spells. Pretty much any cult spell is unholy. + toggled = 0 // Mainly used for overlays. + cooldown = 0 // If set, will add a cooldown overlay and adjust click delay. Must be a multiple of 5 for overlays. + cast_sound = null // Sound file played when this is used. + var/last_castcheck = null // The last time this spell was cast. + +/obj/item/weapon/spell/construct/New() + //..() //This kills the spell, because super on this calls the default spell's New, which checks for a core. Can't have that. + if(isliving(loc)) + owner = loc + if(!owner) + qdel(src) + update_icon() + +/obj/item/weapon/spell/construct/adjust_instability(var/amount) //The only drawback to the boons of the geometer is the use of a mortal's blood as fuel. Constructs have already paid that price long ago. + return + +/obj/item/weapon/spell/construct/run_checks() + if(owner) + if((iscultist(owner) || istype(owner, /mob/living/simple_animal/construct)) && (world.time >= (last_castcheck + cooldown))) //Are they a cultist or a construct, and has the cooldown time passed? + last_castcheck = world.time + return 1 + return 0 + +/obj/item/weapon/spell/construct/pay_energy(var/amount) + if(owner) + if(istype(owner, /mob/living/simple_animal/construct)) + return 1 + if(iscultist(owner) && pay_blood(amount)) + return 1 + return 0 + +/obj/item/weapon/spell/construct/proc/pay_blood(var/amount) //If, for some reason, this is put into the hands of a cultist, by a talisnam or whatever. + if(ishuman(owner)) + var/mob/living/carbon/human/H = owner + if(!H.should_have_organ(O_HEART)) + return 1 + if(H.vessel.remove_reagent("blood", amount)) + return 1 + return 0 + +/obj/item/weapon/spell/construct/afterattack(atom/target, mob/user, proximity_flag, click_parameters) //Not overriding it caused runtimes, because cooldown checked for core. + if(!run_checks()) + return + if(!proximity_flag) + if(cast_methods & CAST_RANGED) + on_ranged_cast(target, user) + else + if(istype(target, /obj/item/weapon/spell)) + var/obj/item/weapon/spell/spell = target + if(spell.cast_methods & CAST_COMBINE) + spell.on_combine_cast(src, user) + return + if(cast_methods & CAST_MELEE) + on_melee_cast(target, user) + else if(cast_methods & CAST_RANGED) //Try to use a ranged method if a melee one doesn't exist. + on_ranged_cast(target, user) + if(cooldown) + var/effective_cooldown = round(cooldown, 5) + user.setClickCooldown(effective_cooldown) + flick("cooldown_[effective_cooldown]",src) + +/obj/item/weapon/spell/construct/projectile //This makes me angry, but we need the template, and we can't use it because special check overrides on the base. + name = "construct projectile template" + icon_state = "generic" + desc = "This is a generic template that shoots projectiles. If you can read this, the game broke!" + cast_methods = CAST_RANGED + var/obj/item/projectile/spell_projectile = null + var/pre_shot_delay = 0 + var/fire_sound = null + var/energy_cost_per_shot = 5 + +/obj/item/weapon/spell/construct/projectile/on_ranged_cast(atom/hit_atom, mob/living/user) + if(set_up(hit_atom, user)) + var/obj/item/projectile/new_projectile = make_projectile(spell_projectile, user) + new_projectile.launch(hit_atom) + log_and_message_admins("has casted [src] at \the [hit_atom].") + if(fire_sound) + playsound(get_turf(src), fire_sound, 75, 1) + return 1 + return 0 + +/obj/item/weapon/spell/construct/projectile/proc/make_projectile(obj/item/projectile/projectile_type, mob/living/user) + var/obj/item/projectile/P = new projectile_type(get_turf(user)) + return P + +/obj/item/weapon/spell/construct/projectile/proc/set_up(atom/hit_atom, mob/living/user) + if(spell_projectile) + if(pay_energy(energy_cost_per_shot)) + if(pre_shot_delay) + var/image/target_image = image(icon = 'icons/obj/spells.dmi', loc = get_turf(hit_atom), icon_state = "target") + user << target_image + user.Stun(pre_shot_delay / 10) + sleep(pre_shot_delay) + qdel(target_image) + if(owner) + return TRUE + return FALSE // We got dropped before the firing occured. + return TRUE // No delay, no need to check. + return FALSE + +/obj/item/weapon/spell/construct/spawner + name = "spawner template" + desc = "If you see me, someone messed up." + icon_state = "darkness" + cast_methods = CAST_RANGED + var/obj/effect/spawner_type = null + +/obj/item/weapon/spell/construct/spawner/on_ranged_cast(atom/hit_atom, mob/user) + var/turf/T = get_turf(hit_atom) + if(T) + new spawner_type(T) + to_chat(user, "You shift \the [src] onto \the [T].") + log_and_message_admins("has casted [src] at [T.x],[T.y],[T.z].") + qdel(src) + +//Harvester Laser. + +/obj/item/weapon/spell/construct/projectile/inverted_beam + name = "inversion beam" + icon_state = "generic" + desc = "Your manipulators fire searing beams of inverted light." + cast_methods = CAST_RANGED + spell_projectile = /obj/item/projectile/beam/inversion + pre_shot_delay = 0 + cooldown = 5 + fire_sound = 'sound/weapons/spiderlunge.ogg' + +/obj/item/projectile/beam/inversion + name = "inversion beam" + icon_state = "invert" + fire_sound = 'sound/weapons/spiderlunge.ogg' + damage = 15 + damage_type = BURN + check_armour = "laser" + armor_penetration = 60 + light_range = 2 + light_power = -2 + light_color = "#FFFFFF" + + muzzle_type = /obj/effect/projectile/inversion/muzzle + tracer_type = /obj/effect/projectile/inversion/tracer + impact_type = /obj/effect/projectile/inversion/impact + +//Harvester Pain Orb + +/obj/item/weapon/spell/construct/spawner/agonizing_sphere + name = "sphere of agony" + desc = "Call forth a portal to a dimension of naught but pain at your target." + + spawner_type = /obj/effect/temporary_effect/pulsar/agonizing_sphere + +/obj/item/weapon/spell/construct/spawner/agonizing_sphere/on_ranged_cast(atom/hit_atom, mob/user) + if(within_range(hit_atom) && pay_energy(10)) + ..() + +/obj/item/weapon/spell/construct/spawner/agonizing_sphere/on_throw_cast(atom/hit_atom, mob/user) + pay_energy(5) + if(isliving(hit_atom)) + var/mob/living/L = hit_atom + L.add_modifier(/datum/modifier/agonize, 10 SECONDS) + +/obj/effect/temporary_effect/pulsar/agonizing_sphere + name = "agonizing sphere" + desc = "A portal to some hellish place. Its screams wrack your body with pain.." + icon_state = "red_static_sphere" + time_to_die = null + light_range = 4 + light_power = 5 + light_color = "#FF0000" + pulses_remaining = 10 + +/obj/effect/temporary_effect/pulsar/agonizing_sphere/pulse_loop() + while(pulses_remaining) + sleep(1 SECONDS) + spawn() + for(var/mob/living/L in view(4,src)) + if(!iscultist(L) && !istype(L, /mob/living/simple_animal/construct)) + L.add_modifier(/datum/modifier/agonize, 2 SECONDS) + if(L.isSynthetic()) + to_chat(L, "Your chassis warps as the [src] pulses!") + L.adjustFireLoss(4) + pulses_remaining-- + qdel(src) + +//Artificer Heal + +/obj/item/weapon/spell/construct/mend_occult + name = "mend acolyte" + desc = "Mend the wounds of a cultist, or construct, over time." + icon_state = "mend_wounds" + cast_methods = CAST_MELEE + aspect = ASPECT_UNHOLY + light_color = "#FF5C5C" + light_power = -2 + +/obj/item/weapon/spell/construct/mend_occult/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) + if(isliving(hit_atom)) + var/mob/living/L = hit_atom + L.add_modifier(/datum/modifier/mend_occult, 150) + qdel(src) + +//Juggernaut + Behemoth Slam +/obj/item/weapon/spell/construct/slam + name = "slam" + desc = "Empower your FIST, to send an opponent flying." + icon_state = "toggled_old" + cast_methods = CAST_MELEE + aspect = ASPECT_UNHOLY + light_color = "#FF5C5C" + light_power = -2 + cooldown = 15 + +/obj/item/weapon/spell/construct/slam/on_melee_cast(atom/hit_atom, mob/living/user, def_zone) + var/attack_message = "slams" + if(istype(user, /mob/living/simple_animal)) + var/mob/living/simple_animal/S = user + attack_message = pick(S.attacktext) + if(isliving(hit_atom)) + var/mob/living/L = hit_atom + L.visible_message("\The [user] [attack_message] \the [L], sending them flying!") + playsound(src, "punch", 50, 1) + L.Weaken(2) + L.adjustBruteLoss(rand(30, 50)) + var/throwdir = get_dir(src, L) + L.throw_at(get_edge_target_turf(L, throwdir), 3, 1, src) + if(istype(hit_atom, /turf/simulated/wall)) + var/turf/simulated/wall/W = hit_atom + user.visible_message("\The [user] rears its fist, preparing to hit \the [W]!") + var/windup = cooldown + if(W.reinf_material) + windup = cooldown * 2 + if(do_after(user, windup)) + W.visible_message("\The [user] [attack_message] \the [W], obliterating it!") + W.dismantle_wall(1) + else + user.visible_message("\The [user] lowers its fist.") + return + qdel(src) \ No newline at end of file diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index cecb7b87c7b..9d8eb8dc914 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -14,20 +14,21 @@ return /obj/item/weapon/melee/cultblade/attack(mob/living/M, mob/living/user, var/target_zone) - if(iscultist(user)) + if(iscultist(user) && !istype(user, /mob/living/simple_animal/construct)) return ..() var/zone = (user.hand ? "l_arm":"r_arm") if(ishuman(user)) var/mob/living/carbon/human/H = user var/obj/item/organ/external/affecting = H.get_organ(zone) - user << "An unexplicable force rips through your [affecting.name], tearing the sword from your grasp!" + to_chat(user, "An inexplicable force rips through your [affecting.name], tearing the sword from your grasp!") + //random amount of damage between half of the blade's force and the full force of the blade. + user.apply_damage(rand(force/2, force), BRUTE, zone, 0, sharp=1, edge=1) + user.Weaken(5) + else if(!istype(user, /mob/living/simple_animal/construct)) + to_chat(user, "An inexplicable force rips through you, tearing the sword from your grasp!") else - user << "An unexplicable force rips through you, tearing the sword from your grasp!" - - //random amount of damage between half of the blade's force and the full force of the blade. - user.apply_damage(rand(force/2, force), BRUTE, zone, 0, sharp=1, edge=1) - user.Weaken(5) + to_chat(user, "The blade hisses, forcing itself from your manipulators. \The [src] will only allow mortals to wield it against foes, not kin.") user.drop_from_inventory(src, src.loc) throw_at(get_edge_target_turf(src, pick(alldirs)), rand(1,3), throw_speed) @@ -38,10 +39,11 @@ return 1 /obj/item/weapon/melee/cultblade/pickup(mob/living/user as mob) - if(!iscultist(user)) - user << "An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly." + if(!iscultist(user) && !istype(user, /mob/living/simple_animal/construct)) + to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly.") user.make_dizzy(120) - + if(istype(user, /mob/living/simple_animal/construct)) + to_chat(user, "\The [src] hisses, as it is discontent with your acquisition of it. It would be wise to return it to a worthy mortal quickly.") /obj/item/clothing/head/culthood name = "cult hood" diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 8db7a49255e..d91e2e1f47f 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -292,10 +292,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," words[cultwords[V]] = V attack(mob/living/M as mob, mob/living/user as mob) - - M.attack_log += text("\[[time_stamp()]\] Has had the [name] used on them by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used [name] on [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used [name] on [M.name] ([M.ckey]) (JMP)") + add_attack_logs(user,M,"Hit with [name]") if(istype(M,/mob/observer/dead)) var/mob/observer/dead/D = M diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index d2fdffcb16f..d7579698d1d 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -139,7 +139,7 @@ var/list/sacrificed = list() target.take_overall_damage(0, rand(5, 20)) // You dirty resister cannot handle the damage to your mind. Easily. - even cultists who accept right away should experience some effects // Resist messages go! if(initial_message) //don't do this stuff right away, only if they resist or hesitate. - admin_attack_log(attacker, target, "Used a convert rune", "Was subjected to a convert rune", "used a convert rune on") + add_attack_logs(attacker,target,"Convert rune") switch(target.getFireLoss()) if(0 to 25) target << "Your blood boils as you force yourself to resist the corruption invading every corner of your mind." @@ -168,7 +168,8 @@ var/list/sacrificed = list() if (!target.can_feel_pain()) target.visible_message("The markings below \the [target] glow a bloody red.") else - target.visible_message("[target] writhes in pain as the markings below \him glow a bloody red.", "AAAAAAHHHH!", "You hear an anguished scream.") + var/datum/gender/TT = gender_datums[target.get_visible_gender()] + target.visible_message("[target] writhes in pain as the markings below [TT.him] glow a bloody red.", "AAAAAAHHHH!", "You hear an anguished scream.") if(!waiting_for_input[target]) //so we don't spam them with dialogs if they hesitate waiting_for_input[target] = 1 @@ -246,7 +247,7 @@ var/list/sacrificed = list() if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) for(var/mob/living/carbon/D in R.loc) if(D.stat!=2) - admin_attack_log(usr, D, "Used a blood drain rune.", "Was victim of a blood drain rune.", "used a blood drain rune on") + add_attack_logs(usr,D,"Blood drain rune") var/bdrain = rand(1,25) D << "You feel weakened." D.take_overall_damage(bdrain, 0) @@ -373,15 +374,18 @@ var/list/sacrificed = list() sleep(10 SECONDS) if(corpse_to_raise.client) + + var/datum/gender/TU = gender_datums[corpse_to_raise.get_visible_gender()] + var/datum/gender/TT = gender_datums[body_to_sacrifice.get_visible_gender()] cult.add_antagonist(corpse_to_raise.mind) corpse_to_raise.revive() usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!") - corpse_to_raise.visible_message("[corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \ + corpse_to_raise.visible_message("[corpse_to_raise]'s eyes glow with a faint red as [TU.he] stand[TU.s] up, slowly starting to breathe again.", \ "Life... I'm alive again...", \ "You hear a faint, slightly familiar whisper.") - body_to_sacrifice.visible_message("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from \his remains!", \ + body_to_sacrifice.visible_message("[body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from [TT.his] remains!", \ "You feel as your blood boils, tearing you apart.", \ "You hear a thousand voices, all crying in pain.") body_to_sacrifice.gib() @@ -433,8 +437,9 @@ var/list/sacrificed = list() ajourney() //some bits copypastaed from admin tools - Urist if(usr.loc==src.loc) var/mob/living/carbon/human/L = usr + var/datum/gender/TU = gender_datums[L.get_visible_gender()] usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!") - usr.visible_message("[usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \ + usr.visible_message("[usr]'s eyes glow blue as [TU.he] freeze[TU.s] in place, absolutely motionless.", \ "The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \ "You hear only complete silence for a moment.") announce_ghost_joinleave(usr.ghostize(1), 1, "You feel that they had to use some [pick("dark", "black", "blood", "forgotten", "forbidden")] magic to [pick("invade","disturb","disrupt","infest","taint","spoil","blight")] this place!") @@ -599,11 +604,12 @@ var/list/sacrificed = list() mend() var/mob/living/user = usr + var/datum/gender/TU = gender_datums[usr.get_visible_gender()] src = null user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!") user.take_overall_damage(200, 0) runedec+=10 - user.visible_message("\The [user] keels over dead, \his blood glowing blue as it escapes \his body and dissipates into thin air.", \ + user.visible_message("\The [user] keels over dead, [TU.his] blood glowing blue as it escapes [TU.his] body and dissipates into thin air.", \ "In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ "You hear faint rustle.") for(,user.stat==2) @@ -886,7 +892,8 @@ var/list/sacrificed = list() if (cultist == user) //just to be sure. return if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet))) - user << "You cannot summon \the [cultist], for \his shackles of blood are strong." + var/datum/gender/TU = gender_datums[cultist.get_visible_gender()] + user << "You cannot summon \the [cultist], for [TU.his] shackles of blood are strong." return fizzle() cultist.loc = src.loc cultist.lying = 1 @@ -926,7 +933,7 @@ var/list/sacrificed = list() if(affected.len) usr.say("Sti[pick("'","`")] kaliedir!") usr << "The world becomes quiet as the deafening rune dissipates into fine dust." - admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on") + add_attack_logs(usr,affected,"Deafen rune") qdel(src) else return fizzle() @@ -945,7 +952,7 @@ var/list/sacrificed = list() if(affected.len) usr.whisper("Sti[pick("'","`")] kaliedir!") usr << "Your talisman turns into gray dust, deafening everyone around." - admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on") + add_attack_logs(usr, affected, "Deafen rune") for (var/mob/V in orange(1,src)) if(!(iscultist(V))) V.show_message("Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3) @@ -971,7 +978,7 @@ var/list/sacrificed = list() if(affected.len) usr.say("Sti[pick("'","`")] kaliesin!") usr << "The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust." - admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on") + add_attack_logs(usr, affected, "Blindness rune") qdel(src) else return fizzle() @@ -991,7 +998,7 @@ var/list/sacrificed = list() if(affected.len) usr.whisper("Sti[pick("'","`")] kaliesin!") usr << "Your talisman turns into gray dust, blinding those who not follow the Nar-Sie." - admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on") + add_attack_logs(usr, affected, "Blindness rune") return @@ -1028,8 +1035,7 @@ var/list/sacrificed = list() if(iscultist(C) && !C.stat) C.say("Dedo ol[pick("'","`")]btoh!") C.take_overall_damage(15, 0) - admin_attacker_log_many_victims(usr, victims, "Used a blood boil rune.", "Was the victim of a blood boil rune.", "used a blood boil rune on") - log_and_message_admins_many(cultists - usr, "assisted activating a blood boil rune.") + add_attack_logs(usr, victims, "Blood boil rune") qdel(src) else return fizzle() @@ -1077,13 +1083,13 @@ var/list/sacrificed = list() C.Weaken(1) C.Stun(1) C.show_message("The rune explodes in a bright flash.", 3) - admin_attack_log(usr, C, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on") + add_attack_logs(usr,C,"Stun rune") else if(issilicon(L)) var/mob/living/silicon/S = L S.Weaken(5) S.show_message("BZZZT... The rune has exploded in a bright flash.", 3) - admin_attack_log(usr, S, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on") + add_attack_logs(usr,S,"Stun rune") qdel(src) else ///When invoked as talisman, stun and mute the target mob. usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!") @@ -1097,7 +1103,7 @@ var/list/sacrificed = list() if(issilicon(T)) T.Weaken(15) - admin_attack_log(usr, T, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on") + add_attack_logs(usr,T,"Stun rune") else if(iscarbon(T)) var/mob/living/carbon/C = T C.flash_eyes() @@ -1105,7 +1111,7 @@ var/list/sacrificed = list() C.silent += 15 C.Weaken(25) C.Stun(25) - admin_attack_log(usr, C, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on") + add_attack_logs(usr,C,"Stun rune") return /////////////////////////////////////////TWENTY-FIFTH RUNE diff --git a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm index 81a6148e2c8..1051587d133 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm @@ -99,7 +99,9 @@ /turf/unsimulated/wall/supermatter/Bumped(atom/AM as mob|obj) if(istype(AM, /mob/living)) - AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.",\ + var/mob/living/M = AM + var/datum/gender/T = gender_datums[M.get_visible_gender()] + AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash.",\ "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\ "You hear an unearthly noise as a wave of heat washes over you.") else diff --git a/code/game/gamemodes/endgame/supermatter_cascade/portal.dm b/code/game/gamemodes/endgame/supermatter_cascade/portal.dm index fb4888ee205..2c47b8e1624 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/portal.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/portal.dm @@ -10,7 +10,7 @@ announce=0 cause_hell=0 - layer=LIGHTING_LAYER+2 // ITS SO BRIGHT + plane = PLANE_LIGHTING_ABOVE // ITS SO BRIGHT consume_range = 6 @@ -79,7 +79,8 @@ var/turf/T_mob = get_turf(src) if((R.z == T_mob.z) && (get_dist(R,T_mob) <= (R.consume_range+10)) && !(R in view(T_mob))) if(!riftimage) - riftimage = image('icons/obj/rift.dmi',T_mob,"rift",LIGHTING_LAYER+2,1) + riftimage = image('icons/obj/rift.dmi',T_mob,"rift",1,1) + riftimage.plane = PLANE_LIGHTING_ABOVE riftimage.mouse_opacity = 0 var/new_x = 32 * (R.x - T_mob.x) + R.pixel_x diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 85ae7329892..15113de8ab5 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -132,8 +132,6 @@ var/global/datum/controller/gameticker/ticker callHook("roundstart") - shuttle_controller.setup_shuttle_docks() - // TODO - Leshana - Dear God Fix This. Fix all of this. Not just this line, this entire proc. This entire file! spawn(0)//Forking here so we dont have to wait for this to finish mode.post_setup() diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm index 3db262d3dfd..f952dbad06f 100644 --- a/code/game/gamemodes/newobjective.dm +++ b/code/game/gamemodes/newobjective.dm @@ -1252,7 +1252,8 @@ datum proc/find_target() ..() if(target && target.current) - explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role], has defied us for the last time. Make an example of [target.current.gender == MALE ? "him" : target.current.gender == FEMALE ? "her" : "them"], and bring us [target.current.gender == MALE ? "his" : target.current.gender == FEMALE ? "her" : "their"] severed head." + var/datum/gender/T = gender_datums[target.current.get_visible_gender()] + explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role], has defied us for the last time. Make an example of [T.him], and bring us [T.his] severed head." else explanation_text = "Free Objective" return target @@ -1261,7 +1262,8 @@ datum find_target_by_role(role, role_type=0) ..(role, role_type) if(target && target.current) - explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)], has defied us for the last time. Make an example of [target.current.gender == MALE ? "him" : target.current.gender == FEMALE ? "her" : "them"], and bring us [target.current.gender == MALE ? "his" : target.current.gender == FEMALE ? "her" : "their"] severed head." + var/datum/gender/T = gender_datums[target.current.get_visible_gender()] + explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)], has defied us for the last time. Make an example of [T.him], and bring us [T.his] severed head." else explanation_text = "Free Objective" return target diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 850f061250d..5d5e3f13795 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -69,7 +69,8 @@ datum/objective/anti_revolution/execute find_target() ..() if(target && target.current) - explanation_text = "[target.current.real_name], the [target.assigned_role] has extracted confidential information above their clearance. Execute \him[target.current]." + var/datum/gender/T = gender_datums[target.current.get_visible_gender()] + explanation_text = "[target.current.real_name], the [target.assigned_role] has extracted confidential information above their clearance. Execute [T.him]." else explanation_text = "Free Objective" return target @@ -78,7 +79,8 @@ datum/objective/anti_revolution/execute find_target_by_role(role, role_type=0) ..(role, role_type) if(target && target.current) - explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has extracted confidential information above their clearance. Execute \him[target.current]." + var/datum/gender/T = gender_datums[target.current.get_visible_gender()] + explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has extracted confidential information above their clearance. Execute [T.him]." else explanation_text = "Free Objective" return target @@ -127,7 +129,8 @@ datum/objective/anti_revolution/demote find_target() ..() if(target && target.current) - explanation_text = "[target.current.real_name], the [target.assigned_role] has been classified as harmful to [using_map.company_name]'s goals. Demote \him[target.current] to assistant." + var/datum/gender/T = gender_datums[target.current.get_visible_gender()] + explanation_text = "[target.current.real_name], the [target.assigned_role] has been classified as harmful to [using_map.company_name]'s goals. Demote [T.him] to assistant." else explanation_text = "Free Objective" return target @@ -135,7 +138,8 @@ datum/objective/anti_revolution/demote find_target_by_role(role, role_type=0) ..(role, role_type) if(target && target.current) - explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has been classified as harmful to [using_map.company_name]'s goals. Demote \him[target.current] to assistant." + var/datum/gender/T = gender_datums[target.current.get_visible_gender()] + explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has been classified as harmful to [using_map.company_name]'s goals. Demote [T.him] to assistant." else explanation_text = "Free Objective" return target diff --git a/code/game/gamemodes/technomancer/assistance/golem.dm b/code/game/gamemodes/technomancer/assistance/golem.dm index 33fc246911f..6b8654e719a 100644 --- a/code/game/gamemodes/technomancer/assistance/golem.dm +++ b/code/game/gamemodes/technomancer/assistance/golem.dm @@ -30,7 +30,7 @@ melee_damage_lower = 30 // It has a built in esword. melee_damage_upper = 30 attack_sound = 'sound/weapons/blade1.ogg' - attacktext = "slashed" + attacktext = list("slashed") friendly = "hugs" resistance = 0 melee_miss_chance = 0 diff --git a/code/game/gamemodes/technomancer/spell_objs.dm b/code/game/gamemodes/technomancer/spell_objs.dm index fb288131026..681d29da50b 100644 --- a/code/game/gamemodes/technomancer/spell_objs.dm +++ b/code/game/gamemodes/technomancer/spell_objs.dm @@ -19,6 +19,7 @@ #define ASPECT_EMP "emp" //Unused now. #define ASPECT_UNSTABLE "unstable" //Heavily RNG-based, causes instability to the victim. #define ASPECT_CHROMATIC "chromatic" //Used to combine with other spells. +#define ASPECT_UNHOLY "unholy" //Involves the dead, blood, and most things against divine beings. /obj/item/weapon/spell name = "glowing particles" @@ -31,6 +32,7 @@ ) throwforce = 0 force = 0 + show_examine = FALSE // var/mob/living/carbon/human/owner = null var/mob/living/owner = null var/obj/item/weapon/technomancer_core/core = null diff --git a/code/game/gamemodes/technomancer/spells/control.dm b/code/game/gamemodes/technomancer/spells/control.dm index ebcf373bafa..78c709040a3 100644 --- a/code/game/gamemodes/technomancer/spells/control.dm +++ b/code/game/gamemodes/technomancer/spells/control.dm @@ -43,8 +43,8 @@ /mob/living/simple_animal/hostile/malf_drone, /mob/living/simple_animal/hostile/giant_spider, /mob/living/simple_animal/hostile/hivebot, - /mob/living/simple_animal/hostile/diyaab, //Doubt these will get used but might as well, - /mob/living/simple_animal/hostile/samak, + /mob/living/simple_animal/retaliate/diyaab, //Doubt these will get used but might as well, + /mob/living/simple_animal/hostile/savik, /mob/living/simple_animal/hostile/shantak ) diff --git a/code/game/gamemodes/technomancer/spells/illusion.dm b/code/game/gamemodes/technomancer/spells/illusion.dm index 5eac627728e..3e6d2dd8ab5 100644 --- a/code/game/gamemodes/technomancer/spells/illusion.dm +++ b/code/game/gamemodes/technomancer/spells/illusion.dm @@ -167,8 +167,9 @@ switch(M.a_intent) if(I_HELP) - M.visible_message("[M] hugs [src] to make \him feel better!", \ - "You hug [src] to make \him feel better!") + var/datum/gender/T = gender_datums[src.get_visible_gender()] + M.visible_message("[M] hugs [src] to make [T.him] feel better!", \ + "You hug [src] to make [T.him] feel better!") // slightly redundant as at the moment most mobs still use the normal gender var, but it works and future-proofs it playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(I_DISARM) diff --git a/code/game/gamemodes/technomancer/spells/modifier/corona.dm b/code/game/gamemodes/technomancer/spells/modifier/corona.dm index 74a06855d9f..24d571d4c27 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/corona.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/corona.dm @@ -26,7 +26,7 @@ on_created_text = "You start to glow very brightly!" on_expired_text = "Your glow has ended." - evasion = -2 + evasion = -30 stacks = MODIFIER_STACK_EXTEND /datum/modifier/technomancer/corona/tick() diff --git a/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm b/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm index 6ead04f30cc..6f3b4b892f6 100644 --- a/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm +++ b/code/game/gamemodes/technomancer/spells/modifier/repel_missiles.dm @@ -24,5 +24,5 @@ on_created_text = "You have a repulsion field around you, which will attempt to deflect projectiles." on_expired_text = "Your repulsion field has expired." - evasion = 3 + evasion = 45 stacks = MODIFIER_STACK_EXTEND \ No newline at end of file diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 55055f480c2..85afcaa294e 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -36,7 +36,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) /datum/job/hop title = "Head of Personnel" flag = HOP - department = "Civilian" + department = "Command" head_position = 1 department_flag = CIVILIAN faction = "Station" @@ -71,7 +71,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) /datum/job/secretary title = "Command Secretary" flag = BRIDGE - department = "Civilian" + department = "Command" head_position = 1 department_flag = CIVILIAN faction = "Station" @@ -83,8 +83,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) minimal_player_age = 5 economic_modifier = 7 - access = list(access_heads) - minimal_access = list(access_heads) + access = list(access_heads, access_keycard_auth) + minimal_access = list(access_heads, access_keycard_auth) outfit_type = /decl/hierarchy/outfit/job/secretary - alt_titles = list("Command Liaison", "Bridge Secretary") \ No newline at end of file diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 37d528a1992..d31a551726c 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -49,19 +49,20 @@ minimal_access = list(access_hydroponics) outfit_type = /decl/hierarchy/outfit/job/service/gardener - alt_titles = list("Hydroponicist", "Gardener") + alt_titles = list("Gardener") //Cargo /datum/job/qm title = "Quartermaster" flag = QUARTERMASTER department = "Cargo" + head_position = 1 department_flag = CIVILIAN faction = "Station" total_positions = 1 spawn_positions = 1 supervisors = "the head of personnel" - selection_color = "#515151" + selection_color = "#7a4f33" idtype = /obj/item/weapon/card/id/cargo/head economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) @@ -81,7 +82,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the quartermaster and the head of personnel" - selection_color = "#515151" + selection_color = "#9b633e" idtype = /obj/item/weapon/card/id/cargo/cargo_tech access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) @@ -97,14 +98,14 @@ total_positions = 3 spawn_positions = 3 supervisors = "the quartermaster and the head of personnel" - selection_color = "#515151" + selection_color = "#9b633e" idtype = /obj/item/weapon/card/id/cargo/mining economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) minimal_access = list(access_mining, access_mining_station, access_mailsorting) outfit_type = /decl/hierarchy/outfit/job/cargo/mining - alt_titles = list("Drill Technician","Prospector") + alt_titles = list("Drill Technician") //Service /datum/job/janitor @@ -122,7 +123,7 @@ minimal_access = list(access_janitor, access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/service/janitor - alt_titles = list("Custodian", "Sanitation Technician") + alt_titles = list("Custodian") //More or less assistants /datum/job/librarian @@ -140,7 +141,7 @@ minimal_access = list(access_library) outfit_type = /decl/hierarchy/outfit/job/librarian - alt_titles = list("Journalist", "Professor", "Historian", "Writer") + alt_titles = list("Journalist", "Writer") //var/global/lawyer = 0//Checks for another lawyer //This changed clothes on 2nd lawyer, both IA get the same dreds. /datum/job/lawyer diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 1c01c82531d..75e17bd7922 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -25,6 +25,7 @@ var/global/datum/controller/occupations/job_master if(!job) continue if(job.faction != faction) continue occupations += job + sortTim(occupations, /proc/cmp_job_datums) return 1 @@ -326,6 +327,27 @@ var/global/datum/controller/occupations/job_master var/datum/job/job = GetJob(rank) var/list/spawn_in_storage = list() + if(!joined_late) + var/obj/S = null + for(var/obj/effect/landmark/start/sloc in landmarks_list) + if(sloc.name != rank) continue + if(locate(/mob/living) in sloc.loc) continue + S = sloc + break + if(!S) + S = locate("start*[rank]") // use old stype + if(istype(S, /obj/effect/landmark/start) && istype(S.loc, /turf)) + H.forceMove(S.loc) + else + var/list/spawn_props = LateSpawn(H.client, rank) + var/turf/T = spawn_props["turf"] + H.forceMove(T) + + // Moving wheelchair if they have one + if(H.buckled && istype(H.buckled, /obj/structure/bed/chair/wheelchair)) + H.buckled.forceMove(H.loc) + H.buckled.set_dir(H.dir) + if(job) //Equip custom gear loadout. @@ -378,7 +400,8 @@ var/global/datum/controller/occupations/job_master job.equip_backpack(H) // job.equip_survival(H) job.apply_fingerprints(H) - H.equip_post_job() + if(job.title != "Cyborg" && job.title != "AI") + H.equip_post_job() //If some custom items could not be equipped before, try again now. for(var/thing in custom_equip_leftovers) @@ -397,25 +420,6 @@ var/global/datum/controller/occupations/job_master H.job = rank - if(!joined_late) - var/obj/S = null - for(var/obj/effect/landmark/start/sloc in landmarks_list) - if(sloc.name != rank) continue - if(locate(/mob/living) in sloc.loc) continue - S = sloc - break - if(!S) - S = locate("start*[rank]") // use old stype - if(istype(S, /obj/effect/landmark/start) && istype(S.loc, /turf)) - H.forceMove(S.loc) - else - LateSpawn(H, rank) - - // Moving wheelchair if they have one - if(H.buckled && istype(H.buckled, /obj/structure/bed/chair/wheelchair)) - H.buckled.forceMove(H.loc) - H.buckled.set_dir(H.dir) - // If they're head, give them the account info for their department if(H.mind && job.head_position) var/remembered_info = "" @@ -503,7 +507,8 @@ var/global/datum/controller/occupations/job_master proc/spawnId(var/mob/living/carbon/human/H, rank, title) if(!H) return 0 - var/obj/item/weapon/card/id/C = null + var/obj/item/weapon/card/id/C = H.get_equipped_item(slot_wear_id) + if(istype(C)) return 0 var/datum/job/job = null for(var/datum/job/J in occupations) @@ -606,32 +611,30 @@ var/global/datum/controller/occupations/job_master tmp_str += "HIGH=[level1]|MEDIUM=[level2]|LOW=[level3]|NEVER=[level4]|BANNED=[level5]|YOUNG=[level6]|-" feedback_add_details("job_preferences",tmp_str) -/datum/controller/occupations/proc/LateSpawn(var/mob/living/carbon/human/H, var/rank) - //spawn at one of the latespawn locations +/datum/controller/occupations/proc/LateSpawn(var/client/C, var/rank) var/datum/spawnpoint/spawnpos -// if(H.client.prefs.spawnpoint) -// spawnpos = spawntypes[H.client.prefs.spawnpoint] - - if(H.client.prefs.spawnpoint) - if(!(H.client.prefs.spawnpoint in using_map.allowed_spawns)) - if(H) // This seems redundant... - to_chat(H, "Your chosen spawnpoint ([H.client.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.") + //Spawn them at their preferred one + if(C && C.prefs.spawnpoint) + if(!(C.prefs.spawnpoint in using_map.allowed_spawns)) + to_chat(C, "Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.") spawnpos = null else - spawnpos = spawntypes[H.client.prefs.spawnpoint] + spawnpos = spawntypes[C.prefs.spawnpoint] + //We will return a list key'd by "turf" and "msg" + . = list("turf","msg") if(spawnpos && istype(spawnpos) && spawnpos.turfs.len) if(spawnpos.check_job_spawning(rank)) - H.forceMove(spawnpos.get_spawn_position()) - . = spawnpos.msg + .["turf"] = spawnpos.get_spawn_position() + .["msg"] = spawnpos.msg else - H << "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead." + to_chat(C,"Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.") var/spawning = pick(latejoin) - H.forceMove(get_turf(spawning)) - . = "will arrive to the station shortly by shuttle" + .["turf"] = get_turf(spawning) + .["msg"] = "will arrive to the station shortly by shuttle" else var/spawning = pick(latejoin) - H.forceMove(get_turf(spawning)) - . = "has arrived on the station" + .["turf"] = get_turf(spawning) + .["msg"] = "has arrived on the station" diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm index c59c67c3001..b34d1565a03 100644 --- a/code/game/machinery/Beacon.dm +++ b/code/game/machinery/Beacon.dm @@ -4,7 +4,7 @@ name = "Bluespace Gigabeacon" desc = "A device that draws power from bluespace and creates a permanent tracking beacon." level = 1 // underfloor - layer = 2.5 + layer = UNDER_JUNK_LAYER anchored = 1 use_power = 1 idle_power_usage = 0 diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 5696892ddc8..ccf3f69529e 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -9,6 +9,7 @@ idle_power_usage = 1 active_power_usage = 5 surgery_odds = 100 + throwpass = 1 var/mob/living/carbon/human/victim = null var/strapped = 0.0 var/obj/machinery/computer/operating/computer = null diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 3ef80aa27be..b3657ba3d38 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -23,6 +23,7 @@ if(sleepernew) sleeper = sleepernew sleepernew.console = src + set_dir(get_dir(src, sleepernew)) return return @@ -39,10 +40,8 @@ if(!sleeper) findsleeper() - if(sleeper) - return sleeper.ui_interact(user) - else if(sleeper) - return sleeper.ui_interact(user) + if(sleeper) + return ui_interact(user) else to_chat(user, "Sleeper not found!") @@ -59,6 +58,94 @@ else icon_state = initial(icon_state) +/obj/machinery/sleep_console/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = outside_state) + var/data[0] + + var/obj/machinery/sleeper/S = sleeper + var/mob/living/carbon/human/occupant = sleeper.occupant + + data["power"] = S.stat & (NOPOWER|BROKEN) ? 0 : 1 + + var/list/reagents = list() + for(var/T in S.available_chemicals) + var/list/reagent = list() + reagent["id"] = T + reagent["name"] = S.available_chemicals[T] + if(occupant) + reagent["amount"] = occupant.reagents.get_reagent_amount(T) + reagents += list(reagent) + data["reagents"] = reagents.Copy() + + if(occupant) + data["occupant"] = 1 + switch(occupant.stat) + if(CONSCIOUS) + data["stat"] = "Conscious" + if(UNCONSCIOUS) + data["stat"] = "Unconscious" + if(DEAD) + data["stat"] = "Dead" + data["health"] = occupant.health + data["maxHealth"] = occupant.getMaxHealth() + if(iscarbon(occupant)) + var/mob/living/carbon/C = occupant + data["pulse"] = C.get_pulse(GETPULSE_TOOL) + data["brute"] = occupant.getBruteLoss() + data["burn"] = occupant.getFireLoss() + data["oxy"] = occupant.getOxyLoss() + data["tox"] = occupant.getToxLoss() + else + data["occupant"] = 0 + if(S.beaker) + data["beaker"] = S.beaker.reagents.get_free_space() + else + data["beaker"] = -1 + data["filtering"] = S.filtering + + var/stasis_level_name = "Error!" + for(var/N in S.stasis_choices) + if(S.stasis_choices[N] == S.stasis_level) + stasis_level_name = N + break + data["stasis"] = stasis_level_name + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if(!ui) + ui = new(user, src, ui_key, "sleeper.tmpl", "Sleeper UI", 600, 600, state = state) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/sleep_console/Topic(href, href_list) + if(..()) + return 1 + + var/obj/machinery/sleeper/S = sleeper + + if(usr == S.occupant) + to_chat(usr, "You can't reach the controls from the inside.") + return + + add_fingerprint(usr) + + if(href_list["eject"]) + S.go_out() + if(href_list["beaker"]) + S.remove_beaker() + if(href_list["sleeper_filter"]) + if(S.filtering != text2num(href_list["sleeper_filter"])) + S.toggle_filter() + if(href_list["chemical"] && href_list["amount"]) + if(S.occupant && S.occupant.stat != DEAD) + if(href_list["chemical"] in S.available_chemicals) // Your hacks are bad and you should feel bad + S.inject_chemical(usr, href_list["chemical"], text2num(href_list["amount"])) + if(href_list["change_stasis"]) + var/new_stasis = input("Levels deeper than 50% stasis level will render the patient unconscious.","Stasis Level") as null|anything in S.stasis_choices + if(new_stasis && CanUseTopic(usr, default_state) == STATUS_INTERACTIVE) + S.stasis_level = S.stasis_choices[new_stasis] + + return 1 + /obj/machinery/sleeper name = "sleeper" desc = "A stasis pod with built-in injectors, a dialysis machine, and a limited health scanner." @@ -95,6 +182,7 @@ RefreshParts() /obj/machinery/sleeper/initialize() + . = ..() update_icon() /obj/machinery/sleeper/process() @@ -121,89 +209,6 @@ /obj/machinery/sleeper/update_icon() icon_state = "sleeper_[occupant ? "1" : "0"]" -/obj/machinery/sleeper/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = outside_state) - var/data[0] - - data["power"] = stat & (NOPOWER|BROKEN) ? 0 : 1 - - var/list/reagents = list() - for(var/T in available_chemicals) - var/list/reagent = list() - reagent["id"] = T - reagent["name"] = available_chemicals[T] - if(occupant) - reagent["amount"] = occupant.reagents.get_reagent_amount(T) - reagents += list(reagent) - data["reagents"] = reagents.Copy() - - if(occupant) - data["occupant"] = 1 - switch(occupant.stat) - if(CONSCIOUS) - data["stat"] = "Conscious" - if(UNCONSCIOUS) - data["stat"] = "Unconscious" - if(DEAD) - data["stat"] = "Dead" - data["health"] = occupant.health - data["maxHealth"] = occupant.getMaxHealth() - if(iscarbon(occupant)) - var/mob/living/carbon/C = occupant - data["pulse"] = C.get_pulse(GETPULSE_TOOL) - data["brute"] = occupant.getBruteLoss() - data["burn"] = occupant.getFireLoss() - data["oxy"] = occupant.getOxyLoss() - data["tox"] = occupant.getToxLoss() - else - data["occupant"] = 0 - if(beaker) - data["beaker"] = beaker.reagents.get_free_space() - else - data["beaker"] = -1 - data["filtering"] = filtering - - var/stasis_level_name = "Error!" - for(var/N in stasis_choices) - if(stasis_choices[N] == stasis_level) - stasis_level_name = N - break - data["stasis"] = stasis_level_name - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if(!ui) - ui = new(user, src, ui_key, "sleeper.tmpl", "Sleeper UI", 600, 600, state = state) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -/obj/machinery/sleeper/Topic(href, href_list) - if(..()) - return 1 - - if(usr == occupant) - to_chat(usr, "You can't reach the controls from the inside.") - return - - add_fingerprint(usr) - - if(href_list["eject"]) - go_out() - if(href_list["beaker"]) - remove_beaker() - if(href_list["sleeper_filter"]) - if(filtering != text2num(href_list["sleeper_filter"])) - toggle_filter() - if(href_list["chemical"] && href_list["amount"]) - if(occupant && occupant.stat != DEAD) - if(href_list["chemical"] in available_chemicals) // Your hacks are bad and you should feel bad - inject_chemical(usr, href_list["chemical"], text2num(href_list["amount"])) - if(href_list["change_stasis"]) - var/new_stasis = input("Levels deeper than 50% stasis level will render the patient unconscious.","Stasis Level") as null|anything in stasis_choices - if(new_stasis && CanUseTopic(usr, default_state) == STATUS_INTERACTIVE) - stasis_level = stasis_choices[new_stasis] - - return 1 - /obj/machinery/sleeper/attackby(var/obj/item/I, var/mob/user) add_fingerprint(user) if(istype(I, /obj/item/weapon/grab)) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index a236b0dc507..c3251ce1555 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -227,9 +227,11 @@ // Loop through every direction for(dir in list(NORTH, EAST, SOUTH, WEST)) // Loop through every direction bodyscannernew = locate(/obj/machinery/bodyscanner, get_step(src, dir)) // Try to find a scanner in that direction - if(bodyscannernew) - scanner = bodyscannernew - bodyscannernew.console = src + if(bodyscannernew) + scanner = bodyscannernew + bodyscannernew.console = src + set_dir(get_dir(src, bodyscannernew)) + return return /obj/machinery/body_scanconsole/attack_ai(user as mob) @@ -341,7 +343,7 @@ organStatus["destroyed"] = 1 if(E.status & ORGAN_BROKEN) organStatus["broken"] = E.broken_description - if(E.status & ORGAN_ROBOT) + if(E.robotic >= ORGAN_ROBOT) organStatus["robotic"] = 1 if(E.splinted) organStatus["splinted"] = 1 @@ -510,7 +512,7 @@ bled = "Bleeding:" if(e.status & ORGAN_BROKEN) AN = "[e.broken_description]:" - if(e.status & ORGAN_ROBOT) + if(e.robotic >= ORGAN_ROBOT) robot = "Prosthetic:" if(e.status & ORGAN_DEAD) o_dead = "Necrotic:" diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 0ea5527df21..dd79d5acc19 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -2,7 +2,6 @@ name = "\improper AI Liquid Dispenser" icon = 'icons/obj/device.dmi' icon_state = "motion0" - layer = 3 anchored = 1.0 use_power = 1 idle_power_usage = 10 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 0f75d1efd0c..a2115d9fdde 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -81,6 +81,8 @@ var/report_danger_level = 1 + var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles + /obj/machinery/alarm/nobreach breach_detection = 0 @@ -88,6 +90,9 @@ report_danger_level = 0 breach_detection = 0 +/obj/machinery/alarm/alarms_hidden + alarms_hidden = TRUE + /obj/machinery/alarm/server/New() ..() req_access = list(access_rd, access_atmospherics, access_engine_equip) @@ -131,6 +136,7 @@ /obj/machinery/alarm/initialize() + . = ..() set_frequency(frequency) if(!master_is_operating()) elect_master() @@ -811,9 +817,13 @@ FIRE ALARM panel_open = 0 var/seclevel circuit = /obj/item/weapon/circuitboard/firealarm + var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles + +/obj/machinery/firealarm/alarms_hidden + alarms_hidden = TRUE /obj/machinery/firealarm/update_icon() - overlays.Cut() + cut_overlays() if(panel_open) set_light(0) @@ -836,8 +846,7 @@ FIRE ALARM if("blue") set_light(l_range = 2, l_power = 0.5, l_color = "#1024A9") if("red") set_light(l_range = 4, l_power = 2, l_color = "#ff0000") if("delta") set_light(l_range = 4, l_power = 2, l_color = "#FF6633") - - overlays += image('icons/obj/monitors.dmi', "overlay_[seclevel]") + add_overlay("overlay_[seclevel]") /obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) if(detecting) @@ -979,7 +988,7 @@ FIRE ALARM return var/area/area = get_area(src) for(var/obj/machinery/firealarm/FA in area) - fire_alarm.triggerAlarm(loc, FA, duration) + fire_alarm.triggerAlarm(loc, FA, duration, hidden = alarms_hidden) update_icon() //playsound(src.loc, 'sound/ambience/signal.ogg', 75, 0) return @@ -990,6 +999,7 @@ FIRE ALARM update_icon() /obj/machinery/firealarm/initialize() + . = ..() if(z in using_map.contact_levels) set_security_level(security_level? get_security_level() : "green") diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index ac1e21051ae..cb73da0c321 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -64,12 +64,14 @@ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) /obj/machinery/air_sensor/initialize() - set_frequency(frequency) + . = ..() + if(frequency) + set_frequency(frequency) obj/machinery/air_sensor/Destroy() if(radio_controller) radio_controller.remove_object(src,frequency) - ..() + . = ..() /obj/machinery/computer/general_air_control icon_keyboard = "atmos_key" @@ -128,7 +130,9 @@ obj/machinery/computer/general_air_control/Destroy() radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) /obj/machinery/computer/general_air_control/initialize() - set_frequency(frequency) + . = ..() + if(frequency) + set_frequency(frequency) /obj/machinery/computer/general_air_control/large_tank_control icon = 'icons/obj/computer.dmi' diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index cb149dcc547..71755cc246c 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -12,17 +12,10 @@ use_power = 1 idle_power_usage = 15 -/obj/machinery/meter/New() - ..() - spawn(5) - target = select_target() - return 1 - /obj/machinery/meter/initialize() . = ..() if (!target) - spawn(5) - target = select_target() + target = select_target() /obj/machinery/meter/Destroy() pipes_on_turf.Cut() diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index 92004f9afe5..84d00eff045 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -1,6 +1,7 @@ /obj/machinery/portable_atmospherics name = "atmoalter" use_power = 0 + layer = OBJ_LAYER // These are mobile, best not be under everything. var/datum/gas_mixture/air_contents = new var/obj/machinery/atmospherics/portables_connector/connected_port diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index 4a8b4f2d3c7..4ad8d06a5aa 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -46,6 +46,8 @@ return if(default_part_replacement(user, O)) return + if(default_unfasten_wrench(user, O, 40)) + return if(istype(O, /obj/item/weapon/reagent_containers/glass)) if(beaker) user << "]The [src] is already loaded." diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 7a4e5e3ab68..0a43acb1724 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -44,6 +44,8 @@ return if(default_part_replacement(user, O)) return + if(default_unfasten_wrench(user, O, 20)) + return return ..() /obj/machinery/organ_printer/update_icon() diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 769dd9c39fb..39c3aafe5cc 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -6,7 +6,8 @@ use_power = 2 idle_power_usage = 5 active_power_usage = 10 - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER var/list/network = list(NETWORK_DEFAULT) var/c_tag = null @@ -136,6 +137,18 @@ add_hiddenprint(user) destroy() +/obj/machinery/camera/attack_generic(mob/user as mob) + if(isanimal(user)) + var/mob/living/simple_animal/S = user + set_status(0) + S.do_attack_animation(src) + S.setClickCooldown(user.get_attack_speed()) + visible_message("\The [user] [pick(S.attacktext)] \the [src]!") + playsound(src.loc, S.attack_sound, 100, 1) + add_hiddenprint(user) + destroy() + ..() + /obj/machinery/camera/attackby(obj/item/W as obj, mob/living/user as mob) update_coverage() // DECONSTRUCTION diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index d546ef46764..bdf4e95fe06 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -27,7 +27,11 @@ /obj/item/toy/waterflower = 1, /obj/random/action_figure = 1, /obj/random/plushie = 1, - /obj/item/toy/cultsword = 1 + /obj/item/toy/cultsword = 1, + /obj/item/toy/bouquet/fake = 1, + /obj/item/clothing/accessory/badge/sheriff = 2, + /obj/item/clothing/head/cowboy_hat/small = 2, + /obj/item/toy/stickhorse = 2 ) /obj/machinery/computer/arcade/New() @@ -267,6 +271,8 @@ /obj/machinery/computer/arcade/battle/emag_act(var/charges, var/mob/user) if(!emagged) + to_chat(user, span("notice","You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Hyper-Lethal Mode.")) + temp = "If you die in the game, you die for real!" player_hp = 30 player_mp = 10 @@ -395,18 +401,18 @@ dat += "
You ran out of food and starved." if(emagged) user.nutrition = 0 //yeah you pretty hongry - user << "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor." + to_chat(user, span("danger", "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")) if(fuel <= 0) dat += "
You ran out of fuel, and drift, slowly, into a star." if(emagged) var/mob/living/M = user M.adjust_fire_stacks(5) - M.IgniteMob() //flew into a star, so you're on fire - user << "You feel an immense wave of heat emanate from \the [src]. Your skin bursts into flames." + M.IgniteMob() //flew into a star, so you're on fire + to_chat(user,span("danger", "You feel an immense wave of heat emanate from \the [src]. Your skin bursts into flames.")) dat += "

OK...

" if(emagged) - user << "You're never going to make it to Orion..." + to_chat(user, span("danger", "You're never going to make it to Orion...")) user.death() emagged = 0 //removes the emagged status after you lose gameStatus = ORION_STATUS_START @@ -471,20 +477,20 @@ switch(event) if(ORION_TRAIL_RAIDERS) if(prob(50)) - usr << "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?" + to_chat(usr, span("warning", "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")) M.hallucination += 30 else - usr << "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there..." + to_chat(usr, span("danger", "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")) M.take_organ_damage(25) if(ORION_TRAIL_ILLNESS) var/severity = rand(1,3) //pray to RNGesus. PRAY, PIGS if(severity == 1) - M << "You suddenly feel slightly nauseous." //got off lucky + to_chat(M, span("warning", "You suddenly feel slightly nauseous.")) //got off lucky if(severity == 2) - usr << "You suddenly feel extremely nauseous and hunch over until it passes." + to_chat(usr, span("warning", "You suddenly feel extremely nauseous and hunch over until it passes.")) M.Stun(3) if(severity >= 3) //you didn't pray hard enough - M << "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit." + to_chat(M, span("warning", "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")) spawn(30) if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M @@ -495,12 +501,12 @@ src.visible_message("A sudden gust of powerful wind slams \the [M] into the floor!", "You hear a large fwooshing sound, followed by a bang.") M.take_organ_damage(15) else - M << "A violent gale blows past you, and you barely manage to stay standing!" + to_chat(M, span("warning", "A violent gale blows past you, and you barely manage to stay standing!")) if(ORION_TRAIL_COLLISION) //by far the most damaging event if(prob(90) && !hull) var/turf/simulated/floor/F = src.loc F.ChangeTurf(/turf/space) - src.visible_message("Something slams into the floor around \the [src], exposing it to space!", "You hear something crack and break.") + src.visible_message(span("danger", "Something slams into the floor around \the [src], exposing it to space!"), "You hear something crack and break.") else src.visible_message("Something slams into the floor around \the [src] - luckily, it didn't get through!", "You hear something crack.") if(ORION_TRAIL_MALFUNCTION) @@ -569,9 +575,9 @@ event() if(emagged) //has to be here because otherwise it doesn't work src.show_message("\The [src] states, 'YOU ARE EXPERIENCING A BLACKHOLE. BE TERRIFIED.","You hear something say, 'YOU ARE EXPERIENCING A BLACKHOLE. BE TERRFIED'") - usr << "Something draws you closer and closer to the machine." + to_chat(usr, span("warning", "Something draws you closer and closer to the machine.")) sleep(10) - usr << "This is really starting to hurt!" + to_chat(usr, span("danger", "This is really starting to hurt!")) var i; //spawning a literal blackhole would be fun, but a bit disruptive. for(i=0;i<4;i++) var/mob/living/L = usr @@ -997,12 +1003,12 @@ /obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) if(!emagged) - user << "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode." + to_chat(user, span("notice", "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) name = "The Orion Trail: Realism Edition" desc = "Learn how our ancestors got to Orion, and try not to die in the process!" newgame() emagged = 1 - + return 1 /obj/item/weapon/orion_ship name = "model settler ship" @@ -1017,9 +1023,9 @@ if(!(in_range(user, src))) return if(!active) - user << "There's a little switch on the bottom. It's flipped down." + to_chat(user, span("notice", "There's a little switch on the bottom. It's flipped down.")) else - user << "There's a little switch on the bottom. It's flipped up." + to_chat(user, span("notice", "There's a little switch on the bottom. It's flipped up.")) /obj/item/weapon/orion_ship/attack_self(mob/user) if(active) @@ -1028,17 +1034,17 @@ message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.") log_game("[key_name(usr)] primed an explosive Orion ship for detonation.") - user << "You flip the switch on the underside of [src]." + to_chat(user, span("warning", "You flip the switch on the underside of [src].")) active = 1 - src.visible_message("[src] softly beeps and whirs to life!") + src.visible_message(span("notice", "[src] softly beeps and whirs to life!")) src.audible_message("\The [src] says, 'This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.'") sleep(20) - src.visible_message("[src] begins to vibrate...") + src.visible_message(span("warning", "[src] begins to vibrate...")) src.audible_message("\The [src] says, 'Uh, Port? Having some issues with our reactor, could you check it out? Over.'") sleep(30) src.audible_message("\The [src] says, 'Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-'") sleep(3.6) - src.visible_message("[src] explodes!") + src.visible_message(span("danger", "[src] explodes!")) explosion(src.loc, 1,2,4) qdel(src) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 2f4832047f9..2b8d069f51a 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -224,7 +224,7 @@ var/obj/item/device/radio/radio = null /obj/machinery/computer/security/telescreen/entertainment/initialize() - ..() + . = ..() radio = new(src) radio.listening = TRUE radio.broadcasting = FALSE diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index dc678213011..8bf00b4ace5 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -40,19 +40,19 @@ if(!usr || usr.stat || usr.lying) return if(scan) - usr << "You remove \the [scan] from \the [src]." + to_chat(usr, "You remove \the [scan] from \the [src].") scan.forceMove(get_turf(src)) if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human)) usr.put_in_hands(scan) scan = null else if(modify) - usr << "You remove \the [modify] from \the [src]." + to_chat(usr, "You remove \the [modify] from \the [src].") modify.forceMove(get_turf(src)) if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human)) usr.put_in_hands(modify) modify = null else - usr << "There is nothing to remove from the console." + to_chat(usr, "There is nothing to remove from the console.") return /obj/machinery/computer/card/attackby(obj/item/weapon/card/id/id_card, mob/user) @@ -82,12 +82,15 @@ /obj/machinery/computer/card/ui_interact(mob/user, ui_key="main", var/datum/nanoui/ui = null, var/force_open = 1) user.set_machine(src) + if(data_core) + data_core.get_manifest_list() + var/data[0] data["src"] = "\ref[src]" data["station_name"] = station_name() data["mode"] = mode data["printing"] = printing - data["manifest"] = data_core ? data_core.get_manifest(0) : null + data["manifest"] = PDA_Manifest data["target_name"] = modify ? modify.name : "-----" data["target_owner"] = modify && modify.registered_name ? modify.registered_name : "-----" data["target_rank"] = get_target_rank() @@ -99,13 +102,16 @@ data["all_centcom_access"] = null data["regions"] = null - data["engineering_jobs"] = format_jobs(engineering_positions) - data["medical_jobs"] = format_jobs(medical_positions) - data["science_jobs"] = format_jobs(science_positions) - data["security_jobs"] = format_jobs(security_positions) - data["cargo_jobs"] = format_jobs(cargo_positions) - data["civilian_jobs"] = format_jobs(civilian_positions) - data["centcom_jobs"] = format_jobs(get_all_centcom_jobs()) + data["jobs"] = list( + list("cat" = "Engineering", "jobs" = format_jobs(engineering_positions)), + list("cat" = "Medical", "jobs" = format_jobs(medical_positions)), + list("cat" = "Science", "jobs" = format_jobs(science_positions)), + list("cat" = "Security", "jobs" = format_jobs(security_positions)), + list("cat" = "Cargo", "jobs" = format_jobs(cargo_positions)), + list("cat" = "Planetside", "jobs" = format_jobs(planet_positions)), + list("cat" = "Civilian", "jobs" = format_jobs(civilian_positions)), + list("cat" = "CentCom", "jobs" = format_jobs(get_all_centcom_jobs())) + ) if (modify && is_centcom()) var/list/all_centcom_access = list() @@ -209,7 +215,7 @@ jobdatum = J break if(!jobdatum) - usr << "No log exists for this job: [t1]" + to_chat(usr, "No log exists for this job: [t1]") return access = jobdatum.get_access() diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 1e08ea6df24..4935a2a552e 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -17,7 +17,7 @@ /obj/machinery/computer/cloning/initialize() - ..() + . = ..() updatemodules() /obj/machinery/computer/cloning/Destroy() diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 29196f44d53..c95bd9879cb 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -187,7 +187,7 @@ return CentCom_announce(input, usr) usr << "Message transmitted." - log_say("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") + log_game("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") centcomm_message_cooldown = 1 spawn(300)//10 minute cooldown centcomm_message_cooldown = 0 @@ -204,7 +204,7 @@ return Syndicate_announce(input, usr) usr << "Message transmitted." - log_say("[key_name(usr)] has made an illegal announcement: [input]") + log_game("[key_name(usr)] has made an illegal announcement: [input]") centcomm_message_cooldown = 1 spawn(300)//10 minute cooldown centcomm_message_cooldown = 0 diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 71558867473..92f69a70e1e 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -20,6 +20,7 @@ ..() /obj/machinery/computer/initialize() + . = ..() power_change() update_icon() diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index 501bf910719..3a70d57173b 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -54,8 +54,8 @@ expired = 1 return ..() -/obj/item/weapon/card/id/guest/New() - ..() +/obj/item/weapon/card/id/guest/initialize() + . = ..() processing_objects.Add(src) update_icon() diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index e50ad8cb923..fd82940b6dc 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -76,7 +76,7 @@ if(!linkedServer) if(message_servers && message_servers.len > 0) linkedServer = message_servers[1] - return + return ..() /obj/machinery/computer/message_monitor/attack_hand(var/mob/living/user as mob) if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index d1c66b500d0..d3ab69b869b 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -20,7 +20,7 @@ /obj/machinery/computer/station_alert/initialize() alarm_monitor = new monitor_type(src) alarm_monitor.register_alarm(src, /obj/machinery/computer/station_alert/update_icon) - ..() + . = ..() /obj/machinery/computer/station_alert/Destroy() alarm_monitor.unregister_alarm(src) diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index 4bcc43bbecf..e76f4db4683 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -40,6 +40,7 @@
\nRequest items

View approved orders

View requests

+ \nView export report

Close"} user << browse(dat, "window=computer;size=575x450") @@ -198,6 +199,7 @@ \nOrder items
\n
\nView requests
\n
\nView orders
\n
+ \nView export report
\n
\nClose"} @@ -367,6 +369,18 @@ temp += "
Clear list" temp += "
OK" + else if (href_list["viewexport"]) + temp = "Previous shuttle export report:

" + var/cratecount = 0 + var/totalvalue = 0 + for(var/S in supply_controller.exported_crates) + var/datum/exported_crate/EC = S + cratecount += 1 + totalvalue += EC.value + temp += "[EC.name] exported for [EC.value] supply points
" + temp += "
Shipment of [cratecount] crates exported for [totalvalue] supply points.
" + temp += "
OK" + else if (href_list["rreq"]) var/ordernum = text2num(href_list["rreq"]) temp = "Invalid Request.
" diff --git a/code/game/machinery/computer3/computers/HolodeckControl.dm b/code/game/machinery/computer3/computers/HolodeckControl.dm index 4d63b956736..a629354d7be 100644 --- a/code/game/machinery/computer3/computers/HolodeckControl.dm +++ b/code/game/machinery/computer3/computers/HolodeckControl.dm @@ -155,7 +155,6 @@ var/mob/M = obj.loc if(ismob(M)) M.remove_from_mob(obj) - M.update_icons_layers() //so their overlays update if(!silent) var/obj/oldobj = obj diff --git a/code/game/machinery/computer3/computers/communications.dm b/code/game/machinery/computer3/computers/communications.dm index 6f802c54bd9..acd66ebde19 100644 --- a/code/game/machinery/computer3/computers/communications.dm +++ b/code/game/machinery/computer3/computers/communications.dm @@ -197,7 +197,7 @@ return CentCom_announce(input, usr) usr << "Message transmitted." - log_say("[key_name(usr)] has made a [using_map.boss_short] announcement: [input]") + log_game("[key_name(usr)] has made a [using_map.boss_short] announcement: [input]") centcomm_message_cooldown = 1 spawn(600)//10 minute cooldown centcomm_message_cooldown = 0 @@ -214,7 +214,7 @@ return Syndicate_announce(input, usr) usr << "Message transmitted." - log_say("[key_name(usr)] has made an illegal announcement: [input]") + log_game("[key_name(usr)] has made an illegal announcement: [input]") centcomm_message_cooldown = 1 spawn(600)//10 minute cooldown centcomm_message_cooldown = 0 diff --git a/code/game/machinery/computer3/computers/prisoner.dm b/code/game/machinery/computer3/computers/prisoner.dm index 7e3ada285d3..27943bb353e 100644 --- a/code/game/machinery/computer3/computers/prisoner.dm +++ b/code/game/machinery/computer3/computers/prisoner.dm @@ -95,7 +95,7 @@ var/obj/item/weapon/implant/I = locate(href_list["warn"]) if( istype(I) && I.imp_in) var/mob/living/carbon/R = I.imp_in - log_say("PrisonComputer3 message: [key_name(usr)]->[key_name(R)] : [warning]") + log_game("PrisonComputer3 message: [key_name(usr)]->[key_name(R)] : [warning]") R << "You hear a voice in your head saying: '[warning]'" interact() diff --git a/code/game/machinery/computer3/lapvend.dm b/code/game/machinery/computer3/lapvend.dm index 4aa5d318f47..cbfa8686bce 100644 --- a/code/game/machinery/computer3/lapvend.dm +++ b/code/game/machinery/computer3/lapvend.dm @@ -3,7 +3,6 @@ desc = "A generic vending machine." icon = 'icons/obj/vending.dmi' icon_state = "robotics" - layer = 2.9 anchored = 1 density = 1 var/obj/machinery/computer3/laptop/vended/newlap = null @@ -29,6 +28,9 @@ /obj/machinery/lapvend/attackby(obj/item/weapon/W as obj, mob/user as mob) var/obj/item/weapon/card/id/I = W.GetID() + if(default_unfasten_wrench(user, W, 20)) + return + if(vendmode == 1 && I) scan_id(I, W) vendmode = 0 diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 6709cb23635..f7ab7e7a7ec 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -6,13 +6,15 @@ icon_state = "pod_preview" density = 1 anchored = 1.0 - layer = 2.8 + layer = UNDER_JUNK_LAYER interact_offline = 1 var/on = 0 use_power = 1 idle_power_usage = 20 active_power_usage = 200 + buckle_lying = FALSE + buckle_dir = SOUTH var/temperature_archived var/mob/living/carbon/occupant = null @@ -20,12 +22,29 @@ var/current_heat_capacity = 50 + var/image/fluid + /obj/machinery/atmospherics/unary/cryo_cell/New() ..() icon = 'icons/obj/cryogenics_split.dmi' - update_icon() + icon_state = "base" initialize_directions = dir +/obj/machinery/atmospherics/unary/cryo_cell/initialize() + . = ..() + var/image/tank = image(icon,"tank") + tank.alpha = 200 + tank.pixel_y = 18 + tank.plane = MOB_PLANE + tank.layer = MOB_LAYER+0.2 //Above fluid + fluid = image(icon, "tube_filler") + fluid.pixel_y = 18 + fluid.alpha = 200 + fluid.plane = MOB_PLANE + fluid.layer = MOB_LAYER+0.1 //Below glass, above mob + add_overlay(tank) + update_icon() + /obj/machinery/atmospherics/unary/cryo_cell/Destroy() var/turf/T = src.loc T.contents += contents @@ -153,6 +172,7 @@ if(beaker) beaker.loc = get_step(src.loc, SOUTH) beaker = null + update_icon() if(href_list["ejectOccupant"]) if(!occupant || isslime(usr) || ispAI(usr)) @@ -172,6 +192,7 @@ user.drop_item() G.loc = src user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!") + update_icon() else if(istype(G, /obj/item/weapon/grab)) var/obj/item/weapon/grab/grab = G if(!ismob(grab.affecting)) @@ -191,40 +212,23 @@ put_mob(target) /obj/machinery/atmospherics/unary/cryo_cell/update_icon() - overlays.Cut() - icon_state = "pod[on]" - var/image/I - - I = image(icon, "pod[on]_top") - I.layer = 5 // this needs to be fairly high so it displays over most things, but it needs to be under lighting (at 10) - I.pixel_z = 32 - overlays += I - - if(occupant) - var/image/pickle = image(occupant.icon, occupant.icon_state) - pickle.overlays = occupant.overlays - pickle.pixel_z = 18 - pickle.layer = 5 - overlays += pickle - - I = image(icon, "lid[on]") - I.layer = 5 - overlays += I - - I = image(icon, "lid[on]_top") - I.layer = 5 - I.pixel_z = 32 - overlays += I + cut_overlay(fluid) + fluid.color = null + if(on) + if(beaker) + fluid.color = beaker.reagents.get_color() + add_overlay(fluid) /obj/machinery/atmospherics/unary/cryo_cell/proc/process_occupant() if(air_contents.total_moles < 10) return if(occupant) - if(occupant.stat == 2) + if(occupant.stat >= DEAD) return occupant.bodytemperature += 2*(air_contents.temperature - occupant.bodytemperature)*current_heat_capacity/(current_heat_capacity + air_contents.heat_capacity()) occupant.bodytemperature = max(occupant.bodytemperature, air_contents.temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise - occupant.stat = 1 + occupant.stat = UNCONSCIOUS + occupant.dir = SOUTH if(occupant.bodytemperature < T0C) occupant.sleeping = max(5, (1/occupant.bodytemperature)*2000) occupant.Paralyse(max(5, (1/occupant.bodytemperature)*3000)) @@ -273,14 +277,16 @@ if(occupant.client) occupant.client.eye = occupant.client.mob occupant.client.perspective = MOB_PERSPECTIVE + vis_contents -= occupant + occupant.pixel_x = occupant.default_pixel_x + occupant.pixel_y = occupant.default_pixel_y occupant.loc = get_step(src.loc, SOUTH) //this doesn't account for walls or anything, but i don't forsee that being a problem. if(occupant.bodytemperature < 261 && occupant.bodytemperature >= 70) //Patch by Aranclanos to stop people from taking burn damage after being ejected occupant.bodytemperature = 261 // Changed to 70 from 140 by Zuhayr due to reoccurance of bug. -// occupant.metabslow = 0 + unbuckle_mob(occupant, force = TRUE) occupant = null current_heat_capacity = initial(current_heat_capacity) update_use_power(1) - update_icon() return /obj/machinery/atmospherics/unary/cryo_cell/proc/put_mob(mob/living/carbon/M as mob) if(stat & (NOPOWER|BROKEN)) @@ -307,6 +313,9 @@ if(M.health > -100 && (M.health < 0 || M.sleeping)) M << "You feel a cold liquid surround you. Your skin starts to freeze up." occupant = M + buckle_mob(occupant, forced = TRUE, check_loc = FALSE) + vis_contents |= occupant + occupant.pixel_y += 19 current_heat_capacity = HEAT_CAPACITY_HUMAN update_use_power(2) // M.metabslow = 1 diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index d3936ca7c07..5d6d7abdcc2 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -27,6 +27,13 @@ var/storage_name = "Cryogenic Oversight Control" var/allow_items = 1 +/obj/machinery/computer/cryopod/update_icon() + ..() + if((stat & NOPOWER) || (stat & BROKEN)) + icon_state = "[initial(icon_state)]-p" + else + icon_state = initial(icon_state) + /obj/machinery/computer/cryopod/robot name = "robotic storage console" desc = "An interface between crew and the robotic storage systems" @@ -41,8 +48,6 @@ /obj/machinery/computer/cryopod/dorms name = "residential oversight console" desc = "An interface between visitors and the residential oversight systems tasked with keeping track of all visitors in the deeper section of the colony." - icon = 'icons/obj/robot_storage.dmi' //placeholder - icon_state = "console" //placeholder circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" storage_type = "visitors" @@ -52,8 +57,6 @@ /obj/machinery/computer/cryopod/travel name = "docking oversight console" desc = "An interface between visitors and the docking oversight systems tasked with keeping track of all visitors who enter or exit from the docks." - icon = 'icons/obj/robot_storage.dmi' //placeholder - icon_state = "console" //placeholder circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" storage_type = "visitors" @@ -63,8 +66,6 @@ /obj/machinery/computer/cryopod/gateway name = "gateway oversight console" desc = "An interface between visitors and the gateway oversight systems tasked with keeping track of all visitors who enter or exit from the gateway." - icon = 'icons/obj/robot_storage.dmi' //placeholder - icon_state = "console" //placeholder circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" storage_type = "visitors" @@ -299,18 +300,23 @@ return ..() /obj/machinery/cryopod/initialize() - ..() + . = ..() find_control_computer() /obj/machinery/cryopod/proc/find_control_computer(urgent=0) - //control_computer = locate(/obj/machinery/computer/cryopod) in src.loc.loc // Broken due to http://www.byond.com/forum/?post=2007448 - control_computer = locate(/obj/machinery/computer/cryopod) in range(6,src) + control_computer = null + + var/area/my_area = get_area(src) + control_computer = locate(/obj/machinery/computer/cryopod) in my_area + + if(!control_computer) //Fallback to old method. + control_computer = locate(/obj/machinery/computer/cryopod) in range(6,src) // Don't send messages unless we *need* the computer, and less than five minutes have passed since last time we messaged - if(!control_computer && urgent && last_no_computer_message + 5*60*10 < world.time) - log_admin("Cryopod in [src.loc.loc] could not find control computer!") - message_admins("Cryopod in [src.loc.loc] could not find control computer!") + if(!control_computer && urgent && last_no_computer_message + 5 MINUTES < world.time) + log_admin("Cryopod in [my_area] could not find control computer!") + message_admins("Cryopod in [my_area] could not find control computer!") last_no_computer_message = world.time return control_computer != null @@ -346,8 +352,8 @@ // This function can not be undone; do not call this unless you are sure // Also make sure there is a valid control computer -/obj/machinery/cryopod/robot/despawn_occupant() - var/mob/living/silicon/robot/R = occupant +/obj/machinery/cryopod/robot/despawn_occupant(var/mob/to_despawn) + var/mob/living/silicon/robot/R = to_despawn if(!istype(R)) return ..() qdel(R.mmi) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1dd74404dcb..2d40396d917 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -415,6 +415,8 @@ desc = "It's an extra resilient airlock intended for spacefaring vessels." icon = 'icons/obj/doors/shuttledoors.dmi' explosion_resistance = 20 + opacity = 0 + glass = 1 assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft // Airlock opens from top-bottom instead of left-right. @@ -565,7 +567,7 @@ About the new airlock wires panel: else if(duration) //electrify door for the given duration seconds if(usr) shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") - usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") + add_attack_logs(usr,name,"Electrified a door") else shockedby += text("\[[time_stamp()]\] - EMP)") message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." @@ -1177,6 +1179,7 @@ About the new airlock wires panel: if(A.closeOtherId == src.closeOtherId && A != src) src.closeOther = A break + . = ..() /obj/machinery/door/airlock/Destroy() qdel(wires) diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 871f42eb7bf..295a7ff24f9 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -130,18 +130,12 @@ obj/machinery/door/airlock/proc/set_frequency(new_frequency) obj/machinery/door/airlock/initialize() + . = ..() if(frequency) set_frequency(frequency) update_icon() - -obj/machinery/door/airlock/New() - ..() - - if(radio_controller) - set_frequency(frequency) - obj/machinery/door/airlock/Destroy() if(frequency && radio_controller) radio_controller.remove_object(src,frequency) @@ -210,13 +204,9 @@ obj/machinery/airlock_sensor/proc/set_frequency(new_frequency) radio_connection = radio_controller.add_object(src, frequency, RADIO_AIRLOCK) obj/machinery/airlock_sensor/initialize() + . = ..() set_frequency(frequency) -obj/machinery/airlock_sensor/New() - ..() - if(radio_controller) - set_frequency(frequency) - obj/machinery/airlock_sensor/Destroy() if(radio_controller) radio_controller.remove_object(src,frequency) @@ -228,6 +218,13 @@ obj/machinery/airlock_sensor/airlock_interior obj/machinery/airlock_sensor/airlock_exterior command = "cycle_exterior" +// Return the air from the turf in "front" of us (Used in shuttles, so it can be in the shuttle area but sense outside it) +obj/machinery/airlock_sensor/airlock_exterior/shuttle/return_air() + var/turf/T = get_step(src, dir) + if(isnull(T)) + return ..() + return T.return_air() + obj/machinery/access_button icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_button_standby" @@ -280,15 +277,9 @@ obj/machinery/access_button/proc/set_frequency(new_frequency) obj/machinery/access_button/initialize() + . = ..() set_frequency(frequency) - -obj/machinery/access_button/New() - ..() - - if(radio_controller) - set_frequency(frequency) - obj/machinery/access_button/Destroy() if(radio_controller) radio_controller.remove_object(src, frequency) diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 8b6ddb58344..1c384a651dc 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -19,7 +19,7 @@ ..() /obj/machinery/door/airlock/alarmlock/initialize() - ..() + . = ..() radio_controller.remove_object(src, air_frequency) air_connection = radio_controller.add_object(src, air_frequency, RADIO_TO_AIRALARM) open() diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index 870b080c79f..58ce8b282c6 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -7,6 +7,9 @@ // as they lack any ID scanning system, they just handle remote control signals. Subtypes have // different icons, which are defined by set of variables. Subtypes are on bottom of this file. +// UPDATE 06.04.2018 +// The emag thing wasn't working as intended, manually overwrote it. + /obj/machinery/door/blast name = "Blast Door" desc = "That looks like it doesn't open easily." @@ -30,7 +33,7 @@ block_air_zones = 0 /obj/machinery/door/blast/initialize() - ..() + . = ..() implicit_material = get_material_by_name("plasteel") /obj/machinery/door/blast/get_material() @@ -56,6 +59,10 @@ radiation_repository.resistance_cache.Remove(get_turf(src)) return +// Has to be in here, comment at the top is older than the emag_act code on doors proper +/obj/machinery/door/blast/emag_act() + return -1 + // Proc: force_open() // Parameters: None // Description: Opens the door. No checks are done inside this proc. @@ -197,6 +204,27 @@ return ..() +// Proc: attack_generic() +// Parameters: Attacking simple mob, incoming damage. +// Description: Checks the power or integrity of the blast door, if either have failed, chekcs the damage to determine if the creature would be able to open the door by force. Otherwise, super. +/obj/machinery/door/blast/attack_generic(var/mob/user, var/damage) + if(stat & (BROKEN|NOPOWER)) + if(damage >= 10) + if(src.density) + visible_message("\The [user] starts forcing \the [src] open!") + if(do_after(user, 5 SECONDS, src)) + visible_message("\The [user] forces \the [src] open!") + force_open(1) + else + visible_message("\The [user] starts forcing \the [src] closed!") + if(do_after(user, 2 SECONDS, src)) + visible_message("\The [user] forces \the [src] closed!") + force_close(1) + else + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + // Proc: open() // Parameters: None // Description: Opens the door. Does necessary checks. Automatically closes if autoclose is true diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 6e1d19d4d31..984d5e023d4 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -38,11 +38,14 @@ var/atom/movable/overlay/c_animation = null /obj/machinery/door/attack_generic(var/mob/user, var/damage) - if(damage >= 10) - visible_message("\The [user] smashes into the [src]!") - take_damage(damage) - else - visible_message("\The [user] bonks \the [src] harmlessly.") + if(isanimal(user)) + var/mob/living/simple_animal/S = user + if(damage >= 10) + visible_message("\The [user] smashes into the [src]!") + playsound(src, S.attack_sound, 75, 1) + take_damage(damage) + else + visible_message("\The [user] bonks \the [src] harmlessly.") user.do_attack_animation(src) /obj/machinery/door/New() diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index b22dc27dba7..504d65c3065 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -216,8 +216,31 @@ return ..() +/obj/machinery/door/firedoor/attack_generic(var/mob/user, var/damage) + if(stat & (BROKEN|NOPOWER)) + if(damage >= 10) + var/time_to_force = (2 + (2 * blocked)) * 5 + if(src.density) + visible_message("\The [user] starts forcing \the [src] open!") + if(do_after(user, time_to_force, src)) + visible_message("\The [user] forces \the [src] open!") + src.blocked = 0 + open(1) + else + time_to_force = (time_to_force / 2) + visible_message("\The [user] starts forcing \the [src] closed!") + if(do_after(user, time_to_force, src)) + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + /obj/machinery/door/firedoor/attackby(obj/item/weapon/C as obj, mob/user as mob) add_fingerprint(user) + if(istype(C, /obj/item/taperoll)) + return //Don't open the door if we're putting tape on it to tell people 'don't open the door'. if(operating) return//Already doing something. if(istype(C, /obj/item/weapon/weldingtool) && !repairing) diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index fb909dee555..b5895cd3004 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -11,9 +11,10 @@ var/tag_airlock_mech_sensor var/tag_shuttle_mech_sensor var/tag_secure = 0 + var/cycle_to_external_air = 0 /obj/machinery/embedded_controller/radio/airlock/initialize() - ..() + . = ..() program = new/datum/computer/file/embedded_program/airlock(src) //Advanced airlock controller for when you want a more versatile airlock controller - useful for turning simple access control rooms into airlocks diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm index a78ac2be2d8..a63874235fb 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm @@ -6,7 +6,7 @@ tag_secure = 1 /obj/machinery/embedded_controller/radio/airlock/docking_port/initialize() - ..() + . = ..() airlock_program = new/datum/computer/file/embedded_program/airlock/docking(src) docking_program = new/datum/computer/file/embedded_program/docking/airlock(src, airlock_program) program = docking_program diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm index 0cffb34dc6f..9fb1b34900b 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm @@ -10,7 +10,7 @@ var/datum/computer/file/embedded_program/docking/multi/docking_program /obj/machinery/embedded_controller/radio/docking_port_multi/initialize() - ..() + . = ..() docking_program = new/datum/computer/file/embedded_program/docking/multi(src) program = docking_program @@ -56,7 +56,7 @@ tag_secure = 1 /obj/machinery/embedded_controller/radio/airlock/docking_port_multi/initialize() - ..() + . = ..() airlock_program = new/datum/computer/file/embedded_program/airlock/multi_docking(src) program = airlock_program diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index fabf499dc99..5ebbac93aeb 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -9,6 +9,8 @@ #define TARGET_INOPEN -1 #define TARGET_OUTOPEN -2 +#define MIN_TARGET_PRESSURE (ONE_ATMOSPHERE * 0.05) // Never try to pump to pure vacuum, its not happening. +#define SKIPCYCLE_MARGIN 1 // Skip cycling airlock (just open the doors) if pressures are within this range. /datum/computer/file/embedded_program/airlock var/tag_exterior_door @@ -23,6 +25,10 @@ var/state = STATE_IDLE var/target_state = TARGET_NONE + var/cycle_to_external_air = 0 + var/tag_pump_out_external + var/tag_pump_out_internal + /datum/computer/file/embedded_program/airlock/New(var/obj/machinery/embedded_controller/M) ..(M) @@ -38,6 +44,10 @@ if (istype(M, /obj/machinery/embedded_controller/radio/airlock)) //if our controller is an airlock controller than we can auto-init our tags var/obj/machinery/embedded_controller/radio/airlock/controller = M + cycle_to_external_air = controller.cycle_to_external_air + if(cycle_to_external_air) + tag_pump_out_external = "[id_tag]_pump_out_external" + tag_pump_out_internal = "[id_tag]_pump_out_internal" tag_exterior_door = controller.tag_exterior_door? controller.tag_exterior_door : "[id_tag]_outer" tag_interior_door = controller.tag_interior_door? controller.tag_interior_door : "[id_tag]_inner" tag_airpump = controller.tag_airpump? controller.tag_airpump : "[id_tag]_pump" @@ -74,7 +84,7 @@ memory["interior_status"]["state"] = signal.data["door_status"] memory["interior_status"]["lock"] = signal.data["lock_status"] - else if(receive_tag==tag_airpump) + else if(receive_tag==tag_airpump || receive_tag==tag_pump_out_internal) if(signal.data["power"]) memory["pump_status"] = signal.data["direction"] else @@ -109,13 +119,18 @@ var/shutdown_pump = 0 switch(command) if("cycle_ext") + //If airlock is already cycled in this direction, just toggle the doors. + if(!memory["purge"] && abs(memory["external_sensor_pressure"] - memory["chamber_sensor_pressure"]) <= SKIPCYCLE_MARGIN) + toggleDoor(memory["exterior_status"], tag_exterior_door, memory["secure"], "toggle") //only respond to these commands if the airlock isn't already doing something //prevents the controller from getting confused and doing strange things - if(state == target_state) + else if(state == target_state) begin_cycle_out() if("cycle_int") - if(state == target_state) + if(!memory["purge"] && abs(memory["internal_sensor_pressure"] - memory["chamber_sensor_pressure"]) <= SKIPCYCLE_MARGIN) + toggleDoor(memory["interior_status"], tag_interior_door, memory["secure"], "toggle") + else if(state == target_state) begin_cycle_in() if("cycle_ext_door") @@ -151,6 +166,10 @@ if(shutdown_pump) signalPump(tag_airpump, 0) //send a signal to stop pressurizing + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) + /datum/computer/file/embedded_program/airlock/process() @@ -170,6 +189,9 @@ //make sure to return to a sane idle state if(memory["pump_status"] != "off") //send a signal to stop pumping signalPump(tag_airpump, 0) + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) if ((state == STATE_PRESSURIZE || state == STATE_DEPRESSURIZE) && !check_doors_secured()) //the airlock will not allow itself to continue to cycle when any of the doors are forced open. @@ -185,24 +207,37 @@ //purge apparently means clearing the airlock chamber to vacuum (then refilling, handled later) target_pressure = 0 state = STATE_DEPRESSURIZE - signalPump(tag_airpump, 1, 0, 0) //send a signal to start depressurizing + if(!cycle_to_external_air || target_state == TARGET_OUTOPEN) // if going outside, pump internal air into air tank + signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing + else + signalPump(tag_pump_out_internal, 1, 0, target_pressure) // if going inside, pump external air out of the airlock + signalPump(tag_pump_out_external, 1, 1, 15000) // make sure the air is actually going outside else if(chamber_pressure <= target_pressure) state = STATE_PRESSURIZE - signalPump(tag_airpump, 1, 1, target_pressure) //send a signal to start pressurizing + if(!cycle_to_external_air || target_state == TARGET_INOPEN) // if going inside, pump air into airlock + signalPump(tag_airpump, 1, 1, target_pressure) //send a signal to start pressurizing + else + signalPump(tag_pump_out_internal, 1, 1, target_pressure) // if going outside, fill airlock with external air + signalPump(tag_pump_out_external, 1, 0, 0) else if(chamber_pressure > target_pressure) - state = STATE_DEPRESSURIZE - signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing - + if(!cycle_to_external_air) + state = STATE_DEPRESSURIZE + signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing + else + memory["purge"] = 1 // should always purge first if using external air, chamber pressure should never be higher than target pressure here //Make sure the airlock isn't aiming for pure vacuum - an impossibility - memory["target_pressure"] = max(target_pressure, ONE_ATMOSPHERE * 0.05) + memory["target_pressure"] = max(target_pressure, MIN_TARGET_PRESSURE) if(STATE_PRESSURIZE) if(memory["chamber_sensor_pressure"] >= memory["target_pressure"] * 0.95) //not done until the pump has reported that it's off if(memory["pump_status"] != "off") signalPump(tag_airpump, 0) //send a signal to stop pumping + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) else cycleDoors(target_state) state = STATE_IDLE @@ -210,15 +245,17 @@ if(STATE_DEPRESSURIZE) - if(memory["chamber_sensor_pressure"] <= memory["target_pressure"] * 1.05) - if(memory["purge"]) - memory["purge"] = 0 - memory["target_pressure"] = memory["internal_sensor_pressure"] - state = STATE_PREPARE - target_state = TARGET_NONE - - else if(memory["pump_status"] != "off") + if(memory["chamber_sensor_pressure"] <= max(memory["target_pressure"] * 1.05, MIN_TARGET_PRESSURE)) + if(memory["pump_status"] != "off") signalPump(tag_airpump, 0) + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) + else if(memory["purge"]) + memory["purge"] = 0 + memory["target_pressure"] = (target_state == TARGET_INOPEN ? memory["internal_sensor_pressure"] : memory["external_sensor_pressure"]) + if (memory["target_pressure"] > SKIPCYCLE_MARGIN) + state = STATE_PREPARE // Skip pressurizing if target pressure is already close enough. else cycleDoors(target_state) state = STATE_IDLE @@ -234,10 +271,12 @@ /datum/computer/file/embedded_program/airlock/proc/begin_cycle_in() state = STATE_IDLE target_state = TARGET_INOPEN + memory["purge"] = cycle_to_external_air /datum/computer/file/embedded_program/airlock/proc/begin_cycle_out() state = STATE_IDLE target_state = TARGET_OUTOPEN + memory["purge"] = cycle_to_external_air /datum/computer/file/embedded_program/airlock/proc/close_doors() toggleDoor(memory["interior_status"], tag_interior_door, 1, "close") @@ -363,6 +402,7 @@ send an additional command to open the door again. if(doorCommand) signalDoor(doorTag, doorCommand) +#undef SKIPCYCLE_MARGIN #undef STATE_IDLE #undef STATE_DEPRESSURIZE diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 5a6b77931fd..6833498b5f4 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -58,6 +58,7 @@ obj/machinery/embedded_controller/radio/Destroy() unacidable = 1 /obj/machinery/embedded_controller/radio/initialize() + . = ..() set_frequency(frequency) /obj/machinery/embedded_controller/radio/update_icon() diff --git a/code/game/machinery/embedded_controller/simple_docking_controller.dm b/code/game/machinery/embedded_controller/simple_docking_controller.dm index f1001ada553..ed8b435fb60 100644 --- a/code/game/machinery/embedded_controller/simple_docking_controller.dm +++ b/code/game/machinery/embedded_controller/simple_docking_controller.dm @@ -5,7 +5,7 @@ var/datum/computer/file/embedded_program/docking/simple/docking_program /obj/machinery/embedded_controller/radio/simple_docking_controller/initialize() - ..() + . = ..() docking_program = new/datum/computer/file/embedded_program/docking/simple(src) program = docking_program diff --git a/code/game/machinery/frame.dm b/code/game/machinery/frame.dm index 09cbeb2e00f..3e998e87d6f 100644 --- a/code/game/machinery/frame.dm +++ b/code/game/machinery/frame.dm @@ -551,15 +551,15 @@ for(var/I in req_components) if(istype(P, I) && (req_components[I] > 0)) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(istype(P, /obj/item/stack/material/glass/reinforced)) - var/obj/item/stack/material/glass/reinforced/CP = P - if(CP.get_amount() > 1) - var/camt = min(CP.amount, req_components[I]) // amount of glass to take, idealy amount required, but limited by amount provided - var/obj/item/stack/material/glass/reinforced/CC = new /obj/item/stack/material/glass/reinforced(src) - CC.amount = camt - CC.update_icon() - CP.use(camt) - components += CC + if(istype(P, /obj/item/stack)) + var/obj/item/stack/ST = P + if(ST.get_amount() > 1) + var/camt = min(ST.amount, req_components[I]) // amount of stack to take, idealy amount required, but limited by amount provided + var/obj/item/stack/NS = new ST.stacktype(src) + NS.amount = camt + NS.update_icon() + ST.use(camt) + components += NS req_components[I] -= camt update_desc() break diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index f438f7d0032..39a91b8aff4 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -4,7 +4,7 @@ desc = "Small wall-mounted holographic projector" icon = 'icons/obj/holosign.dmi' icon_state = "sign_off" - layer = 4 + plane = MOB_PLANE use_power = 1 idle_power_usage = 2 active_power_usage = 4 @@ -12,6 +12,7 @@ var/lit = 0 var/id = null var/on_icon = "sign_on" + var/off_icon = "sign_off" /obj/machinery/holosign/proc/toggle() if(stat & (BROKEN|NOPOWER)) @@ -22,7 +23,7 @@ /obj/machinery/holosign/update_icon() if(!lit) - icon_state = "sign_off" + icon_state = off_icon else icon_state = on_icon @@ -40,7 +41,16 @@ /obj/machinery/holosign/exit name = "exit holosign" desc = "Small wall-mounted holographic projector. This one reads EXIT." - on_icon = "exit" + on_icon = "emergencyexit" + +/obj/machinery/holosign/bar + name = "bar holosign" + desc = "Small wall-mounted holographic projector. This one reads OPEN." + icon_state = "barclosed" + on_icon = "baropen" + off_icon = "barclosed" + + ////////////////////SWITCH/////////////////////////////////////// /obj/machinery/button/holosign diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 5b5bb8c4758..caa71d7fb5a 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -37,6 +37,7 @@ datum/track/New(var/title_name, var/audio) new/datum/track("Part A", 'sound/misc/TestLoop1.ogg'), new/datum/track("Scratch", 'sound/music/title1.ogg'), new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'), + new/datum/track("Stellar Transit", 'sound/ambience/serspaceamb1.ogg'), ) // Only visible if hacked diff --git a/code/game/machinery/kitchen/cooking_machines/_cooker.dm b/code/game/machinery/kitchen/cooking_machines/_cooker.dm index 26b21c9a131..9f430929423 100644 --- a/code/game/machinery/kitchen/cooking_machines/_cooker.dm +++ b/code/game/machinery/kitchen/cooking_machines/_cooker.dm @@ -50,6 +50,9 @@ user << "\The [src] is running!" return + if(default_unfasten_wrench(user, I, 20)) + return + // We are trying to cook a grabbed mob. var/obj/item/weapon/grab/G = I if(istype(G)) diff --git a/code/game/machinery/kitchen/cooking_machines/fryer.dm b/code/game/machinery/kitchen/cooking_machines/fryer.dm index 1fc0e75ef1c..451f84c2ff9 100644 --- a/code/game/machinery/kitchen/cooking_machines/fryer.dm +++ b/code/game/machinery/kitchen/cooking_machines/fryer.dm @@ -36,7 +36,7 @@ if(H.species.flags & NO_PAIN) nopain = 2 E = H.get_organ(user.zone_sel.selecting) - if(E.status & ORGAN_ROBOT) + if(E.robotic >= ORGAN_ROBOT) nopain = 1 user.visible_message("\The [user] shoves \the [victim][E ? "'s [E.name]" : ""] into \the [src]!") @@ -45,7 +45,7 @@ E.take_damage(0, rand(20,30)) if(E.children && E.children.len) for(var/obj/item/organ/external/child in E.children) - if(nopain && nopain < 2 && !(child.status & ORGAN_ROBOT)) + if(nopain && nopain < 2 && !(child.robotic >= ORGAN_ROBOT)) nopain = 0 child.take_damage(0, rand(20,30)) else @@ -58,9 +58,7 @@ victim << "Searing hot oil scorches your [E ? E.name : "flesh"]!" if(victim.client) - user.attack_log += text("\[[time_stamp()]\] Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]") - victim.attack_log += text("\[[time_stamp()]\] Has been [cook_type] in \a [src] by [user.name] ([user.ckey])") - msg_admin_attack("[user] ([user.ckey]) [cook_type] \the [victim] ([victim.ckey]) in \a [src]. (JMP)") + add_attack_logs(user,victim,"[cook_type] in [src]") icon_state = off_icon cooking = 0 diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm index f3d4e69611d..d695253aa9f 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/game/machinery/kitchen/gibber.dm @@ -92,6 +92,9 @@ /obj/machinery/gibber/attackby(var/obj/item/W, var/mob/user) var/obj/item/weapon/grab/G = W + if(default_unfasten_wrench(user, W, 40)) + return + if(!istype(G)) return ..() @@ -208,9 +211,7 @@ if(src.occupant.reagents) src.occupant.reagents.trans_to_obj(new_meat, round(occupant.reagents.total_volume/slab_count,1)) - src.occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [user]/[user.ckey]" //One shall not simply gib a mob unnoticed! - user.attack_log += "\[[time_stamp()]\] Gibbed [src.occupant]/[src.occupant.ckey]" - msg_admin_attack("[user.name] ([user.ckey]) gibbed [src.occupant] ([src.occupant.ckey]) (JMP)") + add_attack_logs(user,occupant,"Used [src] to gib") src.occupant.ghostize() @@ -222,13 +223,12 @@ playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) operating = 0 - for (var/obj/thing in contents) - // Todo: unify limbs and internal organs + for (var/obj/item/thing in contents) // There's a chance that the gibber will fail to destroy some evidence. - if((istype(thing,/obj/item/organ) || istype(thing,/obj/item/organ)) && prob(80)) + if(istype(thing,/obj/item/organ) && prob(80)) qdel(thing) continue - thing.loc = get_turf(thing) // Drop it onto the turf for throwing. + thing.forceMove(get_turf(thing)) // Drop it onto the turf for throwing. thing.throw_at(get_edge_target_turf(src,gib_throw_dir),rand(0,3),emagged ? 100 : 50) // Being pelted with bits of meat and bone would hurt. update_icon() diff --git a/code/game/machinery/kitchen/icecream.dm b/code/game/machinery/kitchen/icecream.dm index 448b252fd49..09cb3289ed1 100644 --- a/code/game/machinery/kitchen/icecream.dm +++ b/code/game/machinery/kitchen/icecream.dm @@ -52,7 +52,7 @@ return "vanilla" /obj/machinery/icecream_vat/initialize() - ..() + . = ..() create_reagents(100) while(product_types.len < 6) product_types.Add(5) @@ -172,7 +172,6 @@ name = "ice cream cone" desc = "Delicious waffle cone, but no ice cream." icon_state = "icecream_cone_waffle" //default for admin-spawned cones, href_list["cone"] should overwrite this all the time - layer = 3.1 bitesize = 3 var/ice_creamed = 0 diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index c789c94db50..3da253e6827 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -2,7 +2,6 @@ name = "microwave" icon = 'icons/obj/kitchen.dmi' icon_state = "mw" - layer = 2.9 density = 1 anchored = 1 use_power = 1 @@ -87,7 +86,7 @@ src.icon_state = "mw" src.broken = 0 // Fix it! src.dirty = 0 // just to be sure - src.flags = OPENCONTAINER + src.flags = OPENCONTAINER | NOREACT else user << "It's broken!" return 1 @@ -95,6 +94,8 @@ return else if(default_deconstruction_crowbar(user, O)) return + else if(default_unfasten_wrench(user, O, 10)) + return else if(src.dirty==100) // The microwave is all dirty so can't be used! if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them @@ -110,7 +111,7 @@ src.dirty = 0 // It's clean! src.broken = 0 // just to be sure src.icon_state = "mw" - src.flags = OPENCONTAINER + src.flags = OPENCONTAINER | NOREACT else //Otherwise bad luck!! user << "It's dirty!" return 1 diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index 86b481b31b1..b2c3d21b689 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -4,7 +4,6 @@ name = "\improper SmartFridge" icon = 'icons/obj/vending.dmi' icon_state = "smartfridge" - layer = 2.9 density = 1 anchored = 1 use_power = 1 @@ -22,6 +21,7 @@ var/locked = 0 var/scan_id = 1 var/is_secure = 0 + var/wrenchable = 0 var/datum/wires/smartfridge/wires = null /obj/machinery/smartfridge/secure @@ -128,6 +128,7 @@ /obj/machinery/smartfridge/drying_rack name = "\improper Drying Rack" desc = "A machine for drying plants." + wrenchable = 1 icon_state = "drying_rack" icon_on = "drying_rack_on" icon_off = "drying_rack" @@ -217,6 +218,9 @@ nanomanager.update_uis(src) return + if(wrenchable && default_unfasten_wrench(user, O, 20)) + return + if(istype(O, /obj/item/device/multitool)||istype(O, /obj/item/weapon/wirecutters)) if(panel_open) attack_hand(user) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 2e881f65834..874f8876b97 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -97,6 +97,7 @@ Class Procs: name = "machinery" icon = 'icons/obj/stationobjs.dmi' w_class = ITEMSIZE_NO_CONTAINER + layer = UNDER_JUNK_LAYER var/stat = 0 var/emagged = 0 @@ -112,16 +113,19 @@ Class Procs: var/panel_open = 0 var/global/gl_uid = 1 var/interact_offline = 0 // Can the machine be interacted with while de-powered. - var/circuit = null + var/obj/item/weapon/circuitboard/circuit = null /obj/machinery/New(l, d=0) ..(l) if(d) set_dir(d) - START_MACHINE_PROCESSING(src) if(circuit) circuit = new circuit(src) +/obj/machinery/initialize() + . = ..() + START_MACHINE_PROCESSING(src) + /obj/machinery/Destroy() STOP_MACHINE_PROCESSING(src) if(component_parts) @@ -399,7 +403,7 @@ Class Procs: if(A.frame_type.circuit) A.need_circuit = 0 - if(A.frame_type.frame_class == "machine") + if(A.frame_type.frame_class == FRAME_CLASS_MACHINE) for(var/obj/D in component_parts) D.forceMove(src.loc) if(A.components) @@ -409,15 +413,15 @@ Class Procs: component_parts = list() A.check_components() - if(A.frame_type.frame_class == "alarm") - A.state = 2 - else if(A.frame_type.frame_class == "computer" || A.frame_type.frame_class == "display") + if(A.frame_type.frame_class == FRAME_CLASS_ALARM) + A.state = FRAME_FASTENED + else if(A.frame_type.frame_class == FRAME_CLASS_COMPUTER || A.frame_type.frame_class == FRAME_CLASS_DISPLAY) if(stat & BROKEN) - A.state = 3 + A.state = FRAME_WIRED else - A.state = 4 + A.state = FRAME_PANELED else - A.state = 3 + A.state = FRAME_WIRED A.set_dir(dir) A.pixel_x = pixel_x @@ -427,4 +431,4 @@ Class Procs: M.loc = null M.deconstruct(src) qdel(src) - return 1 \ No newline at end of file + return 1 diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index af61e934246..8022235736a 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -9,8 +9,7 @@ icon_state = "floor_magnet-f" name = "Electromagnetic Generator" desc = "A device that uses station power to create points of magnetic energy." - level = 1 // underfloor - layer = 2.5 + plane = PLATING_PLANE anchored = 1 use_power = 1 idle_power_usage = 50 diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index ac0af163786..7e472c8ecab 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -8,8 +8,7 @@ var/global/list/navbeacons = list() // no I don't like putting this in, but it w icon_state = "navbeacon0-f" name = "navigation beacon" desc = "A beacon used for bot navigation." - level = 1 // underfloor - layer = 2.5 + plane = PLATING_PLANE anchored = 1 var/open = 0 // true if cover is open var/locked = 1 // true if controls are locked diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 5ce605afccd..b9bd4a68559 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -935,20 +935,11 @@ obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/machinery/newscaster/proc/scan_user(mob/living/user as mob) if(istype(user,/mob/living/carbon/human)) //User is a human var/mob/living/carbon/human/human_user = user - if(human_user.wear_id) //Newscaster scans you - if(istype(human_user.wear_id, /obj/item/device/pda)) //autorecognition, woo! - var/obj/item/device/pda/P = human_user.wear_id - if(P.id) - scanned_user = GetNameAndAssignmentFromId(P.id) - else - scanned_user = "Unknown" - else if(istype(human_user.wear_id, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/ID = human_user.wear_id - scanned_user = GetNameAndAssignmentFromId(ID) - else - scanned_user ="Unknown" + var/obj/item/weapon/card/id/I = human_user.GetIdCard() + if(I) + scanned_user = GetNameAndAssignmentFromId(I) else - scanned_user ="Unknown" + scanned_user = "Unknown" else var/mob/living/silicon/ai_user = user scanned_user = "[ai_user.name] ([ai_user.job])" diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm index 48bd028c09f..0ec65cc30db 100644 --- a/code/game/machinery/overview.dm +++ b/code/game/machinery/overview.dm @@ -168,7 +168,7 @@ qdel(I) qdel(J) H.icon = HI - H.layer = 25 + H.hud_layerise() usr.mapobjs += H #else @@ -287,7 +287,7 @@ H.icon = I qdel(I) - H.layer = 25 + H.hud_layerise() usr.mapobjs += H #endif diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm new file mode 100644 index 00000000000..36db3f83f3c --- /dev/null +++ b/code/game/machinery/oxygen_pump.dm @@ -0,0 +1,241 @@ +#define TANK_MAX_RELEASE_PRESSURE (3*ONE_ATMOSPHERE) +#define TANK_DEFAULT_RELEASE_PRESSURE ONE_ATMOSPHERE + +/obj/machinery/oxygen_pump + name = "emergency oxygen pump" + icon = 'icons/obj/walllocker.dmi' + desc = "A wall mounted oxygen pump with a retractable face mask that you can pull over your face in case of emergencies." + icon_state = "oxygen_tank" + + anchored = TRUE + + var/obj/item/weapon/tank/tank + var/mob/living/carbon/breather + var/obj/item/clothing/mask/breath/contained + + var/spawn_type = /obj/item/weapon/tank/emergency/oxygen/engi + var/mask_type = /obj/item/clothing/mask/breath/emergency + var/icon_state_open = "oxygen_tank_open" + var/icon_state_closed = "oxygen_tank" + + power_channel = ENVIRON + idle_power_usage = 10 + active_power_usage = 120 // No idea what the realistic amount would be. + +/obj/machinery/oxygen_pump/initialize() + . = ..() + tank = new spawn_type (src) + contained = new mask_type (src) + +/obj/machinery/oxygen_pump/Destroy() + if(breather) + breather.internal = null + if(breather.internals) + breather.internals.icon_state = "internal0" + breather.remove_from_mob(contained) + visible_message("The mask rapidly retracts just before /the [src] is destroyed!") + breather = null + + qdel_null(tank) + qdel_null(contained) + return ..() + +/obj/machinery/oxygen_pump/MouseDrop(var/mob/living/carbon/human/target, src_location, over_location) + ..() + if(istype(target) && CanMouseDrop(target)) + if(!can_apply_to_target(target, usr)) // There is no point in attempting to apply a mask if it's impossible. + return + usr.visible_message("\The [usr] begins placing the mask onto [target]..") + if(!do_mob(usr, target, 25) || !can_apply_to_target(target, usr)) + return + // place mask and add fingerprints + usr.visible_message("\The [usr] has placed \the mask on [target]'s mouth.") + attach_mask(target) + src.add_fingerprint(usr) + +/obj/machinery/oxygen_pump/attack_hand(mob/user as mob) + if((stat & MAINT) && tank) + user.visible_message("\The [user] removes \the [tank] from \the [src].", "You remove \the [tank] from \the [src].") + user.put_in_hands(tank) + src.add_fingerprint(user) + tank.add_fingerprint(user) + tank = null + return + if (!tank) + to_chat(user, "There is no tank in \the [src]!") + return + if(breather) + if(tank) + tank.forceMove(src) + breather.remove_from_mob(contained) + contained.forceMove(src) + src.visible_message("\The [user] makes \The [contained] rapidly retracts back into \the [src]!") + if(breather.internals) + breather.internals.icon_state = "internal0" + breather = null + use_power = 1 + +/obj/machinery/oxygen_pump/attack_ai(mob/user as mob) + ui_interact(user) + +/obj/machinery/oxygen_pump/proc/attach_mask(var/mob/living/carbon/C) + if(C && istype(C)) + contained.forceMove(get_turf(C)) + C.equip_to_slot(contained, slot_wear_mask) + if(tank) + tank.forceMove(C) + breather = C + spawn(1) + if(!breather.internal && tank) + breather.internal = tank + if(breather.internals) + breather.internals.icon_state = "internal1" + use_power = 2 + +/obj/machinery/oxygen_pump/proc/can_apply_to_target(var/mob/living/carbon/human/target, mob/user as mob) + if(!user) + user = target + // Check target validity + if(!target.organs_by_name[BP_HEAD]) + to_chat(user, "\The [target] doesn't have a head.") + return + if(!target.check_has_mouth()) + to_chat(user, "\The [target] doesn't have a mouth.") + return + if(target.wear_mask && target != breather) + to_chat(user, "\The [target] is already wearing a mask.") + return + if(target.head && (target.head.body_parts_covered & FACE)) + to_chat(user, "Remove their [target.head] first.") + return + if(!tank) + to_chat(user, "There is no tank in \the [src].") + return + if(stat & MAINT) + to_chat(user, "Please close \the maintenance hatch first.") + return + if(!Adjacent(target)) + to_chat(user, "Please stay close to \the [src].") + return + //when there is a breather: + if(breather && target != breather) + to_chat(user, "\The pump is already in use.") + return + //Checking if breather is still valid + if(target == breather && target.wear_mask != contained) + to_chat(user, "\The [target] is not using the supplied mask.") + return + return 1 + +/obj/machinery/oxygen_pump/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/screwdriver)) + stat ^= MAINT + user.visible_message("\The [user] [stat & MAINT ? "opens" : "closes"] \the [src].", "You [stat & MAINT ? "open" : "close"] \the [src].") + if(stat & MAINT) + icon_state = icon_state_open + if(!stat) + icon_state = icon_state_closed + //TO-DO: Open icon + if(istype(W, /obj/item/weapon/tank) && (stat & MAINT)) + if(tank) + to_chat(user, "\The [src] already has a tank installed!") + else + user.drop_item() + W.forceMove(src) + tank = W + user.visible_message("\The [user] installs \the [tank] into \the [src].", "You install \the [tank] into \the [src].") + src.add_fingerprint(user) + if(istype(W, /obj/item/weapon/tank) && !stat) + to_chat(user, "Please open the maintenance hatch first.") + +/obj/machinery/oxygen_pump/examine(var/mob/user) + . = ..() + if(tank) + to_chat(user, "The meter shows [round(tank.air_contents.return_pressure())]") + else + to_chat(user, "It is missing a tank!") + + +/obj/machinery/oxygen_pump/process() + if(breather) + if(!can_apply_to_target(breather)) + if(tank) + tank.forceMove(src) + breather.remove_from_mob(contained) + contained.forceMove(src) + src.visible_message("\The [contained] rapidly retracts back into \the [src]!") + breather = null + use_power = 1 + else if(!breather.internal && tank) + breather.internal = tank + if(breather.internals) + breather.internals.icon_state = "internal0" + +//Create rightclick to view tank settings +/obj/machinery/oxygen_pump/verb/settings() + set src in oview(1) + set category = "Object" + set name = "Show Tank Settings" + ui_interact(usr) + +//GUI Tank Setup +/obj/machinery/oxygen_pump/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/data[0] + if(!tank) + to_chat(usr, "It is missing a tank!") + data["tankPressure"] = 0 + data["releasePressure"] = 0 + data["defaultReleasePressure"] = 0 + data["maxReleasePressure"] = 0 + data["maskConnected"] = 0 + data["tankInstalled"] = 0 + // this is the data which will be sent to the ui + if(tank) + data["tankPressure"] = round(tank.air_contents.return_pressure() ? tank.air_contents.return_pressure() : 0) + data["releasePressure"] = round(tank.distribute_pressure ? tank.distribute_pressure : 0) + data["defaultReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE) + data["maxReleasePressure"] = round(TANK_MAX_RELEASE_PRESSURE) + data["maskConnected"] = 0 + data["tankInstalled"] = 1 + + if(!breather) + data["maskConnected"] = 0 + if(breather) + data["maskConnected"] = 1 + + + // update the ui if it exists, returns null if no ui is passed/found + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + // the ui does not exist, so we'll create a new() one + // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm + ui = new(user, src, ui_key, "Oxygen_pump.tmpl", "Tank", 500, 300) + // when the ui is first opened this is the data it will use + ui.set_initial_data(data) + // open the new ui window + ui.open() + // auto update every Master Controller tick + ui.set_auto_update(1) + +/obj/machinery/oxygen_pump/Topic(href, href_list) + if(..()) + return 1 + + if (href_list["dist_p"]) + if (href_list["dist_p"] == "reset") + tank.distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE + else if (href_list["dist_p"] == "max") + tank.distribute_pressure = TANK_MAX_RELEASE_PRESSURE + else + var/cp = text2num(href_list["dist_p"]) + tank.distribute_pressure += cp + tank.distribute_pressure = min(max(round(tank.distribute_pressure), 0), TANK_MAX_RELEASE_PRESSURE) + return 1 + +/obj/machinery/oxygen_pump/anesthetic + name = "anesthetic pump" + spawn_type = /obj/item/weapon/tank/anesthetic + icon_state = "anesthetic_tank" + icon_state_closed = "anesthetic_tank" + icon_state_open = "anesthetic_tank_open" + mask_type = /obj/item/clothing/mask/breath/anesthetic diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index ec0f8a027c4..ca09d3de58d 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -2,1317 +2,281 @@ Buildable pipes Buildable meters */ -#define PIPE_SIMPLE_STRAIGHT 0 -#define PIPE_SIMPLE_BENT 1 -#define PIPE_HE_STRAIGHT 2 -#define PIPE_HE_BENT 3 -#define PIPE_CONNECTOR 4 -#define PIPE_MANIFOLD 5 -#define PIPE_JUNCTION 6 -#define PIPE_UVENT 7 -#define PIPE_MVALVE 8 -#define PIPE_PUMP 9 -#define PIPE_SCRUBBER 10 -#define PIPE_INSULATED_STRAIGHT 11 -#define PIPE_INSULATED_BENT 12 -#define PIPE_GAS_FILTER 13 -#define PIPE_GAS_MIXER 14 -#define PIPE_PASSIVE_GATE 15 -#define PIPE_VOLUME_PUMP 16 -#define PIPE_HEAT_EXCHANGE 17 -#define PIPE_MTVALVE 18 -#define PIPE_MANIFOLD4W 19 -#define PIPE_CAP 20 -///// Z-Level stuff -#define PIPE_UP 21 -#define PIPE_DOWN 22 -///// Z-Level stuff -#define PIPE_GAS_FILTER_M 23 -#define PIPE_GAS_MIXER_T 24 -#define PIPE_GAS_MIXER_M 25 -#define PIPE_OMNI_MIXER 26 -#define PIPE_OMNI_FILTER 27 -///// Supply, scrubbers and universal pipes -#define PIPE_UNIVERSAL 28 -#define PIPE_SUPPLY_STRAIGHT 29 -#define PIPE_SUPPLY_BENT 30 -#define PIPE_SCRUBBERS_STRAIGHT 31 -#define PIPE_SCRUBBERS_BENT 32 -#define PIPE_SUPPLY_MANIFOLD 33 -#define PIPE_SCRUBBERS_MANIFOLD 34 -#define PIPE_SUPPLY_MANIFOLD4W 35 -#define PIPE_SCRUBBERS_MANIFOLD4W 36 -#define PIPE_SUPPLY_UP 37 -#define PIPE_SCRUBBERS_UP 38 -#define PIPE_SUPPLY_DOWN 39 -#define PIPE_SCRUBBERS_DOWN 40 -#define PIPE_SUPPLY_CAP 41 -#define PIPE_SCRUBBERS_CAP 42 -///// Mirrored T-valve ~ because I couldn't be bothered re-sorting all of the defines -#define PIPE_MTVALVEM 43 -///// Digital Valves sit here because otherwise we're resorting every define. -#define PIPE_DVALVE 44 -#define PIPE_DTVALVE 45 -#define PIPE_DTVALVEM 46 - -#define PIPE_PASSIVE_VENT 47 /obj/item/pipe name = "pipe" - desc = "A pipe" - var/pipe_type = 0 - //var/pipe_dir = 0 + desc = "A pipe." + var/pipe_type var/pipename - var/connect_types = CONNECT_TYPE_REGULAR force = 7 + throwforce = 7 icon = 'icons/obj/pipe-item.dmi' icon_state = "simple" item_state = "buildpipe" w_class = ITEMSIZE_NORMAL level = 2 + var/piping_layer = PIPING_LAYER_DEFAULT + var/dispenser_class // Tells the dispenser what orientations we support, so RPD can show previews. -/obj/item/pipe/New(var/loc, var/pipe_type as num, var/dir as num, var/obj/machinery/atmospherics/make_from = null) - ..() - if (make_from) - src.set_dir(make_from.dir) - src.pipename = make_from.name - if(make_from.req_access) - src.req_access = make_from.req_access - if(make_from.req_one_access) - src.req_one_access = make_from.req_one_access - color = make_from.pipe_color - var/is_bent - if (make_from.initialize_directions in list(NORTH|SOUTH, WEST|EAST)) - is_bent = 0 - else - is_bent = 1 - if (istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction)) - src.pipe_type = PIPE_JUNCTION - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_HE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging)) - src.pipe_type = PIPE_HE_STRAIGHT + is_bent - connect_types = CONNECT_TYPE_HE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/insulated)) - src.pipe_type = PIPE_INSULATED_STRAIGHT + is_bent - else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/supply)) - src.pipe_type = PIPE_SUPPLY_STRAIGHT + is_bent - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers)) - src.pipe_type = PIPE_SCRUBBERS_STRAIGHT + is_bent - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/universal) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/universal)) - src.pipe_type = PIPE_UNIVERSAL - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER - else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple)) - src.pipe_type = PIPE_SIMPLE_STRAIGHT + is_bent - else if(istype(make_from, /obj/machinery/atmospherics/portables_connector)) - src.pipe_type = PIPE_CONNECTOR - else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/supply)) - src.pipe_type = PIPE_SUPPLY_MANIFOLD - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers)) - src.pipe_type = PIPE_SCRUBBERS_MANIFOLD - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold)) - src.pipe_type = PIPE_MANIFOLD - else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_pump)) - src.pipe_type = PIPE_UVENT - else if(istype(make_from, /obj/machinery/atmospherics/valve/digital)) - src.pipe_type = PIPE_DVALVE - else if(istype(make_from, /obj/machinery/atmospherics/valve)) - src.pipe_type = PIPE_MVALVE - else if(istype(make_from, /obj/machinery/atmospherics/binary/pump/high_power)) - src.pipe_type = PIPE_VOLUME_PUMP - else if(istype(make_from, /obj/machinery/atmospherics/binary/pump)) - src.pipe_type = PIPE_PUMP - else if(istype(make_from, /obj/machinery/atmospherics/trinary/atmos_filter/m_filter)) - src.pipe_type = PIPE_GAS_FILTER_M - else if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer/t_mixer)) - src.pipe_type = PIPE_GAS_MIXER_T - else if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer/m_mixer)) - src.pipe_type = PIPE_GAS_MIXER_M - else if(istype(make_from, /obj/machinery/atmospherics/trinary/atmos_filter)) - src.pipe_type = PIPE_GAS_FILTER - else if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer)) - src.pipe_type = PIPE_GAS_MIXER - else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_scrubber)) - src.pipe_type = PIPE_SCRUBBER - else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate)) - src.pipe_type = PIPE_PASSIVE_GATE - else if(istype(make_from, /obj/machinery/atmospherics/unary/heat_exchanger)) - src.pipe_type = PIPE_HEAT_EXCHANGE - else if(istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored/digital)) - src.pipe_type = PIPE_DTVALVEM - else if(istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored)) - src.pipe_type = PIPE_MTVALVEM - else if(istype(make_from, /obj/machinery/atmospherics/tvalve/digital)) - src.pipe_type = PIPE_DTVALVE - else if(istype(make_from, /obj/machinery/atmospherics/tvalve)) - src.pipe_type = PIPE_MTVALVE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply)) - src.pipe_type = PIPE_SUPPLY_MANIFOLD4W - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers)) - src.pipe_type = PIPE_SCRUBBERS_MANIFOLD4W - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w)) - src.pipe_type = PIPE_MANIFOLD4W - else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/supply)) - src.pipe_type = PIPE_SUPPLY_CAP - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/scrubbers)) - src.pipe_type = PIPE_SCRUBBERS_CAP - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap)) - src.pipe_type = PIPE_CAP - else if(istype(make_from, /obj/machinery/atmospherics/omni/mixer)) - src.pipe_type = PIPE_OMNI_MIXER - else if(istype(make_from, /obj/machinery/atmospherics/omni/atmos_filter)) - src.pipe_type = PIPE_OMNI_FILTER -///// Z-Level stuff - else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up/supply)) - src.pipe_type = PIPE_SUPPLY_UP - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up/scrubbers)) - src.pipe_type = PIPE_SCRUBBERS_UP - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up)) - src.pipe_type = PIPE_UP - else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down/supply)) - src.pipe_type = PIPE_SUPPLY_DOWN - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down/scrubbers)) - src.pipe_type = PIPE_SCRUBBERS_DOWN - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down)) - src.pipe_type = PIPE_DOWN -///// Z-Level stuff - else if(istype(make_from, /obj/machinery/atmospherics/pipe/vent)) - src.pipe_type = PIPE_PASSIVE_VENT +// One subtype for each way components connect to neighbors +/obj/item/pipe/directional + dispenser_class = PIPE_DIRECTIONAL +/obj/item/pipe/binary + dispenser_class = PIPE_STRAIGHT +/obj/item/pipe/binary/bendable + dispenser_class = PIPE_BENDABLE +/obj/item/pipe/trinary + dispenser_class = PIPE_TRINARY +/obj/item/pipe/trinary/flippable + dispenser_class = PIPE_TRIN_M + var/mirrored = FALSE +/obj/item/pipe/quaternary + dispenser_class = PIPE_ONEDIR + +/** + * Call constructor with: + * @param loc Location + * @pipe_type + */ +/obj/item/pipe/initialize(var/mapload, var/_pipe_type, var/_dir, var/obj/machinery/atmospherics/make_from) + if(make_from) + make_from_existing(make_from) else - src.pipe_type = pipe_type - src.set_dir(dir) - if (pipe_type == 29 || pipe_type == 30 || pipe_type == 33 || pipe_type == 35 || pipe_type == 37 || pipe_type == 39 || pipe_type == 41) - connect_types = CONNECT_TYPE_SUPPLY - src.color = PIPE_COLOR_BLUE - else if (pipe_type == 31 || pipe_type == 32 || pipe_type == 34 || pipe_type == 36 || pipe_type == 38 || pipe_type == 40 || pipe_type == 42) - connect_types = CONNECT_TYPE_SCRUBBER - src.color = PIPE_COLOR_RED - else if (pipe_type == 2 || pipe_type == 3) - connect_types = CONNECT_TYPE_HE - else if (pipe_type == 6) - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_HE - else if (pipe_type == 28) - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER - //src.pipe_dir = get_pipe_dir() - update() - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) + pipe_type = _pipe_type + set_dir(_dir) -//update the name and icon of the pipe item depending on the type + update() + pixel_x += rand(-5, 5) + pixel_y += rand(-5, 5) + return ..() + +/obj/item/pipe/proc/make_from_existing(obj/machinery/atmospherics/make_from) + set_dir(make_from.dir) + pipename = make_from.name + if(make_from.req_access) + src.req_access = make_from.req_access + if(make_from.req_one_access) + src.req_one_access = make_from.req_one_access + color = make_from.pipe_color + pipe_type = make_from.type + +/obj/item/pipe/trinary/flippable/make_from_existing(obj/machinery/atmospherics/trinary/make_from) + ..() + if(make_from.mirrored) + do_a_flip() + +/obj/item/pipe/dropped() + if(loc) + setPipingLayer(piping_layer) + return ..() + +/obj/item/pipe/proc/setPipingLayer(new_layer = PIPING_LAYER_DEFAULT) + var/obj/machinery/atmospherics/fakeA = pipe_type + if(initial(fakeA.pipe_flags) & (PIPING_ALL_LAYER|PIPING_DEFAULT_LAYER_ONLY)) + new_layer = PIPING_LAYER_DEFAULT + piping_layer = new_layer + // Do it the Polaris way + switch(piping_layer) + if(PIPING_LAYER_SCRUBBER) + color = PIPE_COLOR_RED + name = "[initial(fakeA.name)] scrubber fitting" + if(PIPING_LAYER_SUPPLY) + color = PIPE_COLOR_BLUE + name = "[initial(fakeA.name)] supply fitting" + // Or if we were to do it the TG way... + // pixel_x = PIPE_PIXEL_OFFSET_X(piping_layer) + // pixel_y = PIPE_PIXEL_OFFSET_Y(piping_layer) + // layer = initial(layer) + PIPE_LAYER_OFFSET(piping_layer) /obj/item/pipe/proc/update() - var/list/nlist = list( \ - "pipe", \ - "bent pipe", \ - "h/e pipe", \ - "bent h/e pipe", \ - "connector", \ - "manifold", \ - "junction", \ - "uvent", \ - "mvalve", \ - "pump", \ - "scrubber", \ - "insulated pipe", \ - "bent insulated pipe", \ - "gas filter", \ - "gas mixer", \ - "pressure regulator", \ - "high power pump", \ - "heat exchanger", \ - "t-valve", \ - "4-way manifold", \ - "pipe cap", \ -///// Z-Level stuff - "pipe up", \ - "pipe down", \ -///// Z-Level stuff - "gas filter m", \ - "gas mixer t", \ - "gas mixer m", \ - "omni mixer", \ - "omni filter", \ -///// Supply and scrubbers pipes - "universal pipe adapter", \ - "supply pipe", \ - "bent supply pipe", \ - "scrubbers pipe", \ - "bent scrubbers pipe", \ - "supply manifold", \ - "scrubbers manifold", \ - "supply 4-way manifold", \ - "scrubbers 4-way manifold", \ - "supply pipe up", \ - "scrubbers pipe up", \ - "supply pipe down", \ - "scrubbers pipe down", \ - "supply pipe cap", \ - "scrubbers pipe cap", \ - "t-valve m", \ - "dvalve", \ - "dt-valve", \ - "dt-valve m", \ - "passive vent", \ - ) - name = nlist[pipe_type+1] + " fitting" - var/list/islist = list( \ - "simple", \ - "simple", \ - "he", \ - "he", \ - "connector", \ - "manifold", \ - "junction", \ - "uvent", \ - "mvalve", \ - "pump", \ - "scrubber", \ - "insulated", \ - "insulated", \ - "filter", \ - "mixer", \ - "passivegate", \ - "volumepump", \ - "heunary", \ - "mtvalve", \ - "manifold4w", \ - "cap", \ -///// Z-Level stuff - "cap", \ - "cap", \ -///// Z-Level stuff - "m_filter", \ - "t_mixer", \ - "m_mixer", \ - "omni_mixer", \ - "omni_filter", \ -///// Supply and scrubbers pipes - "universal", \ - "simple", \ - "simple", \ - "simple", \ - "simple", \ - "manifold", \ - "manifold", \ - "manifold4w", \ - "manifold4w", \ - "cap", \ - "cap", \ - "cap", \ - "cap", \ - "cap", \ - "cap", \ - "mtvalvem", \ - "dvalve", \ - "dtvalve", \ - "dtvalvem", \ - "passive vent", \ - ) - icon_state = islist[pipe_type + 1] + var/obj/machinery/atmospherics/fakeA = pipe_type + name = "[initial(fakeA.name)] fitting" + icon_state = initial(fakeA.pipe_state) -//called when a turf is attacked with a pipe item -/obj/item/pipe/afterattack(turf/simulated/floor/target, mob/user, proximity) - if(!proximity) return - if(istype(target)) - user.drop_from_inventory(src, target) - else - return ..() +/obj/item/pipe/verb/flip() + set category = "Object" + set name = "Flip Pipe" + set src in view(1) -// rotate the pipe item clockwise + if ( usr.stat || usr.restrained() || !usr.canmove ) + return + + do_a_flip() + +/obj/item/pipe/proc/do_a_flip() + set_dir(turn(dir, -180)) + fixdir() + +/obj/item/pipe/trinary/flippable/do_a_flip() + // set_dir(turn(dir, flipped ? 45 : -45)) + // TG has a magic icon set with the flipped versions in the diagonals. + // We may switch to this later, but for now gotta do some magic. + mirrored = !mirrored + var/obj/machinery/atmospherics/fakeA = pipe_type + icon_state = "[initial(fakeA.pipe_state)][mirrored ? "m" : ""]" /obj/item/pipe/verb/rotate() set category = "Object" set name = "Rotate Pipe" set src in view(1) - if ( usr.stat || usr.restrained() ) + if ( usr.stat || usr.restrained() || !usr.canmove ) return - src.set_dir(turn(src.dir, -90)) + set_dir(turn(src.dir, -90)) // Rotate clockwise + fixdir() - if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_MVALVE)) - if(dir==2) - set_dir(1) - else if(dir==8) - set_dir(4) - else if (pipe_type in list (PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W)) - set_dir(2) - //src.pipe_set_dir(get_pipe_dir()) +// If you want to disable pipe dir changing when pulled, uncomment this +// /obj/item/pipe/Move() +// var/old_dir = dir +// . = ..() +// set_dir(old_dir) //pipes changing direction when moved is just annoying and buggy + +// Don't let pulling a pipe straighten it out. +/obj/item/pipe/binary/bendable/Move() + var/old_bent = !IS_CARDINAL(dir) + . = ..() + if(old_bent && IS_CARDINAL(dir)) + set_dir(turn(src.dir, -45)) + +//Helper to clean up dir +/obj/item/pipe/proc/fixdir() return -/obj/item/pipe/Move() - ..() - if ((pipe_type in list (PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_HE_BENT, PIPE_INSULATED_BENT)) \ - && (src.dir in cardinal)) - src.set_dir(src.dir|turn(src.dir, 90)) - else if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_MVALVE)) - if(dir==2) - set_dir(1) - else if(dir==8) - set_dir(4) - return +/obj/item/pipe/binary/fixdir() + if(dir == SOUTH) + set_dir(NORTH) + else if(dir == WEST) + set_dir(EAST) -// returns all pipe's endpoints +/obj/item/pipe/trinary/flippable/fixdir() + if(dir in cornerdirs) + set_dir(turn(dir, 45)) -/obj/item/pipe/proc/get_pipe_dir() - if (!dir) - return 0 - var/flip = turn(dir, 180) - var/cw = turn(dir, -90) - var/acw = turn(dir, 90) +/obj/item/pipe/attack_self(mob/user) + set_dir(turn(dir,-90)) + fixdir() - switch(pipe_type) - if( PIPE_SIMPLE_STRAIGHT, \ - PIPE_INSULATED_STRAIGHT, \ - PIPE_HE_STRAIGHT, \ - PIPE_JUNCTION ,\ - PIPE_PUMP ,\ - PIPE_VOLUME_PUMP ,\ - PIPE_PASSIVE_GATE ,\ - PIPE_MVALVE, \ - PIPE_SUPPLY_STRAIGHT, \ - PIPE_SCRUBBERS_STRAIGHT, \ - PIPE_UNIVERSAL, \ - PIPE_DVALVE, \ - ) - return dir|flip - if(PIPE_SIMPLE_BENT, PIPE_INSULATED_BENT, PIPE_HE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT) - return dir //dir|acw - if(PIPE_CONNECTOR,PIPE_UVENT,PIPE_SCRUBBER,PIPE_HEAT_EXCHANGE) - return dir - if(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER) - return dir|flip|cw|acw - if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD) - return flip|cw|acw - if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_MTVALVE, PIPE_DTVALVE) - return dir|flip|cw - if(PIPE_GAS_FILTER_M, PIPE_GAS_MIXER_M, PIPE_MTVALVEM, PIPE_DTVALVEM) - return dir|flip|acw - if(PIPE_GAS_MIXER_T) - return dir|cw|acw - if(PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP) - return dir -///// Z-Level stuff - if(PIPE_UP,PIPE_DOWN,PIPE_SUPPLY_UP,PIPE_SUPPLY_DOWN,PIPE_SCRUBBERS_UP,PIPE_SCRUBBERS_DOWN) - return dir -///// Z-Level stuff - if(PIPE_PASSIVE_VENT) - return dir - return 0 - -/obj/item/pipe/proc/get_pdir() //endpoints for regular pipes - - var/flip = turn(dir, 180) -// var/cw = turn(dir, -90) -// var/acw = turn(dir, 90) - - if (!(pipe_type in list(PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_JUNCTION))) - return get_pipe_dir() - switch(pipe_type) - if(PIPE_HE_STRAIGHT,PIPE_HE_BENT) - return 0 - if(PIPE_JUNCTION) - return flip - return 0 - -// return the h_dir (heat-exchange pipes) from the type and the dir - -/obj/item/pipe/proc/get_hdir() //endpoints for h/e pipes - -// var/flip = turn(dir, 180) -// var/cw = turn(dir, -90) - - switch(pipe_type) - if(PIPE_HE_STRAIGHT) - return get_pipe_dir() - if(PIPE_HE_BENT) - return get_pipe_dir() - if(PIPE_JUNCTION) - return dir - else - return 0 - -/obj/item/pipe/attack_self(mob/user as mob) - return rotate() +//called when a turf is attacked with a pipe item +/obj/item/pipe/afterattack(turf/simulated/floor/target, mob/user, proximity) + if(!proximity) return + if(istype(target) && user.canUnEquip(src)) + user.drop_from_inventory(src, target) + else + return ..() /obj/item/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - ..() - //* - if (!istype(W, /obj/item/weapon/wrench)) - return ..() - if (!isturf(src.loc)) - return 1 - if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_MVALVE)) - if(dir==2) - set_dir(1) - else if(dir==8) - set_dir(4) - else if (pipe_type in list(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER)) - set_dir(2) - var/pipe_dir = get_pipe_dir() + if(iswrench(W)) + return wrench_act(user, W) + return ..() - for(var/obj/machinery/atmospherics/M in src.loc) - if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M,src)) // matches at least one direction on either type of pipe & same connection type - user << "There is already a pipe of the same type at this location." - return 1 +/obj/item/pipe/proc/wrench_act(var/mob/living/user, var/obj/item/weapon/wrench/W) + if(!isturf(loc)) + return TRUE + + add_fingerprint(user) + fixdir() + + var/obj/machinery/atmospherics/fakeA = pipe_type + var/flags = initial(fakeA.pipe_flags) + for(var/obj/machinery/atmospherics/M in loc) + if((M.pipe_flags & flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. + to_chat(user, "Something is hogging the tile!") + return TRUE + if((M.piping_layer != piping_layer) && !((M.pipe_flags | flags) & PIPING_ALL_LAYER)) // Pipes on different layers can't block each other unless they are ALL_LAYER + continue + if(M.get_init_dirs() & SSmachines.get_init_dirs(pipe_type, dir)) // matches at least one direction on either type of pipe + to_chat(user, "There is already a pipe at that location!") + return TRUE // no conflicts found - var/pipefailtext = "There's nothing to connect this pipe section to!" //(with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" - - //TODO: Move all of this stuff into the various pipe constructors. - switch(pipe_type) - if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT) - var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc ) - P.pipe_color = color - P.set_dir(src.dir) - P.initialize_directions = pipe_dir - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT) - var/obj/machinery/atmospherics/pipe/simple/hidden/supply/P = new( src.loc ) - P.pipe_color = color - P.set_dir(src.dir) - P.initialize_directions = pipe_dir - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT) - var/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers/P = new( src.loc ) - P.pipe_color = color - P.set_dir(src.dir) - P.initialize_directions = pipe_dir - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_UNIVERSAL) - var/obj/machinery/atmospherics/pipe/simple/hidden/universal/P = new( src.loc ) - P.pipe_color = color - P.set_dir(src.dir) - P.initialize_directions = pipe_dir - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_HE_STRAIGHT, PIPE_HE_BENT) - var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc ) - P.set_dir(src.dir) - P.initialize_directions = pipe_dir //this var it's used to know if the pipe is bent or not - P.initialize_directions_he = pipe_dir - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_CONNECTOR) // connector - var/obj/machinery/atmospherics/portables_connector/C = new( src.loc ) - C.set_dir(dir) - C.initialize_directions = pipe_dir - if (pipename) - C.name = pipename - var/turf/T = C.loc - C.level = !T.is_plating() ? 2 : 1 - C.atmos_init() - C.build_network() - if (C.node) - C.node.atmos_init() - C.node.build_network() - - - if(PIPE_MANIFOLD) //manifold - var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc ) - M.pipe_color = color - M.set_dir(dir) - M.initialize_directions = pipe_dir - //M.New() - var/turf/T = M.loc - M.level = !T.is_plating() ? 2 : 1 - M.atmos_init() - if (QDELETED(M)) - usr << pipefailtext - return 1 - M.build_network() - if (M.node1) - M.node1.atmos_init() - M.node1.build_network() - if (M.node2) - M.node2.atmos_init() - M.node2.build_network() - if (M.node3) - M.node3.atmos_init() - M.node3.build_network() - - if(PIPE_SUPPLY_MANIFOLD) //manifold - var/obj/machinery/atmospherics/pipe/manifold/hidden/supply/M = new( src.loc ) - M.pipe_color = color - M.set_dir(dir) - M.initialize_directions = pipe_dir - //M.New() - var/turf/T = M.loc - M.level = !T.is_plating() ? 2 : 1 - M.atmos_init() - if (!M) - usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" - return 1 - M.build_network() - if (M.node1) - M.node1.atmos_init() - M.node1.build_network() - if (M.node2) - M.node2.atmos_init() - M.node2.build_network() - if (M.node3) - M.node3.atmos_init() - M.node3.build_network() - - if(PIPE_SCRUBBERS_MANIFOLD) //manifold - var/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers/M = new( src.loc ) - M.pipe_color = color - M.set_dir(dir) - M.initialize_directions = pipe_dir - //M.New() - var/turf/T = M.loc - M.level = !T.is_plating() ? 2 : 1 - M.atmos_init() - if (!M) - usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" - return 1 - M.build_network() - if (M.node1) - M.node1.atmos_init() - M.node1.build_network() - if (M.node2) - M.node2.atmos_init() - M.node2.build_network() - if (M.node3) - M.node3.atmos_init() - M.node3.build_network() - M.node3.build_network() - - if(PIPE_MANIFOLD4W) //4-way manifold - var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc ) - M.pipe_color = color - M.set_dir(dir) - M.initialize_directions = pipe_dir - //M.New() - var/turf/T = M.loc - M.level = !T.is_plating() ? 2 : 1 - M.atmos_init() - if (QDELETED(M)) - usr << pipefailtext - return 1 - M.build_network() - if (M.node1) - M.node1.atmos_init() - M.node1.build_network() - if (M.node2) - M.node2.atmos_init() - M.node2.build_network() - if (M.node3) - M.node3.atmos_init() - M.node3.build_network() - if (M.node4) - M.node4.atmos_init() - M.node4.build_network() - - if(PIPE_SUPPLY_MANIFOLD4W) //4-way manifold - var/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply/M = new( src.loc ) - M.pipe_color = color - M.set_dir(dir) - M.initialize_directions = pipe_dir - M.connect_types = src.connect_types - //M.New() - var/turf/T = M.loc - M.level = !T.is_plating() ? 2 : 1 - M.atmos_init() - if (!M) - usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" - return 1 - M.build_network() - if (M.node1) - M.node1.atmos_init() - M.node1.build_network() - if (M.node2) - M.node2.atmos_init() - M.node2.build_network() - if (M.node3) - M.node3.atmos_init() - M.node3.build_network() - if (M.node4) - M.node4.atmos_init() - M.node4.build_network() - - if(PIPE_SCRUBBERS_MANIFOLD4W) //4-way manifold - var/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers/M = new( src.loc ) - M.pipe_color = color - M.set_dir(dir) - M.initialize_directions = pipe_dir - M.connect_types = src.connect_types - //M.New() - var/turf/T = M.loc - M.level = !T.is_plating() ? 2 : 1 - M.atmos_init() - if (!M) - usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" - return 1 - M.build_network() - if (M.node1) - M.node1.atmos_init() - M.node1.build_network() - if (M.node2) - M.node2.atmos_init() - M.node2.build_network() - if (M.node3) - M.node3.atmos_init() - M.node3.build_network() - if (M.node4) - M.node4.atmos_init() - M.node4.build_network() - - if(PIPE_JUNCTION) - var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc ) - P.set_dir(src.dir) - P.initialize_directions = src.get_pdir() - P.initialize_directions_he = src.get_hdir() - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext //"There's nothing to connect this pipe to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_UVENT) //unary vent - var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc ) - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node) - V.node.atmos_init() - V.node.build_network() - - if(PIPE_MVALVE) //manual valve - var/obj/machinery/atmospherics/valve/V = new( src.loc) - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node1) -// world << "[V.node1.name] is connected to valve, forcing it to update its nodes." - V.node1.atmos_init() - V.node1.build_network() - if (V.node2) -// world << "[V.node2.name] is connected to valve, forcing it to update its nodes." - V.node2.atmos_init() - V.node2.build_network() - - if(PIPE_PUMP) //gas pump - var/obj/machinery/atmospherics/binary/pump/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_GAS_FILTER) //gas filter - var/obj/machinery/atmospherics/trinary/atmos_filter/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if (P.node3) - P.node3.atmos_init() - P.node3.build_network() - - if(PIPE_GAS_MIXER) //gas mixer - var/obj/machinery/atmospherics/trinary/mixer/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if (P.node3) - P.node3.atmos_init() - P.node3.build_network() - - if(PIPE_GAS_FILTER_M) //gas filter mirrored - var/obj/machinery/atmospherics/trinary/atmos_filter/m_filter/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if (P.node3) - P.node3.atmos_init() - P.node3.build_network() - - if(PIPE_GAS_MIXER_T) //gas mixer-t - var/obj/machinery/atmospherics/trinary/mixer/t_mixer/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if (P.node3) - P.node3.atmos_init() - P.node3.build_network() - - if(PIPE_GAS_MIXER_M) //gas mixer mirrored - var/obj/machinery/atmospherics/trinary/mixer/m_mixer/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if (P.node3) - P.node3.atmos_init() - P.node3.build_network() - - if(PIPE_SCRUBBER) //scrubber - var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc) - S.set_dir(dir) - S.initialize_directions = pipe_dir - if (pipename) - S.name = pipename - var/turf/T = S.loc - S.level = !T.is_plating() ? 2 : 1 - S.atmos_init() - S.build_network() - if (S.node) - S.node.atmos_init() - S.node.build_network() - - if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT) - var/obj/machinery/atmospherics/pipe/simple/insulated/P = new( src.loc ) - P.set_dir(src.dir) - P.initialize_directions = pipe_dir - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - if (QDELETED(P)) - usr << pipefailtext - return 1 - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_MTVALVE) //manual t-valve - var/obj/machinery/atmospherics/tvalve/V = new(src.loc) - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node1) - V.node1.atmos_init() - V.node1.build_network() - if (V.node2) - V.node2.atmos_init() - V.node2.build_network() - if (V.node3) - V.node3.atmos_init() - V.node3.build_network() - - if(PIPE_MTVALVEM) //manual t-valve - var/obj/machinery/atmospherics/tvalve/mirrored/V = new(src.loc) - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node1) - V.node1.atmos_init() - V.node1.build_network() - if (V.node2) - V.node2.atmos_init() - V.node2.build_network() - if (V.node3) - V.node3.atmos_init() - V.node3.build_network() - - if(PIPE_CAP) - var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc) - C.set_dir(dir) - C.initialize_directions = pipe_dir - C.atmos_init() - C.build_network() - if(C.node) - C.node.atmos_init() - C.node.build_network() - - if(PIPE_SUPPLY_CAP) - var/obj/machinery/atmospherics/pipe/cap/hidden/supply/C = new(src.loc) - C.set_dir(dir) - C.initialize_directions = pipe_dir - C.atmos_init() - C.build_network() - if(C.node) - C.node.atmos_init() - C.node.build_network() - - if(PIPE_SCRUBBERS_CAP) - var/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers/C = new(src.loc) - C.set_dir(dir) - C.initialize_directions = pipe_dir - C.atmos_init() - C.build_network() - if(C.node) - C.node.atmos_init() - C.node.build_network() - - if(PIPE_PASSIVE_GATE) //passive gate - var/obj/machinery/atmospherics/binary/passive_gate/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_VOLUME_PUMP) //volume pump - var/obj/machinery/atmospherics/binary/pump/high_power/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - - if(PIPE_HEAT_EXCHANGE) // heat exchanger - var/obj/machinery/atmospherics/unary/heat_exchanger/C = new( src.loc ) - C.set_dir(dir) - C.initialize_directions = pipe_dir - if (pipename) - C.name = pipename - var/turf/T = C.loc - C.level = !T.is_plating() ? 2 : 1 - C.atmos_init() - C.build_network() - if (C.node) - C.node.atmos_init() - C.node.build_network() - - if(PIPE_DVALVE) //digital valve - var/obj/machinery/atmospherics/valve/digital/V = new( src.loc) - if(src.req_access) - V.req_access = src.req_access - if(src.req_one_access) - V.req_one_access = src.req_one_access - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node1) - V.node1.atmos_init() - V.node1.build_network() - if (V.node2) - V.node2.atmos_init() - V.node2.build_network() - - if(PIPE_DTVALVE) //digital t-valve - var/obj/machinery/atmospherics/tvalve/digital/V = new(src.loc) - if(src.req_access) - V.req_access = src.req_access - if(src.req_one_access) - V.req_one_access = src.req_one_access - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node1) - V.node1.atmos_init() - V.node1.build_network() - if (V.node2) - V.node2.atmos_init() - V.node2.build_network() - if (V.node3) - V.node3.atmos_init() - V.node3.build_network() - - if(PIPE_DTVALVEM) //mirrored digital t-valve - var/obj/machinery/atmospherics/tvalve/mirrored/digital/V = new(src.loc) - if(src.req_access) - V.req_access = src.req_access - if(src.req_one_access) - V.req_one_access = src.req_one_access - V.set_dir(dir) - V.initialize_directions = pipe_dir - if (pipename) - V.name = pipename - var/turf/T = V.loc - V.level = !T.is_plating() ? 2 : 1 - V.atmos_init() - V.build_network() - if (V.node1) - V.node1.atmos_init() - V.node1.build_network() - if (V.node2) - V.node2.atmos_init() - V.node2.build_network() - if (V.node3) - V.node3.atmos_init() - V.node3.build_network() - -///// Z-Level stuff - if(PIPE_UP) - var/obj/machinery/atmospherics/pipe/zpipe/up/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if(PIPE_DOWN) - var/obj/machinery/atmospherics/pipe/zpipe/down/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if(PIPE_SUPPLY_UP) - var/obj/machinery/atmospherics/pipe/zpipe/up/supply/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if(PIPE_SUPPLY_DOWN) - var/obj/machinery/atmospherics/pipe/zpipe/down/supply/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if(PIPE_SCRUBBERS_UP) - var/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() - if(PIPE_SCRUBBERS_DOWN) - var/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers/P = new(src.loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - if (pipename) - P.name = pipename - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() - if (P.node2) - P.node2.atmos_init() - P.node2.build_network() -///// Z-Level stuff - if(PIPE_OMNI_MIXER) - var/obj/machinery/atmospherics/omni/mixer/P = new(loc) - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if(PIPE_OMNI_FILTER) - var/obj/machinery/atmospherics/omni/atmos_filter/P = new(loc) - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if(PIPE_PASSIVE_VENT) - var/obj/machinery/atmospherics/pipe/vent/P = new(loc) - P.set_dir(dir) - P.initialize_directions = pipe_dir - var/turf/T = P.loc - P.level = !T.is_plating() ? 2 : 1 - P.atmos_init() - P.build_network() - if (P.node1) - P.node1.atmos_init() - P.node1.build_network() + var/obj/machinery/atmospherics/A = new pipe_type(loc) + build_pipe(A) + // TODO - Evaluate and remove the "need at least one thing to connect to" thing ~Leshana + // With how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment. + if (QDELETED(A)) + to_chat(user, "There's nothing to connect this pipe section to!") + return TRUE + transfer_fingerprints_to(A) playsound(src, W.usesound, 50, 1) user.visible_message( \ - "[user] fastens the [src].", \ - "You have fastened the [src].", \ - "You hear ratchet.") - qdel(src) // remove the pipe item + "[user] fastens \the [src].", \ + "You fasten \the [src].", \ + "You hear ratcheting.") - return - //TODO: DEFERRED + qdel(src) -// ensure that setterm() is called for a newly connected pipeline +/obj/item/pipe/proc/build_pipe(obj/machinery/atmospherics/A) + A.set_dir(dir) + A.init_dir() + if(pipename) + A.name = pipename + if(req_access) + A.req_access = req_access + if(req_one_access) + A.req_one_access = req_one_access + A.on_construction(color, piping_layer) + +/obj/item/pipe/trinary/flippable/build_pipe(obj/machinery/atmospherics/trinary/T) + T.mirrored = mirrored + . = ..() + +// Lookup the initialize_directions for a given atmos machinery instance facing dir. +// TODO - Right now this determines the answer by instantiating an instance and checking! +// There has to be a better way... ~Leshana +/datum/controller/subsystem/machines/proc/get_init_dirs(type, dir) + var/static/list/pipe_init_dirs_cache = list() + if(!pipe_init_dirs_cache[type]) + pipe_init_dirs_cache[type] = list() + + if(!pipe_init_dirs_cache[type]["[dir]"]) + var/obj/machinery/atmospherics/temp = new type(null, dir) + pipe_init_dirs_cache[type]["[dir]"] = temp.get_init_dirs() + qdel(temp) + + return pipe_init_dirs_cache[type]["[dir]"] + + +// +// Meters are special - not like any other pipes or components +// + /obj/item/pipe_meter name = "meter" - desc = "A meter that can be laid on pipes" + desc = "A meter that can be laid on pipes." icon = 'icons/obj/pipe-item.dmi' icon_state = "meter" item_state = "buildpipe" w_class = ITEMSIZE_LARGE + var/piping_layer = PIPING_LAYER_DEFAULT /obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - ..() + if(iswrench(W)) + return wrench_act(user, W) + return ..() - if (!istype(W, /obj/item/weapon/wrench)) - return ..() - if(!locate(/obj/machinery/atmospherics/pipe, src.loc)) - user << "You need to fasten it to a pipe" - return 1 - new/obj/machinery/meter( src.loc ) +/obj/item/pipe_meter/proc/wrench_act(var/mob/living/user, var/obj/item/weapon/wrench/W) + var/obj/machinery/atmospherics/pipe/pipe + for(var/obj/machinery/atmospherics/pipe/P in loc) + if(P.piping_layer == piping_layer) + pipe = P + break + if(!pipe) + to_chat(user, "You need to fasten it to a pipe!") + return TRUE + new /obj/machinery/meter(loc, piping_layer) playsound(src, W.usesound, 50, 1) - user << "You have fastened the meter to the pipe" + to_chat(user, "You fasten the meter to the pipe.") qdel(src) -//not sure why these are necessary -#undef PIPE_SIMPLE_STRAIGHT -#undef PIPE_SIMPLE_BENT -#undef PIPE_HE_STRAIGHT -#undef PIPE_HE_BENT -#undef PIPE_CONNECTOR -#undef PIPE_MANIFOLD -#undef PIPE_JUNCTION -#undef PIPE_UVENT -#undef PIPE_MVALVE -#undef PIPE_PUMP -#undef PIPE_SCRUBBER -#undef PIPE_INSULATED_STRAIGHT -#undef PIPE_INSULATED_BENT -#undef PIPE_GAS_FILTER -#undef PIPE_GAS_MIXER -#undef PIPE_PASSIVE_GATE -#undef PIPE_VOLUME_PUMP -#undef PIPE_OUTLET_INJECT -#undef PIPE_MTVALVE -#undef PIPE_MTVALVEM -#undef PIPE_GAS_FILTER_M -#undef PIPE_GAS_MIXER_T -#undef PIPE_GAS_MIXER_M -#undef PIPE_SUPPLY_STRAIGHT -#undef PIPE_SUPPLY_BENT -#undef PIPE_SCRUBBERS_STRAIGHT -#undef PIPE_SCRUBBERS_BENT -#undef PIPE_SUPPLY_MANIFOLD -#undef PIPE_SCRUBBERS_MANIFOLD -#undef PIPE_UNIVERSAL -//#undef PIPE_MANIFOLD4W + +/obj/item/pipe_meter/dropped() + . = ..() + if(loc) + setAttachLayer(piping_layer) + +/obj/item/pipe_meter/proc/setAttachLayer(new_layer = PIPING_LAYER_DEFAULT) + piping_layer = new_layer diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 8bc779adf3e..6675a5ca15c 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -6,74 +6,32 @@ anchored = 1 var/unwrenched = 0 var/wait = 0 + var/p_layer = PIPING_LAYER_REGULAR -/obj/machinery/pipedispenser/attack_hand(user as mob) - if(..()) +// TODO - Its about time to make this NanoUI don't we think? +/obj/machinery/pipedispenser/attack_hand(var/mob/user as mob) + if((. = ..())) return -///// Z-Level stuff - var/dat = {" -Regular pipes:
-Pipe
-Bent Pipe
-Manifold
-Digital Valve
-Manual Valve
-Pipe Cap
-4-Way Manifold
-Digital T-Valve
-Digital T-Valve - Mirrored
-Manual T-Valve
-Manual T-Valve - Mirrored
-Upward Pipe
-Downward Pipe
-Supply pipes:
-Pipe
-Bent Pipe
-Manifold
-Pipe Cap
-4-Way Manifold
-Upward Pipe
-Downward Pipe
-Scrubbers pipes:
-Pipe
-Bent Pipe
-Manifold
-Pipe Cap
-4-Way Manifold
-Upward Pipe
-Downward Pipe
-Devices:
-Universal pipe adapter
-Connector
-Unary Vent
-Passive Vent
-Gas Pump
-Pressure Regulator
-High Power Gas Pump
-Scrubber
-Meter
-Gas Filter
-Gas Filter - Mirrored
-Gas Mixer
-Gas Mixer - Mirrored
-Gas Mixer - T
-Omni Gas Mixer
-Omni Gas Filter
-Heat exchange:
-Pipe
-Bent Pipe
-Junction
-Heat Exchanger
-Insulated pipes:
-Pipe
-Bent Pipe
+ src.interact(user) -"} -///// Z-Level stuff -//What number the make points to is in the define # at the top of construction.dm in same folder +/obj/machinery/pipedispenser/interact(mob/user) + user.set_machine(src) - user << browse("[src][dat]", "window=pipedispenser") - onclose(user, "pipedispenser") + var/list/lines = list() + for(var/category in atmos_pipe_recipes) + lines += "[category]:
" + if(category == "Pipes") + // Stupid hack. Fix someday. So tired right now. + lines += "Regular " + lines += "Supply " + lines += "Scrubber " + lines += "
" + for(var/datum/pipe_recipe/PI in atmos_pipe_recipes[category]) + lines += PI.Render(src) + var/dat = lines.Join() + var/datum/browser/popup = new(user, "pipedispenser", name, 300, 800, src) + popup.set_content("[dat]") + popup.open() return /obj/machinery/pipedispenser/Topic(href, href_list) @@ -81,20 +39,27 @@ return if(unwrenched || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=pipedispenser") + usr.unset_machine(src) return usr.set_machine(src) src.add_fingerprint(usr) - if(href_list["make"]) + if(href_list["setlayer"]) + var/new_pipe_layer = text2num(href_list["setlayer"]) + if(isnum(new_pipe_layer)) + p_layer = new_pipe_layer + updateDialog() + else if(href_list["makepipe"]) if(!wait) - var/p_type = text2num(href_list["make"]) + var/obj/machinery/atmospherics/p_type = text2path(href_list["makepipe"]) var/p_dir = text2num(href_list["dir"]) - var/obj/item/pipe/P = new (/*usr.loc*/ src.loc, pipe_type=p_type, dir=p_dir) - P.update() + var/pi_type = initial(p_type.construction_type) + var/obj/item/pipe/P = new pi_type(src.loc, p_type, p_dir) + P.setPipingLayer(p_layer) P.add_fingerprint(usr) wait = 1 spawn(10) wait = 0 - if(href_list["makemeter"]) + else if(href_list["makemeter"]) if(!wait) new /obj/item/pipe_meter(/*usr.loc*/ src.loc) wait = 1 diff --git a/code/game/machinery/pipe/pipe_recipes.dm b/code/game/machinery/pipe/pipe_recipes.dm new file mode 100644 index 00000000000..f0ae4830552 --- /dev/null +++ b/code/game/machinery/pipe/pipe_recipes.dm @@ -0,0 +1,102 @@ +// +// Recipies for Pipe Dispenser and (someday) the RPD +// + +var/global/list/atmos_pipe_recipes = null + +/hook/startup/proc/init_pipe_recipes() + global.atmos_pipe_recipes = list( + "Pipes" = list( + new /datum/pipe_recipe/pipe("Pipe", /obj/machinery/atmospherics/pipe/simple), + new /datum/pipe_recipe/pipe("Manifold", /obj/machinery/atmospherics/pipe/manifold), + new /datum/pipe_recipe/pipe("Manual Valve", /obj/machinery/atmospherics/valve), + new /datum/pipe_recipe/pipe("Digital Valve", /obj/machinery/atmospherics/valve/digital), + new /datum/pipe_recipe/pipe("Pipe cap", /obj/machinery/atmospherics/pipe/cap), + new /datum/pipe_recipe/pipe("4-Way Manifold", /obj/machinery/atmospherics/pipe/manifold4w), + new /datum/pipe_recipe/pipe("Manual T-Valve", /obj/machinery/atmospherics/tvalve), + new /datum/pipe_recipe/pipe("Digital T-Valve", /obj/machinery/atmospherics/tvalve/digital), + new /datum/pipe_recipe/pipe("Upward Pipe", /obj/machinery/atmospherics/pipe/zpipe/up), + new /datum/pipe_recipe/pipe("Downward Pipe", /obj/machinery/atmospherics/pipe/zpipe/down), + new /datum/pipe_recipe/pipe("Universal Pipe Adaptor", /obj/machinery/atmospherics/pipe/simple/visible/universal), + ), + "Devices" = list( + new /datum/pipe_recipe/pipe("Connector", /obj/machinery/atmospherics/portables_connector), + new /datum/pipe_recipe/pipe("Unary Vent", /obj/machinery/atmospherics/unary/vent_pump), + new /datum/pipe_recipe/pipe("Passive Vent", /obj/machinery/atmospherics/pipe/vent), + new /datum/pipe_recipe/pipe("Injector", /obj/machinery/atmospherics/unary/outlet_injector), + new /datum/pipe_recipe/pipe("Gas Pump", /obj/machinery/atmospherics/binary/pump), + new /datum/pipe_recipe/pipe("Pressure Regulator", /obj/machinery/atmospherics/binary/passive_gate), + new /datum/pipe_recipe/pipe("High Power Gas Pump",/obj/machinery/atmospherics/binary/pump/high_power), + new /datum/pipe_recipe/pipe("Scrubber", /obj/machinery/atmospherics/unary/vent_scrubber), + new /datum/pipe_recipe/meter("Meter"), + new /datum/pipe_recipe/pipe("Gas Filter", /obj/machinery/atmospherics/trinary/atmos_filter), + new /datum/pipe_recipe/pipe("Gas Mixer", /obj/machinery/atmospherics/trinary/mixer), + new /datum/pipe_recipe/pipe("Gas Mixer 'T'", /obj/machinery/atmospherics/trinary/mixer/t_mixer), + new /datum/pipe_recipe/pipe("Omni Gas Mixer", /obj/machinery/atmospherics/omni/mixer), + new /datum/pipe_recipe/pipe("Omni Gas Filter", /obj/machinery/atmospherics/omni/atmos_filter), + ), + "Heat Exchange" = list( + new /datum/pipe_recipe/pipe("Pipe", /obj/machinery/atmospherics/pipe/simple/heat_exchanging), + new /datum/pipe_recipe/pipe("Junction", /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction), + new /datum/pipe_recipe/pipe("Heat Exchanger", /obj/machinery/atmospherics/unary/heat_exchanger), + ), + "Insulated pipes" = list( + new /datum/pipe_recipe/pipe("Pipe", /obj/machinery/atmospherics/pipe/simple/insulated), + ) + ) + return TRUE + +// +// New method of handling pipe construction. Instead of numeric constants and a giant switch statement of doom +// every pipe type has a datum instance which describes its name, placement rules and construction method, dispensing etc. +// The advantages are obvious, mostly in simplifying the code of the dispenser, and the ability to add new pipes without hassle. +// +/datum/pipe_recipe + var/name = "Abstract Pipe (fixme)" // Recipe name + var/dirtype // If using an RPD, this tells more about what previews to show. + +// Render an HTML link to select this pipe type. Returns text. +/datum/pipe_recipe/proc/Render(dispenser) + return "[name]
" + +// Parameters for the Topic link returned by Render(). Returns text. +/datum/pipe_recipe/proc/Params() + return "" + +// +// Subtype for actual pipes +// +/datum/pipe_recipe/pipe + var/obj/item/pipe/construction_type // The type PATH to the type of pipe fitting object the recipe makes. + var/obj/machinery/atmospherics/pipe_type // The type PATH of what actual pipe the fitting becomes. + +/datum/pipe_recipe/pipe/New(var/label, var/obj/machinery/atmospherics/path) + name = label + pipe_type = path + construction_type = initial(path.construction_type) + dirtype = initial(construction_type.dispenser_class) + +// Render an HTML link to select this pipe type +/datum/pipe_recipe/pipe/Render(dispenser) + var/dat = ..(dispenser) + // Stationary pipe dispensers don't allow you to pre-select pipe directions. + // This makes it impossble to spawn bent versions of bendable pipes. + // We add a "Bent" pipe type with a preset diagonal direction to work around it. + if(istype(dispenser, /obj/machinery/pipedispenser) && (dirtype == PIPE_BENDABLE)) + dat += "Bent [name]
" + return dat + +/datum/pipe_recipe/pipe/Params() + return "makepipe=[pipe_type]" + +// +// Subtype for meters +// +/datum/pipe_recipe/meter + dirtype = PIPE_ONEDIR + +/datum/pipe_recipe/meter/New(label) + name = label + +/datum/pipe_recipe/meter/Params() + return "makemeter=1" diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm index c960879e540..65656929de2 100644 --- a/code/game/machinery/pipe/pipelayer.dm +++ b/code/game/machinery/pipe/pipelayer.dm @@ -8,13 +8,18 @@ var/old_dir // Last direction we were facing. var/on = 0 // Pipelaying online? var/a_dis = 0 // Auto-dismantling - If enabled it will remove floor tiles - var/P_type = 0 // Currently selected pipe type + var/P_type = null // Currently selected pipe type var/P_type_t = "" // Name of currently selected pipe type var/max_metal = 50 // Max capacity for internal metal storage var/metal = 0 // Current amount in internal metal storage var/pipe_cost = 0.25 // Cost in steel for each pipe. var/obj/item/weapon/wrench/W // Internal wrench used for wrenching down the pipes - var/list/Pipes = list("regular pipes"=0,"scrubbers pipes"=31,"supply pipes"=29,"heat exchange pipes"=2) + var/list/Pipes = list( + "regular pipes" = /obj/machinery/atmospherics/pipe/simple, + "scrubbers pipes" = /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, + "supply pipes" = /obj/machinery/atmospherics/pipe/simple/hidden/supply, + "heat exchange pipes" = /obj/machinery/atmospherics/pipe/simple/heat_exchanging + ) /obj/machinery/pipelayer/New() W = new(src) @@ -160,17 +165,17 @@ if(!use_metal(pipe_cost)) return reset() var/fdirn = turn(M_Dir, 180) - var/p_type + var/obj/machinery/atmospherics/p_type = P_type + var/p_layer = initial(p_type.piping_layer) var/p_dir - if (fdirn!=old_dir) - p_type=1+P_type p_dir=old_dir+M_Dir else - p_type=0+P_type p_dir=M_Dir - var/obj/item/pipe/P = new (w_turf, pipe_type=p_type, dir=p_dir) + var/pi_type = initial(p_type.construction_type) + var/obj/item/pipe/P = new pi_type(w_turf, p_type, p_dir) + P.setPipingLayer(p_layer) // We used metal to make these, so should be reclaimable! P.matter = list(DEFAULT_WALL_MATERIAL = pipe_cost * SHEET_MATERIAL_AMOUNT) P.attackby(W , src) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 840cd5d24cd..de1d8fcb548 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -62,6 +62,7 @@ var/wrenching = 0 var/last_target //last target fired at, prevents turrets from erratically firing at all valid targets in range var/timeout = 10 // When a turret pops up, then finds nothing to shoot at, this number decrements until 0, when it pops down. + var/can_salvage = TRUE // If false, salvaging doesn't give you anything. /obj/machinery/porta_turret/crescent enabled = 0 @@ -102,6 +103,7 @@ desc = "A very tough looking turret made by alien hands. This one looks destroyed, thankfully." icon_state = "destroyed_target_prism" stat = BROKEN + can_salvage = FALSE // So you need to actually kill a turret to get the alien gun. /obj/machinery/porta_turret/New() ..() @@ -325,7 +327,7 @@ var/list/turret_icons //try and salvage its components user << "You begin prying the metal coverings off." if(do_after(user, 20)) - if(prob(70)) + if(can_salvage && prob(70)) user << "You remove the turret and salvage some components." if(installation) var/obj/item/weapon/gun/energy/Gun = new installation(loc) @@ -391,6 +393,18 @@ var/list/turret_icons attacked = 0 ..() +/obj/machinery/porta_turret/attack_generic(mob/user as mob, var/damage) + if(isanimal(user)) + var/mob/living/simple_animal/S = user + if(damage >= 10) + var/incoming_damage = round(damage - (damage / 5)) //Turrets are slightly armored, assumedly. + visible_message("\The [S] [pick(S.attacktext)] \the [src]!") + take_damage(incoming_damage) + S.do_attack_animation(src) + return 1 + visible_message("\The [user] bonks \the [src]'s casing!") + return ..() + /obj/machinery/porta_turret/emag_act(var/remaining_charges, var/mob/user) if(!emagged) //Emagging the turret makes it go bonkers and stun everyone. It also makes diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 34e89ac6fd0..692e76bf5a4 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -105,16 +105,25 @@ var/mob/living/carbon/human/H = occupant // In case they somehow end up with positive values for otherwise unobtainable damage... - if(H.getToxLoss()>0) H.adjustToxLoss(-(rand(1,3))) - if(H.getOxyLoss()>0) H.adjustOxyLoss(-(rand(1,3))) - if(H.getCloneLoss()>0) H.adjustCloneLoss(-(rand(1,3))) - if(H.getBrainLoss()>0) H.adjustBrainLoss(-(rand(1,3))) + if(H.getToxLoss() > 0) + H.adjustToxLoss(-(rand(1,3))) + if(H.getOxyLoss() > 0) + H.adjustOxyLoss(-(rand(1,3))) + if(H.getCloneLoss() > 0) + H.adjustCloneLoss(-(rand(1,3))) + if(H.getBrainLoss() > 0) + H.adjustBrainLoss(-(rand(1,3))) // Also recharge their internal battery. - if(!isnull(H.internal_organs_by_name["cell"]) && H.nutrition < 450) + if(H.isSynthetic() && H.nutrition < 450) H.nutrition = min(H.nutrition+10, 450) cell.use(7000/450*10) + // And clear up radiation + if(H.radiation > 0) + H.radiation = max(H.radiation - rand(5, 15), 0) + + /obj/machinery/recharge_station/examine(mob/user) ..(user) user << "The charge meter reads: [round(chargepercentage())]%" @@ -245,7 +254,7 @@ else if(istype(L, /mob/living/carbon/human)) var/mob/living/carbon/human/H = L - if(!isnull(H.internal_organs_by_name["cell"])) + if(H.isSynthetic()) add_fingerprint(H) H.reset_view(src) H.forceMove(src) @@ -255,17 +264,6 @@ else return -/obj/machinery/recharge_station/proc/hascell(var/mob/M) - if(isrobot(M)) - var/mob/living/silicon/robot/R = M - if(R.cell) - return 1 - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(!isnull(H.internal_organs_by_name["cell"])) - return 1 - return 0 - /obj/machinery/recharge_station/proc/go_out() if(!occupant) return @@ -280,7 +278,7 @@ set name = "Eject Recharger" set src in oview(1) - if(usr.incapacitated()) + if(usr.incapacitated() || !isliving(usr)) return go_out() @@ -292,8 +290,9 @@ set name = "Enter Recharger" set src in oview(1) - if(!usr.incapacitated()) + if(usr.incapacitated() || !isliving(usr)) return + go_in(usr) /obj/machinery/recharge_station/ghost_pod_recharger diff --git a/code/game/machinery/seed_extractor.dm b/code/game/machinery/seed_extractor.dm index c7d6b7c514b..ac88069151c 100644 --- a/code/game/machinery/seed_extractor.dm +++ b/code/game/machinery/seed_extractor.dm @@ -40,4 +40,7 @@ obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob user << "You extract some seeds from the grass tile." new /obj/item/seeds/grassseed(loc) + else if(default_unfasten_wrench(user, O, 20)) + return + return \ No newline at end of file diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 527b5f1283f..9a02fddfd21 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -61,7 +61,7 @@ // register for radio system /obj/machinery/status_display/initialize() - ..() + . = ..() if(radio_controller) radio_controller.add_object(src, frequency) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 7f76bc978c4..7c0ca00f1a4 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -588,7 +588,7 @@ //Departments that the cycler can paint suits to look like. var/list/departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control") //Species that the suits can be configured to fit. - var/list/species = list("Human","Skrell","Unathi","Tajara", "Teshari") + var/list/species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_UNATHI,SPECIES_TAJ, SPECIES_TESHARI) var/target_department var/target_species @@ -753,7 +753,7 @@ //Clear the access reqs, disable the safeties, and open up all paintjobs. user << "You run the sequencer across the interface, corrupting the operating protocols." departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Crowd Control","Emergency Medical Response","^%###^%$", "Charring") - species = list("Human","Tajara","Skrell","Unathi", "Teshari") + species = list(SPECIES_HUMAN,SPECIES_TAJ,SPECIES_SKRELL,SPECIES_UNATHI, SPECIES_TESHARI) emagged = 1 safeties = 0 @@ -982,7 +982,9 @@ if(suit) suit.name = "engineering voidsuit" suit.icon_state = "rig-engineering" - suit.item_state = "eng_voidsuit" + suit.item_state = "rig-engineering" + suit.item_state_slots[slot_r_hand_str] = "eng_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "eng_voidsuit" if("Mining") if(helmet) helmet.name = "mining voidsuit helmet" @@ -991,7 +993,9 @@ if(suit) suit.name = "mining voidsuit" suit.icon_state = "rig-mining" - suit.item_state = "mining_voidsuit" + suit.item_state = "rig-mining" + suit.item_state_slots[slot_r_hand_str] = "mining_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "mining_voidsuit" if("Medical") if(helmet) helmet.name = "medical voidsuit helmet" @@ -1000,7 +1004,9 @@ if(suit) suit.name = "medical voidsuit" suit.icon_state = "rig-medical" - suit.item_state = "medical_voidsuit" + suit.item_state = "rig-medical" + suit.item_state_slots[slot_r_hand_str] = "medical_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "medical_voidsuit" if("Security") if(helmet) helmet.name = "security voidsuit helmet" @@ -1009,7 +1015,9 @@ if(suit) suit.name = "security voidsuit" suit.icon_state = "rig-sec" - suit.item_state = "sec_voidsuit" + suit.item_state = "rig-sec" + suit.item_state_slots[slot_r_hand_str] = "sec_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "sec_voidsuit" if("Crowd Control") if(helmet) helmet.name = "crowd control voidsuit helmet" @@ -1018,7 +1026,9 @@ if(suit) suit.name = "crowd control voidsuit" suit.icon_state = "rig-sec_riot" - suit.item_state = "sec_voidsuit_riot" + suit.item_state = "rig-sec_riot" + suit.item_state_slots[slot_r_hand_str] = "sec_voidsuit_riot" + suit.item_state_slots[slot_l_hand_str] = "sec_voidsuit_riot" if("Atmos") if(helmet) helmet.name = "atmospherics voidsuit helmet" @@ -1027,7 +1037,9 @@ if(suit) suit.name = "atmospherics voidsuit" suit.icon_state = "rig-atmos" - suit.item_state = "atmos_voidsuit" + suit.item_state = "rig-atmos" + suit.item_state_slots[slot_r_hand_str] = "atmos_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "atmos_voidsuit" if("HAZMAT") if(helmet) helmet.name = "HAZMAT voidsuit helmet" @@ -1036,7 +1048,9 @@ if(suit) suit.name = "HAZMAT voidsuit" suit.icon_state = "rig-engineering_rad" - suit.item_state = "eng_voidsuit_rad" + suit.item_state = "rig-engineering_rad" + suit.item_state_slots[slot_r_hand_str] = "eng_voidsuit_rad" + suit.item_state_slots[slot_l_hand_str] = "eng_voidsuit_rad" if("Construction") if(helmet) helmet.name = "Construction voidsuit helmet" @@ -1045,7 +1059,9 @@ if(suit) suit.name = "Construction voidsuit" suit.icon_state = "rig-engineering_con" - suit.item_state = "eng_voidsuit_con" + suit.item_state = "rig-engineering_con" + suit.item_state_slots[slot_r_hand_str] = "eng_voidsuit_con" + suit.item_state_slots[slot_l_hand_str] = "eng_voidsuit_con" if("Biohazard") if(helmet) helmet.name = "Biohazard voidsuit helmet" @@ -1054,7 +1070,9 @@ if(suit) suit.name = "Biohazard voidsuit" suit.icon_state = "rig-medical_bio" - suit.item_state = "medical_voidsuit_bio" + suit.item_state = "rig-medical_bio" + suit.item_state_slots[slot_r_hand_str] = "medical_voidsuit_bio" + suit.item_state_slots[slot_l_hand_str] = "medical_voidsuit_bio" if("Emergency Medical Response") if(helmet) helmet.name = "emergency medical response voidsuit helmet" @@ -1063,7 +1081,9 @@ if(suit) suit.name = "emergency medical response voidsuit" suit.icon_state = "rig-medical_emt" - suit.item_state = "medical_voidsuit_emt" + suit.item_state = "rig-medical_emt" + suit.item_state_slots[slot_r_hand_str] = "medical_voidsuit_emt" + suit.item_state_slots[slot_l_hand_str] = "medical_voidsuit_emt" if("^%###^%$" || "Mercenary") if(helmet) helmet.name = "blood-red voidsuit helmet" @@ -1071,8 +1091,10 @@ helmet.item_state = "rig0-syndie" if(suit) suit.name = "blood-red voidsuit" - suit.item_state = "syndie_voidsuit" + suit.item_state = "rig-syndie" suit.icon_state = "rig-syndie" + suit.item_state_slots[slot_r_hand_str] = "syndie_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "syndie_voidsuit" if("Charring") if(helmet) helmet.name = "soot-covered voidsuit helmet" @@ -1082,6 +1104,8 @@ suit.name = "soot-covered voidsuit" suit.item_state = "rig-firebug" suit.icon_state = "rig-firebug" + suit.item_state_slots[slot_r_hand_str] = "rig-firebug" + suit.item_state_slots[slot_l_hand_str] = "rig-firebug" if(helmet) helmet.name = "refitted [helmet.name]" if(suit) suit.name = "refitted [suit.name]" diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index b55a3549459..cd65fb9f910 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -250,7 +250,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) - if(istype(R, /obj/item/device/radio/headset)) + if(istype(R, /obj/item/device/radio/headset) && !R.adhoc_fallback) continue if(R.receive_range(display_freq, level) > -1) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 1951ba7c477..8f576b5d00e 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -131,6 +131,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() else for(var/obj/machinery/telecomms/T in telecomms_list) add_link(T) + . = ..() /obj/machinery/telecomms/Destroy() telecomms_list -= src @@ -314,7 +315,25 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() circuitboard = "/obj/item/weapon/circuitboard/telecomms/hub" long_range_link = 1 netspeed = 40 + var/list/telecomms_map +/obj/machinery/telecomms/hub/initialize() + . = ..() + LAZYINITLIST(telecomms_map) + +/obj/machinery/telecomms/hub/process() + . = ..() + telecomms_map.Cut() + + if(!on) + return + + for(var/M in links) + if(istype(M,/obj/machinery/telecomms/receiver) || istype(M,/obj/machinery/telecomms/relay)) + var/obj/machinery/telecomms/R = M + if(!R.on) + continue + telecomms_map |= R.listening_level /obj/machinery/telecomms/hub/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from) if(is_freq_listening(signal)) @@ -633,9 +652,40 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() var/garbage_collector = 1 // if set to 0, will not be garbage collected var/input_type = "Speech File" +//Generic telecomm connectivity test proc +/proc/can_telecomm(var/atom/A, var/atom/B, var/ad_hoc = FALSE) + if(!A || !B) + log_debug("can_telecomm(): Undefined endpoints!") + return FALSE + //Can't in this case, obviously! + if(is_jammed(A) || is_jammed(B)) + return FALSE + //Items don't have a Z when inside an object or mob + var/turf/src_turf = get_turf(A) + var/turf/dst_turf = get_turf(B) + //Nullspace, probably. + if(!src_turf || !dst_turf) + return FALSE + var/src_z = src_turf.z + var/dst_z = dst_turf.z + //Mysterious! + if(!src_z || !dst_z) + return FALSE + //We can do the simple check first, if you have ad_hoc radios. + if(ad_hoc && src_z == dst_z) + return TRUE + + //Let's look at hubs and see what we got. + var/can_comm = FALSE + for(var/obj/machinery/telecomms/hub/H in telecomms_list) + if((src_z in H.telecomms_map) && (dst_z in H.telecomms_map)) + can_comm = TRUE + break + + return can_comm diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 9353bb888c0..7544c91bfe5 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -18,7 +18,7 @@ return /obj/machinery/computer/teleporter/initialize() - ..() + . = ..() var/obj/machinery/teleport/station/station var/obj/machinery/teleport/hub/hub diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 4f33f1703f3..8f903432849 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -48,6 +48,8 @@ /obj/machinery/turretid/initialize() if(!control_area) control_area = get_area(src) + else if(ispath(control_area)) + control_area = locate(control_area) else if(istext(control_area)) for(var/area/A in world) if(A.name && A.name==control_area) @@ -62,7 +64,7 @@ control_area = null power_change() //Checks power and initial settings - return + . = ..() /obj/machinery/turretid/proc/isLocked(mob/user) if(ailock && issilicon(user)) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 6f6a4f04fb9..269346ab713 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -6,7 +6,6 @@ desc = "A generic vending machine." icon = 'icons/obj/vending.dmi' icon_state = "generic" - layer = 2.9 anchored = 1 density = 1 @@ -836,6 +835,7 @@ /obj/item/weapon/storage/fancy/cigarettes/luckystars = 5, /obj/item/weapon/storage/fancy/cigarettes/jerichos = 5, /obj/item/weapon/storage/fancy/cigarettes/menthols = 5, + /obj/item/weapon/storage/rollingpapers = 5, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/random = 4) contraband = list(/obj/item/weapon/flame/lighter/zippo = 4) @@ -848,6 +848,7 @@ /obj/item/weapon/storage/fancy/cigarettes/luckystars = 17, /obj/item/weapon/storage/fancy/cigarettes/jerichos = 22, /obj/item/weapon/storage/fancy/cigarettes/menthols = 18, + /obj/item/weapon/storage/rollingpapers = 10, /obj/item/weapon/storage/box/matches = 1, /obj/item/weapon/flame/lighter/random = 2) @@ -862,7 +863,8 @@ /obj/item/weapon/reagent_containers/glass/bottle/stoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/toxin = 4, /obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/syringe = 12, /obj/item/device/healthanalyzer = 5,/obj/item/weapon/reagent_containers/glass/beaker = 4, /obj/item/weapon/reagent_containers/dropper = 2, - /obj/item/stack/medical/advanced/bruise_pack = 3, /obj/item/stack/medical/advanced/ointment = 3, /obj/item/stack/medical/splint = 2) + /obj/item/stack/medical/advanced/bruise_pack = 6, /obj/item/stack/medical/advanced/ointment = 6, /obj/item/stack/medical/splint = 4, + /obj/item/weapon/storage/pill_bottle/carbon = 2) contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3,/obj/item/weapon/reagent_containers/pill/stox = 4,/obj/item/weapon/reagent_containers/pill/antitox = 6) idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. req_log_access = access_cmo @@ -1084,4 +1086,47 @@ /obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5) //everything after the power cell had no amounts, I improvised. -Sayu req_log_access = access_rd - has_logs = 1 \ No newline at end of file + has_logs = 1 + +/obj/machinery/vending/giftvendor + name = "AlliCo Baubles and Confectionaries" + desc = "For that special someone!" + icon_state = "giftvendor" + vend_delay = 15 + products = list(/obj/item/weapon/storage/fancy/heartbox = 5, + /obj/item/toy/bouquet = 5, + /obj/item/toy/bouquet/fake = 4, + /obj/item/weapon/paper/card/smile = 3, + /obj/item/weapon/paper/card/heart = 3, + /obj/item/weapon/paper/card/cat = 3, + /obj/item/weapon/paper/card/flower = 3, + /obj/item/clothing/accessory/bracelet/friendship = 5, + /obj/item/toy/plushie/therapy/red = 2, + /obj/item/toy/plushie/therapy/purple = 2, + /obj/item/toy/plushie/therapy/blue = 2, + /obj/item/toy/plushie/therapy/yellow = 2, + /obj/item/toy/plushie/therapy/orange = 2, + /obj/item/toy/plushie/therapy/green = 2) + contraband = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne = 1 + /* Handbuzzer to be added later */) + premium = list(/obj/item/toy/plushie/nymph = 2, + /obj/item/toy/plushie/mouse = 2, + /obj/item/toy/plushie/kitten = 2, + /obj/item/toy/plushie/lizard = 2, + /obj/item/toy/plushie/spider = 2, + /obj/item/toy/plushie/farwa = 2, + /obj/item/weapon/storage/trinketbox = 2) + prices = list(/obj/item/weapon/storage/fancy/heartbox = 15, + /obj/item/toy/bouquet = 10, + /obj/item/toy/bouquet/fake = 3, + /obj/item/weapon/paper/card/smile = 1, + /obj/item/weapon/paper/card/heart = 1, + /obj/item/weapon/paper/card/cat = 1, + /obj/item/weapon/paper/card/flower = 1, + /obj/item/clothing/accessory/bracelet/friendship = 5, + /obj/item/toy/plushie/therapy/red = 20, + /obj/item/toy/plushie/therapy/purple = 20, + /obj/item/toy/plushie/therapy/blue = 20, + /obj/item/toy/plushie/therapy/yellow = 20, + /obj/item/toy/plushie/therapy/orange = 20, + /obj/item/toy/plushie/therapy/green = 20) \ No newline at end of file diff --git a/code/game/machinery/vr_console.dm b/code/game/machinery/vr_console.dm index b013fb1dca3..67c8719e8d3 100644 --- a/code/game/machinery/vr_console.dm +++ b/code/game/machinery/vr_console.dm @@ -24,6 +24,7 @@ RefreshParts() /obj/machinery/vr_sleeper/initialize() + . = ..() update_icon() /obj/machinery/vr_sleeper/process() diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm index 3a036eec8e1..1765eac3ecb 100644 --- a/code/game/machinery/wall_frames.dm +++ b/code/game/machinery/wall_frames.dm @@ -29,7 +29,7 @@ update_type_list() var/datum/frame/frame_types/frame_type if(!build_machine_type) - var/datum/frame/frame_types/response = input(usr, "What kind of frame would you like to make?", "Frame type request", null) in frame_types_floor + var/datum/frame/frame_types/response = input(user, "What kind of frame would you like to make?", "Frame type request", null) in frame_types_floor if(!response || response.name == "Cancel") return frame_type = response @@ -37,10 +37,10 @@ build_machine_type = /obj/structure/frame if(frame_type.frame_size != 5) - new /obj/item/stack/material/steel(usr.loc, (5 - frame_type.frame_size)) + new /obj/item/stack/material/steel(user.loc, (5 - frame_type.frame_size)) var/ndir - ndir = usr.dir + ndir = user.dir if(!(ndir in cardinal)) return @@ -48,13 +48,15 @@ M.fingerprints = fingerprints M.fingerprintshidden = fingerprintshidden M.fingerprintslast = fingerprintslast + if(istype(src.loc, /obj/item/weapon/gripper)) //Typical gripper shenanigans + user.drop_item() qdel(src) /obj/item/frame/proc/try_build(turf/on_wall, mob/user as mob) update_type_list() var/datum/frame/frame_types/frame_type if(!build_machine_type) - var/datum/frame/frame_types/response = input(usr, "What kind of frame would you like to make?", "Frame type request", null) in frame_types_wall + var/datum/frame/frame_types/response = input(user, "What kind of frame would you like to make?", "Frame type request", null) in frame_types_wall if(!response || response.name == "Cancel") return frame_type = response @@ -62,38 +64,40 @@ build_machine_type = /obj/structure/frame if(frame_type.frame_size != 5) - new /obj/item/stack/material/steel(usr.loc, (5 - frame_type.frame_size)) + new /obj/item/stack/material/steel(user.loc, (5 - frame_type.frame_size)) - if(get_dist(on_wall, usr)>1) + if(get_dist(on_wall, user)>1) return var/ndir if(reverse) - ndir = get_dir(usr, on_wall) + ndir = get_dir(user, on_wall) else - ndir = get_dir(on_wall, usr) + ndir = get_dir(on_wall, user) if(!(ndir in cardinal)) return - var/turf/loc = get_turf(usr) + var/turf/loc = get_turf(user) var/area/A = loc.loc if(!istype(loc, /turf/simulated/floor)) - usr << "\The frame cannot be placed on this spot." + to_chat(user, "\The frame cannot be placed on this spot.") return if(A.requires_power == 0 || A.name == "Space") - usr << "\The [src] Alarm cannot be placed in this area." + to_chat(user, "\The [src] Alarm cannot be placed in this area.") return if(gotwallitem(loc, ndir)) - usr << "There's already an item on this wall!" + to_chat(user, "There's already an item on this wall!") return var/obj/machinery/M = new build_machine_type(loc, ndir, 1, frame_type) M.fingerprints = fingerprints M.fingerprintshidden = fingerprintshidden M.fingerprintslast = fingerprintslast + if(istype(src.loc, /obj/item/weapon/gripper)) //Typical gripper shenanigans + user.drop_item() qdel(src) /obj/item/frame/light diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index f2456828612..309c9cf2a4c 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -88,6 +88,8 @@ return if(default_deconstruction_crowbar(user, W)) return + if(default_unfasten_wrench(user, W, 40)) + return /*if(istype(W,/obj/item/weapon/screwdriver)) panel = !panel user << "You [panel ? "open" : "close"] the [src]'s maintenance panel"*/ diff --git a/code/game/mecha/combat/gorilla.dm b/code/game/mecha/combat/gorilla.dm new file mode 100644 index 00000000000..cc5dacebc37 --- /dev/null +++ b/code/game/mecha/combat/gorilla.dm @@ -0,0 +1,213 @@ +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon + name = "8.8cm KwK 47" + desc = "Precision German engineering!" // Why would you ever take this off the mech, anyway? + icon_state = "mecha_uac2" + equip_cooldown = 60 // 6 seconds + projectile = /obj/item/projectile/bullet/cannon + fire_sound = 'sound/weapons/cannon.ogg' + projectiles = 1 + projectile_energy_cost = 1000 + salvageable = 0 // We don't want players ripping this off a dead mech. Could potentially be a prize for beating it if Devs bless me and someone offers a nerf idea. + +/obj/item/projectile/bullet/cannon + name ="armor-piercing shell" + icon = 'icons/obj/projectiles.dmi' + icon_state = "shell" + damage = 1000 // In order to 1-hit any other mech and royally fuck anyone unfortunate enough to get in the way. + +/obj/item/projectile/bullet/cannon/on_hit(var/atom/target, var/blocked = 0) + explosion(target, 0, 0, 2, 4) + return 1 + +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon/weak + name = "8.8 cm KwK 36" + equip_cooldown = 120 // 12 seconds. + projectile = /obj/item/projectile/bullet/cannon/weak + projectile_energy_cost = 400 + salvageable = 1 + +/obj/item/projectile/bullet/cannon/weak + name ="canister shell" + icon_state = "canister" + damage = 120 //Do not get fucking shot. + +/* // GLITCHY UND LAGGY. Will later look into fixing. +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/mg42 + name = "Maschinengewehr 60" + icon_state = "mecha_uac2" + equip_cooldown = 10 + projectile = /obj/item/projectile/bullet/midbullet2 + fire_sound = 'sound/weapons/mg42.ogg' + projectiles = 1000 + projectiles_per_shot = 5 + deviation = 0.3 + projectile_energy_cost = 20 + fire_cooldown = 1 + salvageable = 0 // We don't want players ripping this off a dead mech. +*/ + +/obj/effect/decal/mecha_wreckage/gorilla + name = "Gorilla wreckage" + desc = "... Blitzkrieg?" + icon = 'icons/mecha/mecha64x64.dmi' + icon_state = "pzrwreck" + plane = MOB_PLANE + pixel_x = -16 + anchored = 1 // It's fucking huge. You aren't moving it. + +/obj/mecha/combat/gorilla + name = "Gorilla" + desc = "Blitzkrieg!" //stop using all caps in item descs i will fight you. its redundant with the bold. + icon = 'icons/mecha/mecha64x64.dmi' + icon_state = "pzrmech" + initial_icon = "pzrmech" + pixel_x = -16 + step_in = 10 + health = 5000 + opacity = 0 // Because there's big tall legs to look through. Also it looks fucky if this is set to 1. + deflect_chance = 50 + damage_absorption = list("brute"=0.1,"fire"=0.8,"bullet"=0.1,"laser"=0.6,"energy"=0.7,"bomb"=0.7) //values show how much damage will pass through, not how much will be absorbed. + max_temperature = 35000 //Just a bit better than the Durand. + infra_luminosity = 3 + var/zoom = 0 + var/smoke = 5 + var/smoke_ready = 1 + var/smoke_cooldown = 100 + var/datum/effect/effect/system/smoke_spread/smoke_system = new + wreckage = /obj/effect/decal/mecha_wreckage/gorilla + add_req_access = 0 + internal_damage_threshold = 25 + force = 60 + max_equip = 5 + +/obj/mecha/combat/gorilla/New() + ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) // This thing basically cannot function without an external power supply. + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon/weak(src) //Saves energy, I suppose. Anti-infantry. + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg(src) + ME.attach(src) + src.smoke_system.set_up(3, 0, src) + src.smoke_system.attach(src) + return + +/obj/mecha/combat/gorilla/mechstep(direction) + var/result = step(src,direction) + playsound(src,"mechstep",40,1) + return result + +/obj/mecha/combat/gorilla/mechturn(direction) + dir = direction + playsound(src,"mechstep",40,1) + + +/obj/mecha/combat/gorilla/relaymove(mob/user,direction) + if(user != src.occupant) + user.loc = get_turf(src) + to_chat(user, "You climb out from [src]") + return 0 + if(!can_move) + return 0 + if(zoom) + if(world.time - last_message > 20) + src.occupant_message("Unable to move while in zoom mode.") + last_message = world.time + return 0 + if(connected_port) + if(world.time - last_message > 20) + src.occupant_message("Unable to move while connected to the air system port") + last_message = world.time + return 0 + if(state || !has_charge(step_energy_drain)) + return 0 + var/tmp_step_in = step_in + var/tmp_step_energy_drain = step_energy_drain + var/move_result = 0 + if(internal_damage&MECHA_INT_CONTROL_LOST) + move_result = mechsteprand() + else if(src.dir!=direction) + move_result = mechturn(direction) + else + move_result = mechstep(direction) + if(move_result) + if(istype(src.loc, /turf/space)) + if(!src.check_for_support()) + src.pr_inertial_movement.start(list(src,direction)) + can_move = 0 + spawn(tmp_step_in) can_move = 1 + use_power(tmp_step_energy_drain) + return 1 + return 0 + +/obj/mecha/combat/gorilla/verb/smoke() + set category = "Exosuit Interface" + set name = "Smoke" + set src = usr.loc + set popup_menu = 0 + if(usr!=src.occupant) + return + if(smoke_ready && smoke>0) + src.smoke_system.start() + smoke-- + smoke_ready = 0 + spawn(smoke_cooldown) + smoke_ready = 1 + return + +/obj/mecha/combat/gorilla/verb/zoom() + set category = "Exosuit Interface" + set name = "Zoom" + set src = usr.loc + set popup_menu = 0 + if(usr!=src.occupant) + return + if(src.occupant.client) + src.zoom = !src.zoom + src.log_message("Toggled zoom mode.") + src.occupant_message("Zoom mode [zoom?"en":"dis"]abled.") + if(zoom) + src.occupant.client.view = 12 + playsound(src.occupant, 'sound/mecha/imag_enh.ogg',50) + else + src.occupant.client.view = world.view//world.view - default mob view size + return + + +/obj/mecha/combat/gorilla/go_out() + if(src.occupant && src.occupant.client) + src.occupant.client.view = world.view + src.zoom = 0 + ..() + return + + +/obj/mecha/combat/gorilla/get_stats_part() + var/output = ..() + output += {"Smoke: [smoke]"} + return output + + +/obj/mecha/combat/gorilla/get_commands() + var/output = {"
+
Special
+ +
+ "} + output += ..() + return output + +/obj/mecha/combat/gorilla/Topic(href, href_list) + ..() + if (href_list["smoke"]) + src.smoke() + if (href_list["toggle_zoom"]) + src.zoom() + return \ No newline at end of file diff --git a/code/game/mecha/equipment/tools/unused_tools.dm b/code/game/mecha/equipment/tools/unused_tools.dm deleted file mode 100644 index c7ef794c4e5..00000000000 --- a/code/game/mecha/equipment/tools/unused_tools.dm +++ /dev/null @@ -1,27 +0,0 @@ - - - -/****** Do not tick this file in without looking over this code first ******/ - - - - -/* -/obj/item/mecha_parts/mecha_equipment/book_stocker - - action(var/mob/target) - if(!istype(target)) - return - if(target.search_contents_for(/obj/item/book/WGW)) - target.gib() - target.client.gib() - target.client.mom.monkeyize() - target.client.mom.gib() - for(var/mob/M in range(target, 1000)) - M.gib() - explosion(target.loc,100000,100000,100000) - usr.gib() - world.Reboot() - return 1 - -*/ diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 50012fe95c8..80b417da22c 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -117,46 +117,41 @@ projectile = /obj/item/projectile/beam/stun fire_sound = 'sound/weapons/Taser.ogg' -/* + /obj/item/mecha_parts/mecha_equipment/weapon/honker name = "sound emission device" icon_state = "mecha_honker" energy_drain = 300 equip_cooldown = 150 - range = MELEE|RANGED origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 4, TECH_ILLEGAL = 1) - var/ear_safety = 0 - if(iscarbon(M)) +/obj/item/mecha_parts/mecha_equipment/honker/action(target) + if(!chassis) + return 0 + if(energy_drain && chassis.get_charge() < energy_drain) + return 0 + if(!equip_ready) + return 0 + + playsound(chassis, 'sound/effects/bang.ogg', 30, 1, 30) + chassis.occupant_message("You emit a high-pitched noise from the mech.") + for(var/mob/living/carbon/M in ohearers(6, chassis)) + if(istype(M, /mob/living/carbon/human)) + var/ear_safety = 0 ear_safety = M.get_ear_protection() - - action(target) - if(!chassis) - return 0 - if(energy_drain && chassis.get_charge() < energy_drain) - return 0 - if(!equip_ready) - return 0 - - playsound(chassis, 'sound/effects/bang.ogg', 30, 1, 30) - chassis.occupant_message("You emit a high-pitched noise from the mech.") - for(var/mob/living/carbon/M in ohearers(6, chassis)) - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(ear_safety > 0) - return - to_chat(M, "\Your ears feel like they're bleeding!") - playsound(M, 'sound/effects/bang.ogg', 70, 1, 30) - M.sleeping = 0 - M.ear_deaf += 30 - M.ear_damage += rand(5, 20) - M.Weaken(3) - M.Stun(5) - chassis.use_power(energy_drain) - log_message("Used a sound emission device.") - do_after_cooldown() - return -*/ + if(ear_safety > 0) + return + to_chat(M, "Your ears feel like they're bleeding!") + playsound(M, 'sound/effects/bang.ogg', 70, 1, 30) + M.sleeping = 0 + M.ear_deaf += 30 + M.ear_damage += rand(5, 20) + M.Weaken(3) + M.Stun(5) + chassis.use_power(energy_drain) + log_message("Used a sound emission device.") + do_after_cooldown() + return /obj/item/mecha_parts/mecha_equipment/weapon/ballistic name = "general ballisic weapon" @@ -361,4 +356,4 @@ if(!action_checks(user) || !active) return user.electrocute_act(shock_damage, src) - return chassis.dynattackby(W,user) \ No newline at end of file + return chassis.dynattackby(W,user) diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index 55255d20974..5584590f920 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -52,22 +52,21 @@ if(charging.loc != src.loc) // Could be qdel or teleport or something stop_charging() return - var/done = 1 - if(charging.cell) + var/done = FALSE + if(charging.cell) var/t = min(charge, charging.cell.maxcharge - charging.cell.charge) if(t > 0) charging.give_power(t) use_power(t * 150) - done = 0 else charging.occupant_message("Fully charged.") + done = TRUE if(repair && charging.health < initial(charging.health)) charging.health = min(charging.health + repair, initial(charging.health)) if(charging.health == initial(charging.health)) charging.occupant_message("Fully repaired.") - else - done = 0 + done = FALSE if(done) stop_charging() return diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 8914631ad0a..3bbb9f34b4b 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -40,6 +40,7 @@ /obj/machinery/mecha_part_fabricator/initialize() update_categories() + . = ..() /obj/machinery/mecha_part_fabricator/process() ..() diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index a151d0638f1..45b9853881b 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -40,6 +40,7 @@ return /obj/machinery/pros_fabricator/initialize() + . = ..() manufacturer = basic_robolimb.company update_categories() diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm index a00e9d6594a..5173f182cea 100644 --- a/code/game/mecha/mech_sensor.dm +++ b/code/game/mecha/mech_sensor.dm @@ -7,7 +7,7 @@ density = 1 throwpass = 1 use_power = 1 - layer = 3.3 + layer = ON_WINDOW_LAYER power_channel = EQUIP var/on = 0 var/id_tag = null @@ -70,6 +70,7 @@ icon_state = "airlock_sensor_off" /obj/machinery/mech_sensor/initialize() + . = ..() set_frequency(frequency) /obj/machinery/mech_sensor/proc/set_frequency(new_frequency) diff --git a/code/game/mecha/medical/medical.dm b/code/game/mecha/medical/medical.dm index 027c9f84afc..e112f7a232a 100644 --- a/code/game/mecha/medical/medical.dm +++ b/code/game/mecha/medical/medical.dm @@ -1,9 +1,8 @@ /obj/mecha/medical/initialize() - ..() + . = ..() var/turf/T = get_turf(src) if(isPlayerLevel(T.z)) new /obj/item/mecha_parts/mecha_tracking(src) - return /obj/mecha/medical/mechturn(direction) diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index c51a34adefb..765f0706b8e 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -34,6 +34,7 @@ desc = "OH SHIT IT'S THE DEATHSQUAD WE'RE ALL GONNA DIE" name = "DEATH-RIPLEY" icon_state = "deathripley" + initial_icon = "deathripley" step_in = 2 opacity=0 lights_power = 60 diff --git a/code/game/mecha/working/working.dm b/code/game/mecha/working/working.dm index 8ba99ad1c56..c890746e5b0 100644 --- a/code/game/mecha/working/working.dm +++ b/code/game/mecha/working/working.dm @@ -4,11 +4,10 @@ var/cargo_capacity = 5 /obj/mecha/working/initialize() - ..() + . = ..() var/turf/T = get_turf(src) if(isPlayerLevel(T.z)) new /obj/item/mecha_parts/mecha_tracking(src) - return /obj/mecha/working/Destroy() for(var/mob/M in src) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 9b27cdecbdc..0a8a74b8e95 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -46,7 +46,7 @@ return TRUE /atom/movable/Destroy() - unbuckle_mob() + unbuckle_all_mobs() return ..() diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm index 2c864f0a56c..7a79c21e1ef 100644 --- a/code/game/objects/effects/alien/aliens.dm +++ b/code/game/objects/effects/alien/aliens.dm @@ -147,7 +147,8 @@ anchored = 1 density = 0 - layer = 2 + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER var/health = 15 var/obj/effect/alien/weeds/node/linked_node = null @@ -155,7 +156,7 @@ icon_state = "weednode" name = "purple sac" desc = "Weird purple octopus-like thing." - layer = 3 + layer = ABOVE_TURF_LAYER+0.01 light_range = NODERANGE var/node_range = NODERANGE diff --git a/code/game/objects/effects/chem/chemsmoke.dm b/code/game/objects/effects/chem/chemsmoke.dm index be7e759a636..436ebabcc92 100644 --- a/code/game/objects/effects/chem/chemsmoke.dm +++ b/code/game/objects/effects/chem/chemsmoke.dm @@ -161,7 +161,7 @@ if(chemholder.reagents.reagent_list.len) chemholder.reagents.trans_to_obj(smoke, chemholder.reagents.total_volume / dist, copy = 1) //copy reagents to the smoke so mob/breathe() can handle inhaling the reagents smoke.icon = I - smoke.layer = 6 + smoke.plane = ABOVE_PLANE smoke.set_dir(pick(cardinal)) smoke.pixel_x = -32 + rand(-8, 8) smoke.pixel_y = -32 + rand(-8, 8) diff --git a/code/game/objects/effects/decals/Cleanable/fuel.dm b/code/game/objects/effects/decals/Cleanable/fuel.dm index c04540535bc..b69226815e2 100644 --- a/code/game/objects/effects/decals/Cleanable/fuel.dm +++ b/code/game/objects/effects/decals/Cleanable/fuel.dm @@ -2,7 +2,7 @@ //Liquid fuel is used for things that used to rely on volatile fuels or phoron being contained to a couple tiles. icon = 'icons/effects/effects.dmi' icon_state = "fuel" - layer = TURF_LAYER+0.2 + plane = DIRTY_PLANE anchored = 1 var/amount = 1 diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 3cdca23fdeb..90f708ff9df 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -10,7 +10,7 @@ var/global/list/image/splatter_cache=list() gender = PLURAL density = 0 anchored = 1 - layer = 2 + plane = BLOOD_PLANE icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") @@ -96,18 +96,18 @@ var/global/list/image/splatter_cache=list() S.overlays.Cut() S.overlays += S.blood_overlay S.blood_DNA |= blood_DNA.Copy() + perp.update_inv_shoes() else if (hasfeet)//Or feet perp.feet_blood_color = basecolor perp.track_blood = max(amount,perp.track_blood) - if(!perp.feet_blood_DNA) - perp.feet_blood_DNA = list() + LAZYINITLIST(perp.feet_blood_DNA) perp.feet_blood_DNA |= blood_DNA.Copy() + perp.update_bloodied() else if (perp.buckled && istype(perp.buckled, /obj/structure/bed/chair/wheelchair)) var/obj/structure/bed/chair/wheelchair/W = perp.buckled W.bloodiness = 4 - perp.update_inv_shoes(1) amount-- /obj/effect/decal/cleanable/blood/proc/dry() @@ -179,7 +179,6 @@ var/global/list/image/splatter_cache=list() gender = PLURAL density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/blood.dmi' icon_state = "gibbl5" random_icon_states = list("gib1", "gib2", "gib3", "gib5", "gib6") @@ -236,7 +235,6 @@ var/global/list/image/splatter_cache=list() gender = PLURAL density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/blood.dmi' icon_state = "mucus" random_icon_states = list("mucus") @@ -247,3 +245,9 @@ var/global/list/image/splatter_cache=list() /obj/effect/decal/cleanable/mucus/New() spawn(DRYING_TIME * 2) dry=1 + +//This version should be used for admin spawns and pre-mapped virus vectors (e.g. in PoIs), this version does not dry +/obj/effect/decal/cleanable/mucus/mapped/New() + ...() + virus2 = new /datum/disease2/disease + virus2.makerandom() diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index 5d2482d60c8..1ef83bc7223 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -4,7 +4,6 @@ gender = PLURAL density = 0 anchored = 1 - layer = 2 icon = 'icons/obj/objects.dmi' icon_state = "shards" @@ -36,7 +35,6 @@ gender = PLURAL density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/effects.dmi' icon_state = "dirt" mouse_opacity = 0 @@ -47,7 +45,6 @@ gender = PLURAL density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/effects.dmi' icon_state = "flour" @@ -57,7 +54,6 @@ gender = PLURAL density = 0 anchored = 1 - layer = 2 light_range = 1 icon = 'icons/effects/effects.dmi' icon_state = "greenglow" @@ -67,7 +63,7 @@ desc = "Somebody should remove that." density = 0 anchored = 1 - layer = 3 + plane = OBJ_PLANE icon = 'icons/effects/effects.dmi' icon_state = "cobweb1" @@ -76,7 +72,7 @@ desc = "It looks like a melted... something." density = 0 anchored = 1 - layer = 3 + plane = OBJ_PLANE icon = 'icons/obj/chemical.dmi' icon_state = "molten" @@ -85,7 +81,7 @@ desc = "Somebody should remove that." density = 0 anchored = 1 - layer = 3 + plane = OBJ_PLANE icon = 'icons/effects/effects.dmi' icon_state = "cobweb2" @@ -96,17 +92,16 @@ gender = PLURAL density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/blood.dmi' icon_state = "vomit_1" random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4") + var/list/datum/disease2/disease/virus2 = list() /obj/effect/decal/cleanable/tomato_smudge name = "tomato smudge" desc = "It's red." density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3") @@ -115,7 +110,6 @@ desc = "Seems like this one won't hatch." density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3") @@ -124,7 +118,6 @@ desc = "It's pie cream from a cream pie." density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_pie") @@ -133,7 +126,6 @@ desc = "Some kind of fruit smear." density = 0 anchored = 1 - layer = 2 icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 2db1e5e9486..f7965e092d0 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -1,4 +1,5 @@ /obj/effect/decal/cleanable + plane = DIRTY_PLANE var/list/random_icon_states = list() /obj/effect/decal/cleanable/clean_blood(var/ignore = 0) diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm index 0d00d328303..695f8d3b792 100644 --- a/code/game/objects/effects/decals/contraband.dm +++ b/code/game/objects/effects/decals/contraband.dm @@ -110,6 +110,7 @@ pixel_y = 0 /obj/structure/sign/poster/initialize() + . = ..() if (poster_type) var/path = text2path(poster_type) var/datum/poster/design = new path diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 20047ced124..55bb54b8036 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -2,7 +2,7 @@ name = "rune" desc = "A rune drawn in crayon." icon = 'icons/obj/rune.dmi' - layer = 2.1 + plane = DIRTY_PLANE anchored = 1 New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune") diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 964a1301b89..f3a75ce3c28 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -3,7 +3,7 @@ desc = "It's an arrow hanging in mid-air. There may be a wizard about." icon = 'icons/mob/screen1.dmi' icon_state = "arrow" - layer = 16.0 + plane = ABOVE_PLANE anchored = 1 mouse_opacity = 0 @@ -11,4 +11,4 @@ /obj/effect/decal/spraystill density = 0 anchored = 1 - layer = 50 \ No newline at end of file + plane = ABOVE_PLANE \ No newline at end of file diff --git a/code/game/objects/effects/decals/posters/bs12.dm b/code/game/objects/effects/decals/posters/bs12.dm index 6b5ad182c42..7aadcb2ead0 100644 --- a/code/game/objects/effects/decals/posters/bs12.dm +++ b/code/game/objects/effects/decals/posters/bs12.dm @@ -217,7 +217,7 @@ /datum/poster/bay_44 icon_state="bsposter44" name = "Time for a drink?" - desc = "This poster depicts a friendly-looking Tajara holding a tray of drinks." + desc = "This poster depicts a friendly-looking Tajaran holding a tray of drinks." /datum/poster/bay_45 icon_state="bsposter45" diff --git a/code/game/objects/effects/decals/posters/polarisposters.dm b/code/game/objects/effects/decals/posters/polarisposters.dm index 9295b754c92..958ceb66bea 100644 --- a/code/game/objects/effects/decals/posters/polarisposters.dm +++ b/code/game/objects/effects/decals/posters/polarisposters.dm @@ -26,12 +26,12 @@ /datum/poster/pol_6 icon_state="polposter6" name = "Walk!" - desc = "This poster depicts a man walking, presumably to encourage you to not run in the halls." + desc = "This poster depicts a man walking, presumably to encourage you not to run in the halls." /datum/poster/pol_7 icon_state="polposter7" name = "Place your signs!" - desc = "A safety poster reminding custodial stuff to place wet floor signs where needed. This reminder's rarely heeded." + desc = "A safety poster reminding custodial staff to place wet floor signs where needed. This reminder's rarely heeded." /datum/poster/pol_8 icon_state="polposter8" diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm index ff3c8d4a618..d35da75324c 100644 --- a/code/game/objects/effects/decals/remains.dm +++ b/code/game/objects/effects/decals/remains.dm @@ -22,9 +22,39 @@ icon_state = "mouse" /obj/effect/decal/remains/lizard - desc = "They look like the remains of a small rodent." + desc = "They look like the remains of a small lizard." icon_state = "lizard" +/obj/effect/decal/remains/unathi + desc = "They look like Unathi remains. Pointy." + icon_state = "remainsunathi" + +/obj/effect/decal/remains/tajaran + desc = "They look like Tajaran remains. They're surprisingly small." + icon_state = "remainstajaran" + +/obj/effect/decal/remains/ribcage + desc = "They look like animal remains of some sort... You hope." + icon_state = "remainsribcage" + +/obj/effect/decal/remains/deer + desc = "They look like the remains of a large herbivore, picked clean." + icon_state = "remainsdeer" + +/obj/effect/decal/remains/posi + desc = "This looks like part of an old FBP. Hopefully it was empty." + icon_state = "remainsposi" + +/obj/effect/decal/remains/mummy1 + name = "mummified remains" + desc = "They look like human remains. They've been here a long time." + icon_state = "mummified1" + +/obj/effect/decal/remains/mummy2 + name = "mummified remains" + desc = "They look like human remains. They've been here a long time." + icon_state = "mummified2" + /obj/effect/decal/remains/attack_hand(mob/user as mob) user << "[src] sinks together into a pile of ash." var/turf/simulated/floor/F = get_turf(src) diff --git a/code/game/objects/effects/decals/warning_stripes.dm b/code/game/objects/effects/decals/warning_stripes.dm index e22acfad74e..db7c4bf74f1 100644 --- a/code/game/objects/effects/decals/warning_stripes.dm +++ b/code/game/objects/effects/decals/warning_stripes.dm @@ -1,6 +1,5 @@ /obj/effect/decal/warning_stripes icon = 'icons/effects/warning_stripes.dmi' - layer = 2 /obj/effect/decal/warning_stripes/New() . = ..() diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index a3b3ab81cbe..e92268f4da5 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -104,7 +104,7 @@ steam.start() -- spawns the effect T.hotspot_expose(1000,100) /obj/effect/effect/sparks/initialize() - ..() + . = ..() schedule_task_in(5 SECONDS, /proc/qdel, list(src)) /obj/effect/effect/sparks/Destroy() diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index b8cb8006d29..50230eba170 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -84,9 +84,9 @@ delete_me = 1 /obj/effect/landmark/initialize() - ..() + . = ..() if(delete_me) - qdel(src) + return INITIALIZE_HINT_QDEL /obj/effect/landmark/Destroy(var/force = FALSE) if(delete_me || force) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 52f920775eb..a1a6623ff1d 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -1,105 +1,274 @@ /obj/effect/mine - name = "Mine" - desc = "I Better stay away from that thing." - density = 1 + name = "land mine" //The name and description are deliberately NOT modified, so you can't game the mines you find. + desc = "A small explosive land mine." + density = 0 anchored = 1 - layer = 3 icon = 'icons/obj/weapons.dmi' icon_state = "uglymine" - var/triggerproc = "explode" //name of the proc thats called when the mine is triggered var/triggered = 0 + var/smoke_strength = 3 + var/mineitemtype = /obj/item/weapon/mine + var/panel_open = 0 + var/datum/wires/mines/wires = null /obj/effect/mine/New() icon_state = "uglyminearmed" + wires = new(src) + +/obj/effect/mine/proc/explode(var/mob/living/M) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() + triggered = 1 + s.set_up(3, 1, src) + s.start() + explosion(loc, 0, 2, 3, 4) //land mines are dangerous, folks. + visible_message("\The [src.name] detonates!") + qdel(s) + qdel(src) + +/obj/effect/mine/bullet_act() + if(prob(50)) + explode() + +/obj/effect/mine/ex_act(severity) + if(severity <= 2 || prob(50)) + explode() + ..() /obj/effect/mine/Crossed(AM as mob|obj) Bumped(AM) /obj/effect/mine/Bumped(mob/M as mob|obj) - if(triggered) return + if(triggered) + return - if(istype(M, /mob/living/carbon/human)) - for(var/mob/O in viewers(world.view, src.loc)) - O << "[M] triggered the \icon[src] [src]" - triggered = 1 - call(src,triggerproc)(M) + if(istype(M, /mob/living/)) + if(!M.hovering) + explode(M) -/obj/effect/mine/proc/triggerrad(obj) +/obj/effect/mine/attackby(obj/item/W as obj, mob/living/user as mob) + if(isscrewdriver(W)) + panel_open = !panel_open + user.visible_message("[user] very carefully screws the mine's panel [panel_open ? "open" : "closed"].", + "You very carefully screw the mine's panel [panel_open ? "open" : "closed"].") + playsound(src.loc, W.usesound, 50, 1) + + else if((iswirecutter(W) || ismultitool(W)) && panel_open) + interact(user) + else + ..() + +/obj/effect/mine/interact(mob/living/user as mob) + if(!panel_open || istype(user, /mob/living/silicon/ai)) + return + user.set_machine(src) + wires.Interact(user) + +/obj/effect/mine/dnascramble + mineitemtype = /obj/item/weapon/mine/dnascramble + +/obj/effect/mine/dnascramble/explode(var/mob/living/M) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() + triggered = 1 + s.set_up(3, 1, src) + s.start() + if(M) + M.radiation += 50 + randmutb(M) + domutcheck(M,null) + visible_message("\The [src.name] flashes violently before disintegrating!") + spawn(0) + qdel(s) + qdel(src) + +/obj/effect/mine/stun + mineitemtype = /obj/item/weapon/mine/stun + +/obj/effect/mine/stun/explode(var/mob/living/M) + triggered = 1 var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(3, 1, src) s.start() - obj:radiation += 50 - randmutb(obj) - domutcheck(obj,null) - spawn(0) - qdel(src) - -/obj/effect/mine/proc/triggerstun(obj) - if(ismob(obj)) - var/mob/M = obj + if(M) M.Stun(30) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() - s.set_up(3, 1, src) - s.start() + visible_message("\The [src.name] flashes violently before disintegrating!") spawn(0) + qdel(s) qdel(src) -/obj/effect/mine/proc/triggern2o(obj) - //example: n2o triggerproc - //note: im lazy +/obj/effect/mine/n2o + mineitemtype = /obj/item/weapon/mine/n2o +/obj/effect/mine/n2o/explode(var/mob/living/M) + triggered = 1 for (var/turf/simulated/floor/target in range(1,src)) if(!target.blocks_air) target.assume_gas("sleeping_agent", 30) - + visible_message("\The [src.name] detonates!") spawn(0) qdel(src) -/obj/effect/mine/proc/triggerphoron(obj) +/obj/effect/mine/phoron + mineitemtype = /obj/item/weapon/mine/phoron + +/obj/effect/mine/phoron/explode(var/mob/living/M) + triggered = 1 for (var/turf/simulated/floor/target in range(1,src)) if(!target.blocks_air) target.assume_gas("phoron", 30) - target.hotspot_expose(1000, CELL_VOLUME) - + visible_message("\The [src.name] detonates!") spawn(0) qdel(src) -/obj/effect/mine/proc/triggerkick(obj) +/obj/effect/mine/kick + mineitemtype = /obj/item/weapon/mine/kick + +/obj/effect/mine/kick/explode(var/mob/living/M) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() + triggered = 1 + s.set_up(3, 1, src) + s.start() + if(M) + qdel(M.client) + spawn(0) + qdel(s) + qdel(src) + +/obj/effect/mine/frag + mineitemtype = /obj/item/weapon/mine/frag + var/fragment_types = list(/obj/item/projectile/bullet/pellet/fragment) + var/num_fragments = 20 //total number of fragments produced by the grenade + //The radius of the circle used to launch projectiles. Lower values mean less projectiles are used but if set too low gaps may appear in the spread pattern + var/spread_range = 7 + +/obj/effect/mine/frag/explode(var/mob/living/M) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() + triggered = 1 + s.set_up(3, 1, src) + s.start() + var/turf/O = get_turf(src) + if(!O) + return + src.fragmentate(O, 20, 7, list(/obj/item/projectile/bullet/pellet/fragment)) //only 20 weak fragments because you're stepping directly on it + visible_message("\The [src.name] detonates!") + spawn(0) + qdel(s) + qdel(src) + +/obj/effect/mine/training //Name and Desc commented out so it's possible to trick people with the training mines +// name = "training mine" +// desc = "A mine with its payload removed, for EOD training and demonstrations." + mineitemtype = /obj/item/weapon/mine/training + +/obj/effect/mine/training/explode(var/mob/living/M) + triggered = 1 + visible_message("\The [src.name]'s light flashes rapidly as it 'explodes'.") + new src.mineitemtype(get_turf(src)) + spawn(0) + qdel(src) + +/obj/effect/mine/emp + mineitemtype = /obj/item/weapon/mine/emp + +/obj/effect/mine/emp/explode(var/mob/living/M) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(3, 1, src) s.start() - qdel(obj:client) + visible_message("\The [src.name] flashes violently before disintegrating!") + empulse(loc, 2, 4, 7, 10, 1) // As strong as an EMP grenade spawn(0) qdel(src) -/obj/effect/mine/proc/explode(obj) - explosion(loc, 0, 1, 2, 3) +/obj/effect/mine/incendiary + mineitemtype = /obj/item/weapon/mine/incendiary + +/obj/effect/mine/incendiary/explode(var/mob/living/M) + triggered = 1 + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() + s.set_up(3, 1, src) + s.start() + if(M) + M.adjust_fire_stacks(5) + M.fire_act() + visible_message("\The [src.name] bursts into flames!") spawn(0) qdel(src) -/obj/effect/mine/dnascramble - name = "Radiation Mine" +///////////////////////////////////////////// +// The held item version of the above mines +///////////////////////////////////////////// +/obj/item/weapon/mine + name = "mine" + desc = "A small explosive mine with 'HE' and a grenade symbol on the side." + icon = 'icons/obj/weapons.dmi' icon_state = "uglymine" - triggerproc = "triggerrad" + var/countdown = 10 + var/minetype = /obj/effect/mine //This MUST be an /obj/effect/mine type, or it'll runtime. -/obj/effect/mine/phoron - name = "Phoron Mine" - icon_state = "uglymine" - triggerproc = "triggerphoron" +/obj/item/weapon/mine/attack_self(mob/user as mob) // You do not want to move or throw a land mine while priming it... Explosives + Sudden Movement = Bad Times + add_fingerprint(user) + msg_admin_attack("[key_name_admin(user)] primed \a [src]") + user.visible_message("[user] starts priming \the [src.name].", "You start priming \the [src.name]. Hold still!") + if(do_after(user, 10 SECONDS)) + playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) + prime(user) + else + visible_message("[user] triggers \the [src.name]!", "You accidentally trigger \the [src.name]!") + prime(user, TRUE) + return -/obj/effect/mine/kick - name = "Kick Mine" - icon_state = "uglymine" - triggerproc = "triggerkick" +/obj/item/weapon/mine/proc/prime(mob/user as mob, var/explode_now = FALSE) + visible_message("\The [src.name] beeps as the priming sequence completes.") + var/obj/effect/mine/R = new minetype(get_turf(src)) + src.transfer_fingerprints_to(R) + R.add_fingerprint(user) + if(explode_now) + R.explode(user) + spawn(0) + qdel(src) -/obj/effect/mine/n2o - name = "N2O Mine" - icon_state = "uglymine" - triggerproc = "triggern2o" +/obj/item/weapon/mine/dnascramble + name = "radiation mine" + desc = "A small explosive mine with a radiation symbol on the side." + minetype = /obj/effect/mine/dnascramble -/obj/effect/mine/stun - name = "Stun Mine" - icon_state = "uglymine" - triggerproc = "triggerstun" +/obj/item/weapon/mine/phoron + name = "incendiary mine" + desc = "A small explosive mine with a fire symbol on the side." + minetype = /obj/effect/mine/phoron + +/obj/item/weapon/mine/kick + name = "kick mine" + desc = "Concentrated war crimes. Handle with care." + minetype = /obj/effect/mine/kick + +/obj/item/weapon/mine/n2o + name = "nitrous oxide mine" + desc = "A small explosive mine with three Z's on the side." + minetype = /obj/effect/mine/n2o + +/obj/item/weapon/mine/stun + name = "stun mine" + desc = "A small explosive mine with a lightning bolt symbol on the side." + minetype = /obj/effect/mine/stun + +/obj/item/weapon/mine/frag + name = "fragmentation mine" + desc = "A small explosive mine with 'FRAG' and a grenade symbol on the side." + minetype = /obj/effect/mine/frag + +/obj/item/weapon/mine/training + name = "training mine" + desc = "A mine with its payload removed, for EOD training and demonstrations." + minetype = /obj/effect/mine/training + +/obj/item/weapon/mine/emp + name = "emp mine" + desc = "A small explosive mine with a lightning bolt symbol on the side." + minetype = /obj/effect/mine/emp + +/obj/item/weapon/mine/incendiary + name = "incendiary mine" + desc = "A small explosive mine with a fire symbol on the side." + minetype = /obj/effect/mine/incendiary \ No newline at end of file diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 48026296d77..aaebab43550 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -26,7 +26,8 @@ desc = "Something swinging really wide." icon = 'icons/effects/96x96.dmi' icon_state = "cleave" - layer = 6 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER time_to_die = 6 alpha = 140 mouse_opacity = 0 @@ -34,6 +35,7 @@ pixel_y = -32 /obj/effect/temporary_effect/cleave_attack/initialize() // Makes the slash fade smoothly. When completely transparent it should qdel itself. + . = ..() animate(src, alpha = 0, time = time_to_die - 1) /obj/effect/temporary_effect/shuttle_landing @@ -44,4 +46,4 @@ /obj/effect/temporary_effect/shuttle_landing/initialize() flick("shuttle_warning", src) // flick() forces the animation to always begin at the start. - ..() \ No newline at end of file + . = ..() \ No newline at end of file diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 2cc8b7a64fd..9f4f0fa1185 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -17,7 +17,8 @@ icon = 'icons/misc/beach2.dmi' icon_state = "palm1" density = 1 - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER anchored = 1 /obj/effect/overlay/palmtree_l @@ -25,7 +26,8 @@ icon = 'icons/misc/beach2.dmi' icon_state = "palm2" density = 1 - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER anchored = 1 /obj/effect/overlay/coconut @@ -37,7 +39,7 @@ name = "Bluespace" icon = 'icons/turf/space.dmi' icon_state = "bluespacify" - layer = 10 + plane = ABOVE_PLANE /obj/effect/overlay/wallrot name = "wallrot" @@ -45,7 +47,8 @@ icon = 'icons/effects/wallrot.dmi' anchored = 1 density = 1 - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER mouse_opacity = 0 /obj/effect/overlay/wallrot/New() @@ -70,7 +73,9 @@ /obj/effect/overlay/snow/floor icon_state = "snowfloor" - layer = 2.01 //Just above floor + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER + mouse_opacity = 0 //Don't block underlying tile interactions /obj/effect/overlay/snow/floor/edges icon_state = "snow_edges" @@ -80,11 +85,12 @@ /obj/effect/overlay/snow/airlock icon_state = "snowairlock" - layer = 3.2 //Just above airlocks + layer = DOOR_CLOSED_LAYER+0.01 /obj/effect/overlay/snow/floor/pointy icon_state = "snowfloorpointy" /obj/effect/overlay/snow/wall icon_state = "snowwall" - layer = 5 //Same as lights so humans can stand under it + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index a26c1169d5f..7beb1e63291 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -123,7 +123,7 @@ desc = "It never stays still for long." icon_state = "spiderling" anchored = 0 - layer = 2.7 + layer = HIDING_LAYER health = 3 var/last_itch = 0 var/amount_grown = -1 @@ -213,7 +213,7 @@ skitter() else if(isorgan(loc)) - if(!amount_grown) amount_grown = 1 + if(amount_grown < 0) amount_grown = 1 var/obj/item/organ/external/O = loc if(!O.owner || O.owner.stat == DEAD || amount_grown > 80) O.implants -= src @@ -229,7 +229,7 @@ else if(prob(1)) src.visible_message("\The [src] skitters.") - if(amount_grown) + if(amount_grown >= 0) amount_grown += rand(0,2) /obj/effect/spider/spiderling/proc/skitter() diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index a42df7f3e93..a58241ada25 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -129,6 +129,7 @@ var/landmark_id = null /obj/effect/step_trigger/teleporter/landmark/initialize() + . = ..() for(var/obj/effect/landmark/teleport_mark/mark in tele_landmarks) if(mark.landmark_id == landmark_id) the_landmark = mark @@ -157,9 +158,6 @@ var/global/list/tele_landmarks = list() // Terrible, but the alternative is loop /obj/effect/step_trigger/teleporter/planetary_fall var/datum/planet/planet = null -/obj/effect/step_trigger/teleporter/planetary_fall/sif/initialize() - planet = planet_sif - /obj/effect/step_trigger/teleporter/planetary_fall/Trigger(var/atom/movable/A) if(planet) if(!planet.planet_floors.len) @@ -187,11 +185,12 @@ var/global/list/tele_landmarks = list() // Terrible, but the alternative is loop A.forceMove(T) // Harmlessly move ghosts. return - if(isliving(A)) // Someday, implement parachutes. For now, just turbomurder whoever falls. - var/mob/living/L = A - L.fall_impact(T, 42, 90, FALSE, TRUE) //You will not be defibbed from this. - message_admins("\The [A] fell out of the sky.") A.forceMove(T) + // Living things should probably be logged when they fall... + if(isliving(A)) + message_admins("\The [A] fell out of the sky.") + // ... because they're probably going to die from it. + A.fall_impact(T, 42, 90, FALSE, TRUE) //You will not be defibbed from this. else message_admins("ERROR: planetary_fall step trigger lacks a planet to fall onto.") return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index bf091e1180f..748a203cc4d 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1,658 +1,798 @@ -/obj/item - name = "item" - icon = 'icons/obj/items.dmi' - w_class = ITEMSIZE_NORMAL - - var/image/blood_overlay = null //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite - var/abstract = 0 - var/r_speed = 1.0 - var/health = null - var/burn_point = null - var/burning = null - var/hitsound = null - var/usesound = null // Like hitsound, but for when used properly and not to kill someone. - var/storage_cost = null - var/slot_flags = 0 //This is used to determine on which slots an item can fit. - var/no_attack_log = 0 //If it's an item we don't want to log attack_logs with, set this to 1 - pass_flags = PASSTABLE - pressure_resistance = 5 -// causeerrorheresoifixthis - var/obj/item/master = null - var/list/origin_tech = null //Used by R&D to determine what research bonuses it grants. - var/list/attack_verb = list() //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" - var/force = 0 - - var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm - var/cold_protection = 0 //flags which determine which body parts are protected from cold. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm - var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags - var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags - - var/datum/action/item_action/action = null - var/action_button_name //It is also the text which gets displayed on the action button. If not set it defaults to 'Use [name]'. If it's not set, there'll be no button. - var/action_button_is_hands_free = 0 //If 1, bypass the restrained, lying, and stunned checks action buttons normally test for - - //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. - //It should be used purely for appearance. For gameplay effects caused by items covering body parts, use body_parts_covered. - var/flags_inv = 0 - var/body_parts_covered = 0 //see setup.dm for appropriate bit flags - - var/item_flags = 0 //Miscellaneous flags pertaining to equippable objects. - - //var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible - var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets) - var/permeability_coefficient = 1 // for chemicals/diseases - var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) - var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up - var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N - var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - var/list/armorsoak = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - var/list/allowed = null //suit storage stuff. - var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. - var/zoomdevicename = null //name used for message when binoculars/scope is used - var/zoom = 0 //1 if item is actively being used to zoom. For scoped guns and binoculars. - - var/embed_chance = -1 //0 won't embed, and 100 will always embed - - var/icon_override = null //Used to override hardcoded clothing dmis in human clothing proc. - - //** These specify item/icon overrides for _slots_ - - var/list/item_state_slots = list() //overrides the default item_state for particular slots. - - // Used to specify the icon file to be used when the item is worn. If not set the default icon for that slot will be used. - // If icon_override or sprite_sheets are set they will take precendence over this, assuming they apply to the slot in question. - // Only slot_l_hand/slot_r_hand are implemented at the moment. Others to be implemented as needed. - var/list/item_icons = list() - - //** These specify item/icon overrides for _species_ - - /* Species-specific sprites, concept stolen from Paradise//vg/. - ex: - sprite_sheets = list( - "Tajara" = 'icons/cat/are/bad' - ) - If index term exists and icon_override is not set, this sprite sheet will be used. - */ - var/list/sprite_sheets = list() - - // Species-specific sprite sheets for inventory sprites - // Works similarly to worn sprite_sheets, except the alternate sprites are used when the clothing/refit_for_species() proc is called. - var/list/sprite_sheets_obj = list() - - var/toolspeed = 1.0 // This is a multipler on how 'fast' a tool works. e.g. setting this to 0.5 will make the tool work twice as fast. - var/attackspeed = DEFAULT_ATTACK_COOLDOWN // How long click delay will be when using this, in 1/10ths of a second. Checked in the user's get_attack_speed(). - var/reach = 1 // Length of tiles it can reach, 1 is adjacent. - var/addblends // Icon overlay for ADD highlights when applicable. - -/obj/item/New() - ..() - if(embed_chance < 0) - if(sharp) - embed_chance = max(5, round(force/w_class)) - else - embed_chance = max(5, round(force/(w_class*3))) - -/obj/item/equipped() - ..() - var/mob/living/M = loc - if(!istype(M)) - return - M.update_held_icons() - -/obj/item/Destroy() - if(ismob(loc)) - var/mob/m = loc - m.drop_from_inventory(src) - m.update_inv_r_hand() - m.update_inv_l_hand() - src.loc = null - return ..() - -/obj/item/device - icon = 'icons/obj/device.dmi' - -//Checks if the item is being held by a mob, and if so, updates the held icons -/obj/item/proc/update_held_icon() - if(isliving(src.loc)) - var/mob/living/M = src.loc - if(M.l_hand == src) - M.update_inv_l_hand() - else if(M.r_hand == src) - M.update_inv_r_hand() - -/obj/item/ex_act(severity) - switch(severity) - if(1.0) - qdel(src) - return - if(2.0) - if (prob(50)) - qdel(src) - return - if(3.0) - if (prob(5)) - qdel(src) - return - else - return - -//user: The mob that is suiciding -//damagetype: The type of damage the item will inflict on the user -//BRUTELOSS = 1 -//FIRELOSS = 2 -//TOXLOSS = 4 -//OXYLOSS = 8 -//Output a creative message and then return the damagetype done -/obj/item/proc/suicide_act(mob/user) - return - -/obj/item/verb/move_to_top() - set name = "Move To Top" - set category = "Object" - set src in oview(1) - - if(!istype(src.loc, /turf) || usr.stat || usr.restrained() ) - return - - var/turf/T = src.loc - - src.loc = null - - src.loc = T - -// See inventory_sizes.dm for the defines. -/obj/item/examine(mob/user, var/distance = -1) - var/size - switch(src.w_class) - if(ITEMSIZE_TINY) - size = "tiny" - if(ITEMSIZE_SMALL) - size = "small" - if(ITEMSIZE_NORMAL) - size = "normal-sized" - if(ITEMSIZE_LARGE) - size = "bulky" - if(ITEMSIZE_HUGE) - size = "huge" - return ..(user, distance, "", "It is a [size] item.") - -/obj/item/attack_hand(mob/living/user as mob) - if (!user) return - if (hasorgans(user)) - var/mob/living/carbon/human/H = user - var/obj/item/organ/external/temp = H.organs_by_name["r_hand"] - if (user.hand) - temp = H.organs_by_name["l_hand"] - if(temp && !temp.is_usable()) - user << "You try to move your [temp.name], but cannot!" - return - if(!temp) - user << "You try to use your hand, but realize it is no longer attached!" - return - src.pickup(user) - if (istype(src.loc, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = src.loc - S.remove_from_storage(src) - - src.throwing = 0 - if (src.loc == user) - if(!user.unEquip(src)) - return - else - if(isliving(src.loc)) - return - user.put_in_active_hand(src) - return - -/obj/item/attack_ai(mob/user as mob) - if (istype(src.loc, /obj/item/weapon/robot_module)) - //If the item is part of a cyborg module, equip it - if(!isrobot(user)) - return - var/mob/living/silicon/robot/R = user - R.activate_module(src) - R.hud_used.update_robot_modules_display() - -/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = W - if(S.use_to_pickup) - if(S.collection_mode) //Mode is set to collect all items - if(isturf(src.loc)) - S.gather_all(src.loc, user) - - else if(S.can_be_inserted(src)) - S.handle_item_insertion(src) - return - -/obj/item/proc/talk_into(mob/M as mob, text) - return - -/obj/item/proc/moved(mob/user as mob, old_loc as turf) - return - -// apparently called whenever an item is removed from a slot, container, or anything else. -/obj/item/proc/dropped(mob/user as mob) - ..() - if(zoom) - zoom() //binoculars, scope, etc - appearance_flags &= ~NO_CLIENT_COLOR - -// called just as an item is picked up (loc is not yet changed) -/obj/item/proc/pickup(mob/user) - return - -// called when this item is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. -/obj/item/proc/on_exit_storage(obj/item/weapon/storage/S as obj) - return - -// called when this item is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. -/obj/item/proc/on_enter_storage(obj/item/weapon/storage/S as obj) - return - -// called when "found" in pockets and storage items. Returns 1 if the search should end. -/obj/item/proc/on_found(mob/finder as mob) - return - -// called after an item is placed in an equipment slot -// user is mob that equipped it -// slot uses the slot_X defines found in setup.dm -// for items that can be placed in multiple slots -// note this isn't called during the initial dressing of a player -/obj/item/proc/equipped(var/mob/user, var/slot) - hud_layerise() - if(user.client) user.client.screen |= src - if(user.pulling == src) user.stop_pulling() - return - -//Defines which slots correspond to which slot flags -var/list/global/slot_flags_enumeration = list( - "[slot_wear_mask]" = SLOT_MASK, - "[slot_back]" = SLOT_BACK, - "[slot_wear_suit]" = SLOT_OCLOTHING, - "[slot_gloves]" = SLOT_GLOVES, - "[slot_shoes]" = SLOT_FEET, - "[slot_belt]" = SLOT_BELT, - "[slot_glasses]" = SLOT_EYES, - "[slot_head]" = SLOT_HEAD, - "[slot_l_ear]" = SLOT_EARS|SLOT_TWOEARS, - "[slot_r_ear]" = SLOT_EARS|SLOT_TWOEARS, - "[slot_w_uniform]" = SLOT_ICLOTHING, - "[slot_wear_id]" = SLOT_ID, - "[slot_tie]" = SLOT_TIE, - ) - -//the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. -//If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. -//Set disable_warning to 1 if you wish it to not give you outputs. -//Should probably move the bulk of this into mob code some time, as most of it is related to the definition of slots and not item-specific -/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0) - if(!slot) return 0 - if(!M) return 0 - - if(!ishuman(M)) return 0 - - var/mob/living/carbon/human/H = M - var/list/mob_equip = list() - if(H.species.hud && H.species.hud.equip_slots) - mob_equip = H.species.hud.equip_slots - - if(H.species && !(slot in mob_equip)) - return 0 - - //First check if the item can be equipped to the desired slot. - if("[slot]" in slot_flags_enumeration) - var/req_flags = slot_flags_enumeration["[slot]"] - if(!(req_flags & slot_flags)) - return 0 - - //Next check that the slot is free - if(H.get_equipped_item(slot)) - return 0 - - //Next check if the slot is accessible. - var/mob/_user = disable_warning? null : H - if(!H.slot_is_accessible(slot, src, _user)) - return 0 - - //Lastly, check special rules for the desired slot. - switch(slot) - if(slot_l_ear, slot_r_ear) - var/slot_other_ear = (slot == slot_l_ear)? slot_r_ear : slot_l_ear - if( (w_class > ITEMSIZE_TINY) && !(slot_flags & SLOT_EARS) ) - return 0 - if( (slot_flags & SLOT_TWOEARS) && H.get_equipped_item(slot_other_ear) ) - return 0 - if(slot_wear_id) - if(!H.w_uniform && (slot_w_uniform in mob_equip)) - if(!disable_warning) - H << "You need a jumpsuit before you can attach this [name]." - return 0 - if(slot_l_store, slot_r_store) - if(!H.w_uniform && (slot_w_uniform in mob_equip)) - if(!disable_warning) - H << "You need a jumpsuit before you can attach this [name]." - return 0 - if(slot_flags & SLOT_DENYPOCKET) - return 0 - if( w_class > ITEMSIZE_SMALL && !(slot_flags & SLOT_POCKET) ) - return 0 - if(slot_s_store) - if(!H.wear_suit && (slot_wear_suit in mob_equip)) - if(!disable_warning) - H << "You need a suit before you can attach this [name]." - return 0 - if(!H.wear_suit.allowed) - if(!disable_warning) - usr << "You somehow have a suit with no defined allowed items for suit storage, stop that." - return 0 - if( !(istype(src, /obj/item/device/pda) || istype(src, /obj/item/weapon/pen) || is_type_in_list(src, H.wear_suit.allowed)) ) - return 0 - if(slot_legcuffed) //Going to put this check above the handcuff check because the survival of the universe depends on it. - if(!istype(src, /obj/item/weapon/handcuffs/legcuffs)) //Putting it here might actually do nothing. - return 0 - if(slot_handcuffed) - if(!istype(src, /obj/item/weapon/handcuffs) || istype(src, /obj/item/weapon/handcuffs/legcuffs)) //Legcuffs are a child of handcuffs, but we don't want to use legcuffs as handcuffs... - return 0 //In theory, this would never happen, but let's just do the legcuff check anyways. - if(slot_in_backpack) //used entirely for equipping spawned mobs or at round start - var/allow = 0 - if(H.back && istype(H.back, /obj/item/weapon/storage/backpack)) - var/obj/item/weapon/storage/backpack/B = H.back - if(B.can_be_inserted(src,1)) - allow = 1 - if(!allow) - return 0 - if(slot_tie) - if(!H.w_uniform && (slot_w_uniform in mob_equip)) - if(!disable_warning) - H << "You need a jumpsuit before you can attach this [name]." - return 0 - var/obj/item/clothing/under/uniform = H.w_uniform - if(uniform.accessories.len && !uniform.can_attach_accessory(src)) - if (!disable_warning) - H << "You already have an accessory of this type attached to your [uniform]." - return 0 - return 1 - -/obj/item/proc/mob_can_unequip(mob/M, slot, disable_warning = 0) - if(!slot) return 0 - if(!M) return 0 - - if(!canremove) - return 0 - if(!M.slot_is_accessible(slot, src, disable_warning? null : M)) - return 0 - return 1 - -/obj/item/verb/verb_pickup() - set src in oview(1) - set category = "Object" - set name = "Pick up" - - if(!(usr)) //BS12 EDIT - return - if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) - return - if((!istype(usr, /mob/living/carbon)) || (istype(usr, /mob/living/carbon/brain)))//Is humanoid, and is not a brain - usr << "You can't pick things up!" - return - var/mob/living/carbon/C = usr - if( usr.stat || usr.restrained() )//Is not asleep/dead and is not restrained - usr << "You can't pick things up!" - return - if(src.anchored) //Object isn't anchored - usr << "You can't pick that up!" - return - if(C.get_active_hand()) //Hand is not full - usr << "Your hand is full." - return - if(!istype(src.loc, /turf)) //Object is on a turf - usr << "You can't pick that up!" - return - //All checks are done, time to pick it up! - usr.UnarmedAttack(src) - return - - -//This proc is executed when someone clicks the on-screen UI button. To make the UI button show, set the 'icon_action_button' to the icon_state of the image of the button in screen1_action.dmi -//The default action is attack_self(). -//Checks before we get to here are: mob is alive, mob is not restrained, paralyzed, asleep, resting, laying, item is on the mob. -/obj/item/proc/ui_action_click() - attack_self(usr) - -//RETURN VALUES -//handle_shield should return a positive value to indicate that the attack is blocked and should be prevented. -//If a negative value is returned, it should be treated as a special return value for bullet_act() and handled appropriately. -//For non-projectile attacks this usually means the attack is blocked. -//Otherwise should return 0 to indicate that the attack is not affected in any way. -/obj/item/proc/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") - return 0 - -/obj/item/proc/get_loc_turf() - var/atom/L = loc - while(L && !istype(L, /turf/)) - L = L.loc - return loc - -/obj/item/proc/eyestab(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - - var/mob/living/carbon/human/H = M - var/mob/living/carbon/human/U = user - if(istype(H)) - for(var/obj/item/protection in list(H.head, H.wear_mask, H.glasses)) - if(protection && (protection.body_parts_covered & EYES)) - // you can't stab someone in the eyes wearing a mask! - user << "You're going to need to remove the eye covering first." - return - - if(!M.has_eyes()) - user << "You cannot locate any eyes on [M]!" - return - - if(U.get_accuracy_penalty(U)) //Should only trigger if they're not aiming well - var/hit_zone = get_zone_with_miss_chance(U.zone_sel.selecting, M, U.get_accuracy_penalty(U)) - if(!hit_zone) - U.do_attack_animation(M) - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[U] attempts to stab [M] in the eyes, but misses!") - return - - user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" - M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])" - msg_admin_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (JMP)") //BS12 EDIT ALG - - user.setClickCooldown(user.get_attack_speed()) - user.do_attack_animation(M) - - src.add_fingerprint(user) - //if((CLUMSY in user.mutations) && prob(50)) - // M = user - /* - M << "You stab yourself in the eye." - M.sdisabilities |= BLIND - M.weakened += 4 - M.adjustBruteLoss(10) - */ - - if(istype(H)) - - var/obj/item/organ/internal/eyes/eyes = H.internal_organs_by_name[O_EYES] - - if(H != user) - for(var/mob/O in (viewers(M) - user - M)) - O.show_message("[M] has been stabbed in the eye with [src] by [user].", 1) - M << "[user] stabs you in the eye with [src]!" - user << "You stab [M] in the eye with [src]!" - else - user.visible_message( \ - "[user] has stabbed themself with [src]!", \ - "You stab yourself in the eyes with [src]!" \ - ) - - eyes.damage += rand(3,4) - if(eyes.damage >= eyes.min_bruised_damage) - if(M.stat != 2) - if(!(eyes.robotic >= ORGAN_ROBOT)) //robot eyes bleeding might be a bit silly - M << "Your eyes start to bleed profusely!" - if(prob(50)) - if(M.stat != 2) - M << "You drop what you're holding and clutch at your eyes!" - M.drop_item() - M.eye_blurry += 10 - M.Paralyse(1) - M.Weaken(4) - if (eyes.damage >= eyes.min_broken_damage) - if(M.stat != 2) - M << "You go blind!" - var/obj/item/organ/external/affecting = H.get_organ(BP_HEAD) - if(affecting.take_damage(7)) - M:UpdateDamageIcon() - else - M.take_organ_damage(7) - M.eye_blurry += rand(3,4) - return - -/obj/item/clean_blood() - . = ..() - if(blood_overlay) - overlays.Remove(blood_overlay) - if(istype(src, /obj/item/clothing/gloves)) - var/obj/item/clothing/gloves/G = src - G.transfer_blood = 0 - -/obj/item/reveal_blood() - if(was_bloodied && !fluorescent) - fluorescent = 1 - blood_color = COLOR_LUMINOL - blood_overlay.color = COLOR_LUMINOL - update_icon() - -/obj/item/add_blood(mob/living/carbon/human/M as mob) - if (!..()) - return 0 - - if(istype(src, /obj/item/weapon/melee/energy)) - return - - //if we haven't made our blood_overlay already - if( !blood_overlay ) - generate_blood_overlay() - - //apply the blood-splatter overlay if it isn't already in there - if(!blood_DNA.len) - blood_overlay.color = blood_color - overlays += blood_overlay - - //if this blood isn't already in the list, add it - if(istype(M)) - if(blood_DNA[M.dna.unique_enzymes]) - return 0 //already bloodied with this blood. Cannot add more. - blood_DNA[M.dna.unique_enzymes] = M.dna.b_type - return 1 //we applied blood to the item - -/obj/item/proc/generate_blood_overlay() - if(blood_overlay) - return - - var/icon/I = new /icon(icon, icon_state) - I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD) //fills the icon_state with white (except where it's transparent) - I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant - - //not sure if this is worth it. It attaches the blood_overlay to every item of the same type if they don't have one already made. - for(var/obj/item/A in world) - if(A.type == type && !A.blood_overlay) - A.blood_overlay = image(I) - -/obj/item/proc/showoff(mob/user) - for (var/mob/M in view(user)) - M.show_message("[user] holds up [src]. Take a closer look.",1) - -/mob/living/carbon/verb/showoff() - set name = "Show Held Item" - set category = "Object" - - var/obj/item/I = get_active_hand() - if(I && !I.abstract) - I.showoff(src) - -/* -For zooming with scope or binoculars. This is called from -modules/mob/mob_movement.dm if you move you will be zoomed out -modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. -*/ -//Looking through a scope or binoculars should /not/ improve your periphereal vision. Still, increase viewsize a tiny bit so that sniping isn't as restricted to NSEW -/obj/item/proc/zoom(var/tileoffset = 14,var/viewsize = 9) //tileoffset is client view offset in the direction the user is facing. viewsize is how far out this thing zooms. 7 is normal view - - var/devicename - - if(zoomdevicename) - devicename = zoomdevicename - else - devicename = src.name - - var/cannotzoom - - if(usr.stat || !(istype(usr,/mob/living/carbon/human))) - usr << "You are unable to focus through the [devicename]" - cannotzoom = 1 - else if(!zoom && global_hud.darkMask[1] in usr.client.screen) - usr << "Your visor gets in the way of looking through the [devicename]" - cannotzoom = 1 - else if(!zoom && usr.get_active_hand() != src) - usr << "You are too distracted to look through the [devicename], perhaps if it was in your active hand this might work better" - cannotzoom = 1 - - if(!zoom && !cannotzoom) - if(usr.hud_used.hud_shown) - usr.toggle_zoom_hud() // If the user has already limited their HUD this avoids them having a HUD when they zoom in - usr.client.view = viewsize - zoom = 1 - - var/tilesize = 32 - var/viewoffset = tilesize * tileoffset - - switch(usr.dir) - if (NORTH) - usr.client.pixel_x = 0 - usr.client.pixel_y = viewoffset - if (SOUTH) - usr.client.pixel_x = 0 - usr.client.pixel_y = -viewoffset - if (EAST) - usr.client.pixel_x = viewoffset - usr.client.pixel_y = 0 - if (WEST) - usr.client.pixel_x = -viewoffset - usr.client.pixel_y = 0 - - usr.visible_message("[usr] peers through the [zoomdevicename ? "[zoomdevicename] of the [src.name]" : "[src.name]"].") - - else - usr.client.view = world.view - if(!usr.hud_used.hud_shown) - usr.toggle_zoom_hud() - zoom = 0 - - usr.client.pixel_x = 0 - usr.client.pixel_y = 0 - - if(!cannotzoom) - usr.visible_message("[zoomdevicename ? "[usr] looks up from the [src.name]" : "[usr] lowers the [src.name]"].") - - return - -/obj/item/proc/pwr_drain() - return 0 // Process Kill - -// Used for non-adjacent melee attacks with specific weapons capable of reaching more than one tile. -// This uses changeling range string A* but for this purpose its also applicable. -/obj/item/proc/attack_can_reach(var/atom/us, var/atom/them, var/range) - if(us.Adjacent(them)) - return TRUE // Already adjacent. - if(AStar(get_turf(us), get_turf(them), /turf/proc/AdjacentTurfsRangedSting, /turf/proc/Distance, max_nodes=25, max_node_depth=range)) - return TRUE - return FALSE - -// Check if an object should ignite others, like a lit lighter or candle. -/obj/item/proc/is_hot() - return FALSE \ No newline at end of file +/obj/item + name = "item" + icon = 'icons/obj/items.dmi' + w_class = ITEMSIZE_NORMAL + + var/image/blood_overlay = null //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite + var/abstract = 0 + var/r_speed = 1.0 + var/health = null + var/burn_point = null + var/burning = null + var/hitsound = null + var/usesound = null // Like hitsound, but for when used properly and not to kill someone. + var/storage_cost = null + var/slot_flags = 0 //This is used to determine on which slots an item can fit. + var/no_attack_log = 0 //If it's an item we don't want to log attack_logs with, set this to 1 + pass_flags = PASSTABLE + pressure_resistance = 5 +// causeerrorheresoifixthis + var/obj/item/master = null + var/list/origin_tech = null //Used by R&D to determine what research bonuses it grants. + var/list/attack_verb = list() //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" + var/force = 0 + + var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm + var/cold_protection = 0 //flags which determine which body parts are protected from cold. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm + var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags + var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags + + var/datum/action/item_action/action = null + var/action_button_name //It is also the text which gets displayed on the action button. If not set it defaults to 'Use [name]'. If it's not set, there'll be no button. + var/action_button_is_hands_free = 0 //If 1, bypass the restrained, lying, and stunned checks action buttons normally test for + + //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. + //It should be used purely for appearance. For gameplay effects caused by items covering body parts, use body_parts_covered. + var/flags_inv = 0 + var/body_parts_covered = 0 //see setup.dm for appropriate bit flags + + var/item_flags = 0 //Miscellaneous flags pertaining to equippable objects. + + //var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible + var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets) + var/permeability_coefficient = 1 // for chemicals/diseases + var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) + var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up + var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N + var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + var/list/armorsoak = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + var/list/allowed = null //suit storage stuff. + var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. + var/zoomdevicename = null //name used for message when binoculars/scope is used + var/zoom = 0 //1 if item is actively being used to zoom. For scoped guns and binoculars. + + var/embed_chance = -1 //0 won't embed, and 100 will always embed + + var/icon_override = null //Used to override hardcoded clothing dmis in human clothing proc. + + //** These specify item/icon overrides for _slots_ + + var/list/item_state_slots = list() //overrides the default item_state for particular slots. + + // Used to specify the icon file to be used when the item is worn. If not set the default icon for that slot will be used. + // If icon_override or sprite_sheets are set they will take precendence over this, assuming they apply to the slot in question. + // Only slot_l_hand/slot_r_hand are implemented at the moment. Others to be implemented as needed. + var/list/item_icons = list() + + //** These specify item/icon overrides for _species_ + + /* Species-specific sprites, concept stolen from Paradise//vg/. + ex: + sprite_sheets = list( + SPECIES_TAJ = 'icons/cat/are/bad' + ) + If index term exists and icon_override is not set, this sprite sheet will be used. + */ + var/list/sprite_sheets = list() + + // Species-specific sprite sheets for inventory sprites + // Works similarly to worn sprite_sheets, except the alternate sprites are used when the clothing/refit_for_species() proc is called. + var/list/sprite_sheets_obj = list() + + var/toolspeed = 1.0 // This is a multipler on how 'fast' a tool works. e.g. setting this to 0.5 will make the tool work twice as fast. + var/attackspeed = DEFAULT_ATTACK_COOLDOWN // How long click delay will be when using this, in 1/10ths of a second. Checked in the user's get_attack_speed(). + var/reach = 1 // Length of tiles it can reach, 1 is adjacent. + var/addblends // Icon overlay for ADD highlights when applicable. + + var/icon/default_worn_icon //Default on-mob icon + var/worn_layer //Default on-mob layer + +/obj/item/New() + ..() + if(embed_chance < 0) + if(sharp) + embed_chance = max(5, round(force/w_class)) + else + embed_chance = max(5, round(force/(w_class*3))) + +/obj/item/equipped() + ..() + var/mob/living/M = loc + if(!istype(M)) + return + M.update_held_icons() + +/obj/item/Destroy() + if(ismob(loc)) + var/mob/m = loc + m.drop_from_inventory(src) + m.update_inv_r_hand() + m.update_inv_l_hand() + src.loc = null + return ..() + +/obj/item/proc/update_twohanding() + update_held_icon() + +/obj/item/proc/is_held_twohanded(mob/living/M) + var/check_hand + if(M.l_hand == src && !M.r_hand) + check_hand = BP_R_HAND //item in left hand, check right hand + else if(M.r_hand == src && !M.l_hand) + check_hand = BP_L_HAND //item in right hand, check left hand + else + return FALSE + + //would check is_broken() and is_malfunctioning() here too but is_malfunctioning() + //is probabilistic so we can't do that and it would be unfair to just check one. + if(ishuman(M)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/hand = H.organs_by_name[check_hand] + if(istype(hand) && hand.is_usable()) + return TRUE + return FALSE + + +//Checks if the item is being held by a mob, and if so, updates the held icons +/obj/item/proc/update_held_icon() + if(isliving(src.loc)) + var/mob/living/M = src.loc + if(M.l_hand == src) + M.update_inv_l_hand() + else if(M.r_hand == src) + M.update_inv_r_hand() + +/obj/item/ex_act(severity) + switch(severity) + if(1.0) + qdel(src) + return + if(2.0) + if (prob(50)) + qdel(src) + return + if(3.0) + if (prob(5)) + qdel(src) + return + else + return + +//user: The mob that is suiciding +//damagetype: The type of damage the item will inflict on the user +//BRUTELOSS = 1 +//FIRELOSS = 2 +//TOXLOSS = 4 +//OXYLOSS = 8 +//Output a creative message and then return the damagetype done +/obj/item/proc/suicide_act(mob/user) + return + +/obj/item/verb/move_to_top() + set name = "Move To Top" + set category = "Object" + set src in oview(1) + + if(!istype(src.loc, /turf) || usr.stat || usr.restrained() ) + return + + var/turf/T = src.loc + + src.loc = null + + src.loc = T + +// See inventory_sizes.dm for the defines. +/obj/item/examine(mob/user, var/distance = -1) + var/size + switch(src.w_class) + if(ITEMSIZE_TINY) + size = "tiny" + if(ITEMSIZE_SMALL) + size = "small" + if(ITEMSIZE_NORMAL) + size = "normal-sized" + if(ITEMSIZE_LARGE) + size = "bulky" + if(ITEMSIZE_HUGE) + size = "huge" + return ..(user, distance, "", "It is a [size] item.") + +/obj/item/attack_hand(mob/living/user as mob) + if (!user) return + if (hasorgans(user)) + var/mob/living/carbon/human/H = user + var/obj/item/organ/external/temp = H.organs_by_name["r_hand"] + if (user.hand) + temp = H.organs_by_name["l_hand"] + if(temp && !temp.is_usable()) + user << "You try to move your [temp.name], but cannot!" + return + if(!temp) + user << "You try to use your hand, but realize it is no longer attached!" + return + src.pickup(user) + if (istype(src.loc, /obj/item/weapon/storage)) + var/obj/item/weapon/storage/S = src.loc + S.remove_from_storage(src) + + src.throwing = 0 + if (src.loc == user) + if(!user.unEquip(src)) + return + else + if(isliving(src.loc)) + return + user.put_in_active_hand(src) + return + +/obj/item/attack_ai(mob/user as mob) + if (istype(src.loc, /obj/item/weapon/robot_module)) + //If the item is part of a cyborg module, equip it + if(!isrobot(user)) + return + var/mob/living/silicon/robot/R = user + R.activate_module(src) + R.hud_used.update_robot_modules_display() + +/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/storage)) + var/obj/item/weapon/storage/S = W + if(S.use_to_pickup) + if(S.collection_mode) //Mode is set to collect all items + if(isturf(src.loc)) + S.gather_all(src.loc, user) + + else if(S.can_be_inserted(src)) + S.handle_item_insertion(src) + return + +/obj/item/proc/talk_into(mob/M as mob, text) + return + +/obj/item/proc/moved(mob/user as mob, old_loc as turf) + return + +// apparently called whenever an item is removed from a slot, container, or anything else. +/obj/item/proc/dropped(mob/user as mob) + ..() + if(zoom) + zoom() //binoculars, scope, etc + appearance_flags &= ~NO_CLIENT_COLOR + +// called just as an item is picked up (loc is not yet changed) +/obj/item/proc/pickup(mob/user) + return + +// called when this item is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. +/obj/item/proc/on_exit_storage(obj/item/weapon/storage/S as obj) + return + +// called when this item is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. +/obj/item/proc/on_enter_storage(obj/item/weapon/storage/S as obj) + return + +// called when "found" in pockets and storage items. Returns 1 if the search should end. +/obj/item/proc/on_found(mob/finder as mob) + return + +// called after an item is placed in an equipment slot +// user is mob that equipped it +// slot uses the slot_X defines found in setup.dm +// for items that can be placed in multiple slots +// note this isn't called during the initial dressing of a player +/obj/item/proc/equipped(var/mob/user, var/slot) + hud_layerise() + user.position_hud_item(src,slot) + if(user.client) user.client.screen |= src + if(user.pulling == src) user.stop_pulling() + return + +//Defines which slots correspond to which slot flags +var/list/global/slot_flags_enumeration = list( + "[slot_wear_mask]" = SLOT_MASK, + "[slot_back]" = SLOT_BACK, + "[slot_wear_suit]" = SLOT_OCLOTHING, + "[slot_gloves]" = SLOT_GLOVES, + "[slot_shoes]" = SLOT_FEET, + "[slot_belt]" = SLOT_BELT, + "[slot_glasses]" = SLOT_EYES, + "[slot_head]" = SLOT_HEAD, + "[slot_l_ear]" = SLOT_EARS|SLOT_TWOEARS, + "[slot_r_ear]" = SLOT_EARS|SLOT_TWOEARS, + "[slot_w_uniform]" = SLOT_ICLOTHING, + "[slot_wear_id]" = SLOT_ID, + "[slot_tie]" = SLOT_TIE, + ) + +//the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. +//If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. +//Set disable_warning to 1 if you wish it to not give you outputs. +//Should probably move the bulk of this into mob code some time, as most of it is related to the definition of slots and not item-specific +/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0) + if(!slot) return 0 + if(!M) return 0 + + if(!ishuman(M)) return 0 + + var/mob/living/carbon/human/H = M + var/list/mob_equip = list() + if(H.species.hud && H.species.hud.equip_slots) + mob_equip = H.species.hud.equip_slots + + if(H.species && !(slot in mob_equip)) + return 0 + + //First check if the item can be equipped to the desired slot. + if("[slot]" in slot_flags_enumeration) + var/req_flags = slot_flags_enumeration["[slot]"] + if(!(req_flags & slot_flags)) + return 0 + + //Next check that the slot is free + if(H.get_equipped_item(slot)) + return 0 + + //Next check if the slot is accessible. + var/mob/_user = disable_warning? null : H + if(!H.slot_is_accessible(slot, src, _user)) + return 0 + + //Lastly, check special rules for the desired slot. + switch(slot) + if(slot_l_ear, slot_r_ear) + var/slot_other_ear = (slot == slot_l_ear)? slot_r_ear : slot_l_ear + if( (w_class > ITEMSIZE_TINY) && !(slot_flags & SLOT_EARS) ) + return 0 + if( (slot_flags & SLOT_TWOEARS) && H.get_equipped_item(slot_other_ear) ) + return 0 + if(slot_wear_id) + if(!H.w_uniform && (slot_w_uniform in mob_equip)) + if(!disable_warning) + H << "You need a jumpsuit before you can attach this [name]." + return 0 + if(slot_l_store, slot_r_store) + if(!H.w_uniform && (slot_w_uniform in mob_equip)) + if(!disable_warning) + H << "You need a jumpsuit before you can attach this [name]." + return 0 + if(slot_flags & SLOT_DENYPOCKET) + return 0 + if( w_class > ITEMSIZE_SMALL && !(slot_flags & SLOT_POCKET) ) + return 0 + if(slot_s_store) + if(!H.wear_suit && (slot_wear_suit in mob_equip)) + if(!disable_warning) + H << "You need a suit before you can attach this [name]." + return 0 + if(!H.wear_suit.allowed) + if(!disable_warning) + usr << "You somehow have a suit with no defined allowed items for suit storage, stop that." + return 0 + if( !(istype(src, /obj/item/device/pda) || istype(src, /obj/item/weapon/pen) || is_type_in_list(src, H.wear_suit.allowed)) ) + return 0 + if(slot_legcuffed) //Going to put this check above the handcuff check because the survival of the universe depends on it. + if(!istype(src, /obj/item/weapon/handcuffs/legcuffs)) //Putting it here might actually do nothing. + return 0 + if(slot_handcuffed) + if(!istype(src, /obj/item/weapon/handcuffs) || istype(src, /obj/item/weapon/handcuffs/legcuffs)) //Legcuffs are a child of handcuffs, but we don't want to use legcuffs as handcuffs... + return 0 //In theory, this would never happen, but let's just do the legcuff check anyways. + if(slot_in_backpack) //used entirely for equipping spawned mobs or at round start + var/allow = 0 + if(H.back && istype(H.back, /obj/item/weapon/storage/backpack)) + var/obj/item/weapon/storage/backpack/B = H.back + if(B.can_be_inserted(src,1)) + allow = 1 + if(!allow) + return 0 + if(slot_tie) + var/allow = 0 + for(var/obj/item/clothing/C in H.worn_clothing) //Runs through everything you're wearing, returns if you can't attach the thing + if(C.can_attach_accessory(src)) + allow = 1 + break + if(!allow) + if(!disable_warning) + H << "You're not wearing anything you can attach this [name] to." + return 0 + return 1 + +/obj/item/proc/mob_can_unequip(mob/M, slot, disable_warning = 0) + if(!slot) return 0 + if(!M) return 0 + + if(!canremove) + return 0 + if(!M.slot_is_accessible(slot, src, disable_warning? null : M)) + return 0 + return 1 + +/obj/item/verb/verb_pickup() + set src in oview(1) + set category = "Object" + set name = "Pick up" + + if(!(usr)) //BS12 EDIT + return + if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) + return + if((!istype(usr, /mob/living/carbon)) || (istype(usr, /mob/living/carbon/brain)))//Is humanoid, and is not a brain + usr << "You can't pick things up!" + return + var/mob/living/carbon/C = usr + if( usr.stat || usr.restrained() )//Is not asleep/dead and is not restrained + usr << "You can't pick things up!" + return + if(src.anchored) //Object isn't anchored + usr << "You can't pick that up!" + return + if(C.get_active_hand()) //Hand is not full + usr << "Your hand is full." + return + if(!istype(src.loc, /turf)) //Object is on a turf + usr << "You can't pick that up!" + return + //All checks are done, time to pick it up! + usr.UnarmedAttack(src) + return + + +//This proc is executed when someone clicks the on-screen UI button. To make the UI button show, set the 'icon_action_button' to the icon_state of the image of the button in screen1_action.dmi +//The default action is attack_self(). +//Checks before we get to here are: mob is alive, mob is not restrained, paralyzed, asleep, resting, laying, item is on the mob. +/obj/item/proc/ui_action_click() + attack_self(usr) + +//RETURN VALUES +//handle_shield should return a positive value to indicate that the attack is blocked and should be prevented. +//If a negative value is returned, it should be treated as a special return value for bullet_act() and handled appropriately. +//For non-projectile attacks this usually means the attack is blocked. +//Otherwise should return 0 to indicate that the attack is not affected in any way. +/obj/item/proc/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") + return 0 + +/obj/item/proc/get_loc_turf() + var/atom/L = loc + while(L && !istype(L, /turf/)) + L = L.loc + return loc + +/obj/item/proc/eyestab(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + + var/mob/living/carbon/human/H = M + var/mob/living/carbon/human/U = user + if(istype(H)) + for(var/obj/item/protection in list(H.head, H.wear_mask, H.glasses)) + if(protection && (protection.body_parts_covered & EYES)) + // you can't stab someone in the eyes wearing a mask! + user << "You're going to need to remove the eye covering first." + return + + if(!M.has_eyes()) + user << "You cannot locate any eyes on [M]!" + return + + if(U.get_accuracy_penalty(U)) //Should only trigger if they're not aiming well + var/hit_zone = get_zone_with_miss_chance(U.zone_sel.selecting, M, U.get_accuracy_penalty(U)) + if(!hit_zone) + U.do_attack_animation(M) + playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + visible_message("[U] attempts to stab [M] in the eyes, but misses!") + return + + add_attack_logs(user,M,"Attack eyes with [name]") + + user.setClickCooldown(user.get_attack_speed()) + user.do_attack_animation(M) + + src.add_fingerprint(user) + //if((CLUMSY in user.mutations) && prob(50)) + // M = user + /* + M << "You stab yourself in the eye." + M.sdisabilities |= BLIND + M.weakened += 4 + M.adjustBruteLoss(10) + */ + + if(istype(H)) + + var/obj/item/organ/internal/eyes/eyes = H.internal_organs_by_name[O_EYES] + + if(H != user) + for(var/mob/O in (viewers(M) - user - M)) + O.show_message("[M] has been stabbed in the eye with [src] by [user].", 1) + M << "[user] stabs you in the eye with [src]!" + user << "You stab [M] in the eye with [src]!" + else + user.visible_message( \ + "[user] has stabbed themself with [src]!", \ + "You stab yourself in the eyes with [src]!" \ + ) + + eyes.damage += rand(3,4) + if(eyes.damage >= eyes.min_bruised_damage) + if(M.stat != 2) + if(!(eyes.robotic >= ORGAN_ROBOT)) //robot eyes bleeding might be a bit silly + M << "Your eyes start to bleed profusely!" + if(prob(50)) + if(M.stat != 2) + M << "You drop what you're holding and clutch at your eyes!" + M.drop_item() + M.eye_blurry += 10 + M.Paralyse(1) + M.Weaken(4) + if (eyes.damage >= eyes.min_broken_damage) + if(M.stat != 2) + M << "You go blind!" + var/obj/item/organ/external/affecting = H.get_organ(BP_HEAD) + if(affecting.take_damage(7)) + M:UpdateDamageIcon() + else + M.take_organ_damage(7) + M.eye_blurry += rand(3,4) + return + +/obj/item/clean_blood() + . = ..() + if(blood_overlay) + overlays.Remove(blood_overlay) + if(istype(src, /obj/item/clothing/gloves)) + var/obj/item/clothing/gloves/G = src + G.transfer_blood = 0 + +/obj/item/reveal_blood() + if(was_bloodied && !fluorescent) + fluorescent = 1 + blood_color = COLOR_LUMINOL + blood_overlay.color = COLOR_LUMINOL + update_icon() + +/obj/item/add_blood(mob/living/carbon/human/M as mob) + if (!..()) + return 0 + + if(istype(src, /obj/item/weapon/melee/energy)) + return + + //if we haven't made our blood_overlay already + if( !blood_overlay ) + generate_blood_overlay() + + //apply the blood-splatter overlay if it isn't already in there + if(!blood_DNA.len) + blood_overlay.color = blood_color + overlays += blood_overlay + + //if this blood isn't already in the list, add it + if(istype(M)) + if(blood_DNA[M.dna.unique_enzymes]) + return 0 //already bloodied with this blood. Cannot add more. + blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + return 1 //we applied blood to the item + +/obj/item/proc/generate_blood_overlay() + if(blood_overlay) + return + + var/icon/I = new /icon(icon, icon_state) + I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD) //fills the icon_state with white (except where it's transparent) + I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant + + //not sure if this is worth it. It attaches the blood_overlay to every item of the same type if they don't have one already made. + for(var/obj/item/A in world) + if(A.type == type && !A.blood_overlay) + A.blood_overlay = image(I) + +/obj/item/proc/showoff(mob/user) + for (var/mob/M in view(user)) + M.show_message("[user] holds up [src]. Take a closer look.",1) + +/mob/living/carbon/verb/showoff() + set name = "Show Held Item" + set category = "Object" + + var/obj/item/I = get_active_hand() + if(I && !I.abstract) + I.showoff(src) + +/* +For zooming with scope or binoculars. This is called from +modules/mob/mob_movement.dm if you move you will be zoomed out +modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. +*/ +//Looking through a scope or binoculars should /not/ improve your periphereal vision. Still, increase viewsize a tiny bit so that sniping isn't as restricted to NSEW +/obj/item/proc/zoom(var/tileoffset = 14,var/viewsize = 9) //tileoffset is client view offset in the direction the user is facing. viewsize is how far out this thing zooms. 7 is normal view + + var/devicename + + if(zoomdevicename) + devicename = zoomdevicename + else + devicename = src.name + + var/cannotzoom + + if(usr.stat || !(istype(usr,/mob/living/carbon/human))) + usr << "You are unable to focus through the [devicename]" + cannotzoom = 1 + else if(!zoom && global_hud.darkMask[1] in usr.client.screen) + usr << "Your visor gets in the way of looking through the [devicename]" + cannotzoom = 1 + else if(!zoom && usr.get_active_hand() != src) + usr << "You are too distracted to look through the [devicename], perhaps if it was in your active hand this might work better" + cannotzoom = 1 + + if(!zoom && !cannotzoom) + if(usr.hud_used.hud_shown) + usr.toggle_zoom_hud() // If the user has already limited their HUD this avoids them having a HUD when they zoom in + usr.client.view = viewsize + zoom = 1 + + var/tilesize = 32 + var/viewoffset = tilesize * tileoffset + + switch(usr.dir) + if (NORTH) + usr.client.pixel_x = 0 + usr.client.pixel_y = viewoffset + if (SOUTH) + usr.client.pixel_x = 0 + usr.client.pixel_y = -viewoffset + if (EAST) + usr.client.pixel_x = viewoffset + usr.client.pixel_y = 0 + if (WEST) + usr.client.pixel_x = -viewoffset + usr.client.pixel_y = 0 + + usr.visible_message("[usr] peers through the [zoomdevicename ? "[zoomdevicename] of the [src.name]" : "[src.name]"].") + + else + usr.client.view = world.view + if(!usr.hud_used.hud_shown) + usr.toggle_zoom_hud() + zoom = 0 + + usr.client.pixel_x = 0 + usr.client.pixel_y = 0 + + if(!cannotzoom) + usr.visible_message("[zoomdevicename ? "[usr] looks up from the [src.name]" : "[usr] lowers the [src.name]"].") + + return + +/obj/item/proc/pwr_drain() + return 0 // Process Kill + +// Used for non-adjacent melee attacks with specific weapons capable of reaching more than one tile. +// This uses changeling range string A* but for this purpose its also applicable. +/obj/item/proc/attack_can_reach(var/atom/us, var/atom/them, var/range) + if(us.Adjacent(them)) + return TRUE // Already adjacent. + if(AStar(get_turf(us), get_turf(them), /turf/proc/AdjacentTurfsRangedSting, /turf/proc/Distance, max_nodes=25, max_node_depth=range)) + return TRUE + return FALSE + +// Check if an object should ignite others, like a lit lighter or candle. +/obj/item/proc/is_hot() + return FALSE + +// My best guess as to why this is here would be that it does so little. Still, keep it under all the procs, for sanity's sake. +/obj/item/device + icon = 'icons/obj/device.dmi' + +//Worn icon generation for on-mob sprites +/obj/item/proc/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer) + //Get the required information about the base icon + var/icon/icon2use = get_worn_icon_file(body_type = body_type, slot_name = slot_name, default_icon = default_icon, inhands = inhands) + var/state2use = get_worn_icon_state(slot_name = slot_name) + var/layer2use = get_worn_layer(default_layer = default_layer) + + //Snowflakey inhand icons in a specific slot + if(inhands && icon2use == icon_override) + switch(slot_name) + if(slot_r_hand_str) + state2use += "_r" + if(slot_l_hand_str) + state2use += "_l" + + // testing("[src] (\ref[src]) - Slot: [slot_name], Inhands: [inhands], Worn Icon:[icon2use], Worn State:[state2use], Worn Layer:[layer2use]") + + //Generate the base onmob icon + var/icon/standing_icon = icon(icon = icon2use, icon_state = state2use) + + if(!inhands) + apply_custom(standing_icon) //Pre-image overridable proc to customize the thing + apply_addblends(icon2use,standing_icon) //Some items have ICON_ADD blend shaders + + var/image/standing = image(standing_icon) + standing.alpha = alpha + standing.color = color + standing.layer = layer2use + + //Apply any special features + if(!inhands) + apply_blood(standing) //Some items show blood when bloodied + apply_accessories(standing) //Some items sport accessories like webbing + + //Return our icon + return standing + +//Returns the icon object that should be used for the worn icon +/obj/item/proc/get_worn_icon_file(var/body_type,var/slot_name,var/default_icon,var/inhands) + + //1: icon_override var + if(icon_override) + return icon_override + + //2: species-specific sprite sheets (skipped for inhands) + if(LAZYLEN(sprite_sheets)) + var/sheet = sprite_sheets[body_type] + if(sheet && !inhands) + return sheet + + //3: slot-specific sprite sheets + if(LAZYLEN(item_icons)) + var/sheet = item_icons[slot_name] + if(sheet) + return sheet + + //4: item's default icon + if(default_worn_icon) + return default_worn_icon + + //5: provided default_icon + if(default_icon) + return default_icon + + //6: give up + return + +//Returns the state that should be used for the worn icon +/obj/item/proc/get_worn_icon_state(var/slot_name) + + //1: slot-specific sprite sheets + if(LAZYLEN(item_state_slots)) + var/state = item_state_slots[slot_name] + if(state) + return state + + //2: item_state variable + if(item_state) + return item_state + + //3: icon_state variable + if(icon_state) + return icon_state + +//Returns the layer that should be used for the worn icon (as a FLOAT_LAYER layer, so negative) +/obj/item/proc/get_worn_layer(var/default_layer = 0) + + //1: worn_layer variable + if(!isnull(worn_layer)) //Can be zero, so... + return BODY_LAYER+worn_layer + + //2: your default + return BODY_LAYER+default_layer + +//Apply the addblend blends onto the icon +/obj/item/proc/apply_addblends(var/source_icon, var/icon/standing_icon) + + //If we have addblends, blend them onto the provided icon + if(addblends && standing_icon && source_icon) + var/addblend_icon = icon("icon" = source_icon, "icon_state" = addblends) + standing_icon.Blend(addblend_icon, ICON_ADD) + +//STUB +/obj/item/proc/apply_custom(var/icon/standing_icon) + return standing_icon + +//STUB +/obj/item/proc/apply_blood(var/image/standing) + return standing + +//STUB +/obj/item/proc/apply_accessories(var/image/standing) + return standing + diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index a23abb5b066..302c7df568c 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -145,7 +145,7 @@ var/obj/item/weapon/reagent_containers/syringe/syringe /obj/structure/closet/body_bag/cryobag/New() - tank = new /obj/item/weapon/tank/emergency/oxygen(null) //It's in nullspace to prevent ejection when the bag is opened. + tank = new /obj/item/weapon/tank/emergency/oxygen/double(null) //It's in nullspace to prevent ejection when the bag is opened. ..() /obj/structure/closet/body_bag/cryobag/Destroy() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 31bb9160f83..f1a99a6090b 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -46,11 +46,11 @@ if(colour != "#FFFFFF" && shadeColour != "#000000") colour = "#FFFFFF" shadeColour = "#000000" - user << "You will now draw in white and black with this crayon." + to_chat(user, "You will now draw in white and black with this crayon.") else colour = "#000000" shadeColour = "#FFFFFF" - user << "You will now draw in black and white with this crayon." + to_chat(user, "You will now draw in black and white with this crayon.") return /obj/item/weapon/pen/crayon/rainbow @@ -72,22 +72,22 @@ switch(drawtype) if("letter") drawtype = input("Choose the letter.", "Crayon scribbles") in list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z") - user << "You start drawing a letter on the [target.name]." + to_chat(user, "You start drawing a letter on the [target.name].") if("graffiti") - user << "You start drawing graffiti on the [target.name]." + to_chat(user, "You start drawing graffiti on the [target.name].") if("rune") - user << "You start drawing a rune on the [target.name]." + to_chat(user, "You start drawing a rune on the [target.name].") if("arrow") drawtype = input("Choose the arrow.", "Crayon scribbles") in list("left", "right", "up", "down") - user << "You start drawing an arrow on the [target.name]." + to_chat(user, "You start drawing an arrow on the [target.name].") if(instant || do_after(user, 50)) new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype) - user << "You finish drawing." + to_chat(user, "You finish drawing.") target.add_fingerprint(user) // Adds their fingerprints to the floor the crayon is drawn on. if(uses) uses-- if(!uses) - user << "You used up your crayon!" + to_chat(user, "You used up your crayon!") qdel(src) return @@ -99,7 +99,93 @@ if(uses) uses -= 5 if(uses <= 0) - user << "You ate your crayon!" + to_chat(user,"You ate your crayon!") qdel(src) else ..() + +/obj/item/weapon/pen/crayon/marker/black + icon_state = "markerblack" + colour = "#2D2D2D" + shadeColour = "#000000" + colourName = "black" + +/obj/item/weapon/pen/crayon/marker/red + icon_state = "markerred" + colour = "#DA0000" + shadeColour = "#810C0C" + colourName = "red" + +/obj/item/weapon/pen/crayon/marker/orange + icon_state = "markerorange" + colour = "#FF9300" + shadeColour = "#A55403" + colourName = "orange" + +/obj/item/weapon/pen/crayon/marker/yellow + icon_state = "markeryellow" + colour = "#FFF200" + shadeColour = "#886422" + colourName = "yellow" + +/obj/item/weapon/pen/crayon/marker/green + icon_state = "markergreen" + colour = "#A8E61D" + shadeColour = "#61840F" + colourName = "green" + +/obj/item/weapon/pen/crayon/marker/blue + icon_state = "markerblue" + colour = "#00B7EF" + shadeColour = "#0082A8" + colourName = "blue" + +/obj/item/weapon/pen/crayon/marker/purple + icon_state = "markerpurple" + colour = "#DA00FF" + shadeColour = "#810CFF" + colourName = "purple" + +/obj/item/weapon/pen/crayon/marker/mime + icon_state = "markermime" + desc = "A very sad-looking marker." + colour = "#FFFFFF" + shadeColour = "#000000" + colourName = "mime" + uses = 0 + +/obj/item/weapon/pen/crayon/marker/mime/attack_self(mob/living/user as mob) //inversion + if(colour != "#FFFFFF" && shadeColour != "#000000") + colour = "#FFFFFF" + shadeColour = "#000000" + to_chat(user, "You will now draw in white and black with this marker.") + else + colour = "#000000" + shadeColour = "#FFFFFF" + to_chat(user, "You will now draw in black and white with this marker.") + return + +/obj/item/weapon/pen/crayon/marker/rainbow + icon_state = "markerrainbow" + colour = "#FFF000" + shadeColour = "#000FFF" + colourName = "rainbow" + uses = 0 + +/obj/item/weapon/pen/crayon/marker/rainbow/attack_self(mob/living/user as mob) + colour = input(user, "Please select the main colour.", "Marker colour") as color + shadeColour = input(user, "Please select the shade colour.", "Marker colour") as color + return + +/obj/item/weapon/pen/crayon/marker/attack(mob/M as mob, mob/user as mob) + if(M == user) + to_chat(user, "You take a bite of the marker and swallow it.") + user.nutrition += 1 + user.reagents.add_reagent("marker_ink",6) + if(uses) + uses -= 5 + if(uses <= 0) + to_chat(user,"You ate the marker!") + qdel(src) + else + ..() \ No newline at end of file diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 7f1d83cc4a8..78ee749cebb 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -11,7 +11,7 @@ var/global/list/obj/item/device/pda/PDAs = list() item_state = "electronic" w_class = ITEMSIZE_SMALL slot_flags = SLOT_ID | SLOT_BELT - sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/id.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/id.dmi') //Main variables var/pdachoice = 1 @@ -1169,7 +1169,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/reception_message = "\icon[src] Message from [sender] ([sender_job]), \"[message]\" ([reply ? "Reply" : "Unable to Reply"])" new_info(message_silent, ttone, reception_message) - log_pda("[usr] (PDA: [sending_unit]) sent \"[message]\" to [name]") + log_pda("(PDA: [sending_unit]) sent \"[message]\" to [name]", usr) new_message = 1 update_icon() @@ -1181,7 +1181,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/reception_message = "\icon[src] Message from [sender] ([sender_job]), \"[message]\" (Reply) [track]" new_info(message_silent, newstone, reception_message) - log_pda("[usr] (PDA: [sending_unit]) sent \"[message]\" to [name]") + log_pda("(PDA: [sending_unit]) sent \"[message]\" to [name]",usr) new_message = 1 /obj/item/device/pda/verb/verb_reset_pda() @@ -1247,20 +1247,17 @@ var/global/list/obj/item/device/pda/PDAs = list() if(issilicon(usr)) return - if (can_use(usr) && !isnull(cartridge)) - var/turf/T = get_turf(src) - cartridge.loc = T - if (ismob(loc)) + if(can_use(usr) && !isnull(cartridge)) + cartridge.forceMove(get_turf(src)) + if(ismob(loc)) var/mob/M = loc M.put_in_hands(cartridge) - else - cartridge.loc = get_turf(src) mode = 0 scanmode = 0 if (cartridge.radio) cartridge.radio.hostpda = null - cartridge = null to_chat(usr, "You remove \the [cartridge] from the [name].") + cartridge = null else to_chat(usr, "You cannot do this while restrained.") @@ -1379,14 +1376,12 @@ var/global/list/obj/item/device/pda/PDAs = list() to_chat(user, "Blood type: [C:blood_DNA[blood]]\nDNA: [blood]") if(4) - for (var/mob/O in viewers(C, null)) - O.show_message("\The [user] has analyzed [C]'s radiation levels!", 1) - - user.show_message("Analyzing Results for [C]:") + user.visible_message("\The [user] has analyzed [C]'s radiation levels!", 1) + to_chat(user, "Analyzing Results for [C]:") if(C.radiation) - user.show_message("Radiation Level: [C.radiation]") + to_chat(user, "Radiation Level: [C.radiation]") else - user.show_message("No radiation detected.") + to_chat(user, "No radiation detected.") /obj/item/device/pda/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index c53ba712db4..4b088f51b87 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -110,7 +110,7 @@ var/list/civilian_cartridges = list( /obj/item/weapon/cartridge/security/initialize() radio = new /obj/item/radio/integrated/beepsky(src) - ..() + . = ..() /obj/item/weapon/cartridge/detective name = "\improper D.E.T.E.C.T. cartridge" @@ -166,7 +166,7 @@ var/list/civilian_cartridges = list( /obj/item/weapon/cartridge/signal/initialize() radio = new /obj/item/radio/integrated/signal(src) - ..() + . = ..() /obj/item/weapon/cartridge/quartermaster name = "\improper Space Parts & Space Vendors cartridge" @@ -200,7 +200,7 @@ var/list/civilian_cartridges = list( /obj/item/weapon/cartridge/hos/initialize() radio = new /obj/item/radio/integrated/beepsky(src) - ..() + . = ..() /obj/item/weapon/cartridge/ce name = "\improper Power-On DELUXE" @@ -225,7 +225,7 @@ var/list/civilian_cartridges = list( /obj/item/weapon/cartridge/rd/initialize() radio = new /obj/item/radio/integrated/signal(src) - ..() + . = ..() /obj/item/weapon/cartridge/captain name = "\improper Value-PAK cartridge" @@ -265,8 +265,6 @@ var/list/civilian_cartridges = list( if(loc) var/obj/item/PDA = loc var/mob/user = PDA.fingerprintslast - if(istype(PDA.loc,/mob/living)) - name = PDA.loc log_admin("STATUS: [user] set status screen with [PDA]. Message: [data1] [data2]") message_admins("STATUS: [user] set status screen with [PDA]. Message: [data1] [data2]") diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index ab893415aca..b57c67bac09 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -61,7 +61,7 @@ if (href_list["wipe"]) var/confirm = alert("Are you sure you want to disable this core's power? This cannot be undone once started.", "Confirm Shutdown", "Yes", "No") if(confirm == "Yes" && (CanUseTopic(user, state) == STATUS_INTERACTIVE)) - admin_attack_log(user, carded_ai, "Purged using \the [src.name]", "Was purged with \the [src.name]", "used \the [src.name] to purge") + add_attack_logs(user,carded_ai,"Purged from AI Card") flush = 1 carded_ai.suiciding = 1 carded_ai << "Your power has been disabled!" @@ -102,6 +102,11 @@ user << "Transfer failed: Existing AI found on remote device. Remove existing AI to install a new one." return 0 + if(!user.IsAdvancedToolUser() && isanimal(user)) + var/mob/living/simple_animal/S = user + if(!S.IsHumanoidToolUser(src)) + return 0 + user.visible_message("\The [user] starts transferring \the [ai] into \the [src]...", "You start transferring \the [ai] into \the [src]...") ai << "\The [user] is transferring you into \the [src]!" @@ -110,7 +115,7 @@ new /obj/structure/AIcore/deactivated(get_turf(ai)) ai.carded = 1 - admin_attack_log(user, ai, "Extracted with [src.name]", "Was extracted with [src.name]", "used the [src.name] to extract") + add_attack_logs(user,ai,"Extracted into AI Card") src.name = "[initial(name)] - [ai.name]" ai.loc = src diff --git a/code/game/objects/items/devices/communicator/UI.dm b/code/game/objects/items/devices/communicator/UI.dm index 5df153c663c..f2d3fd39b6f 100644 --- a/code/game/objects/items/devices/communicator/UI.dm +++ b/code/game/objects/items/devices/communicator/UI.dm @@ -69,16 +69,17 @@ im_list_ui[++im_list_ui.len] = list("address" = I["address"], "to_address" = I["to_address"], "im" = I["im"]) //Weather reports. - for(var/datum/planet/planet in planet_controller.planets) - if(planet.weather_holder && planet.weather_holder.current_weather) - var/list/W = list( - "Planet" = planet.name, - "Time" = planet.current_time.show_time("hh:mm"), - "Weather" = planet.weather_holder.current_weather.name, - "Temperature" = planet.weather_holder.temperature - T0C, - "High" = planet.weather_holder.current_weather.temp_high - T0C, - "Low" = planet.weather_holder.current_weather.temp_low - T0C) - weather[++weather.len] = W + if(planet_controller) + for(var/datum/planet/planet in planet_controller.planets) + if(planet.weather_holder && planet.weather_holder.current_weather) + var/list/W = list( + "Planet" = planet.name, + "Time" = planet.current_time.show_time("hh:mm"), + "Weather" = planet.weather_holder.current_weather.name, + "Temperature" = planet.weather_holder.temperature - T0C, + "High" = planet.weather_holder.current_weather.temp_high - T0C, + "Low" = planet.weather_holder.current_weather.temp_low - T0C) + weather[++weather.len] = W injection = "
Test
" @@ -133,11 +134,7 @@ if(href_list["rename"]) var/new_name = sanitizeSafe(input(usr,"Please enter your name.","Communicator",usr.name) ) if(new_name) - owner = new_name - name = "[owner]'s [initial(name)]" - if(camera) - camera.name = name - camera.c_tag = name + register_device(new_name) if(href_list["toggle_visibility"]) switch(network_visibility) @@ -188,7 +185,7 @@ if(text) exonet.send_message(their_address, "text", text) im_list += list(list("address" = exonet.address, "to_address" = their_address, "im" = text)) - log_pda("[usr] (COMM: [src]) sent \"[text]\" to [exonet.get_atom_from_address(their_address)]") + log_pda("(COMM: [src]) sent \"[text]\" to [exonet.get_atom_from_address(their_address)]", usr) for(var/mob/M in player_list) if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat) @@ -251,4 +248,4 @@ set_light(fon * flum) nanomanager.update_uis(src) - add_fingerprint(usr) \ No newline at end of file + add_fingerprint(usr) diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index ad3ad9522ff..7342988916b 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -75,12 +75,12 @@ var/global/list/obj/item/device/communicator/all_communicators = list() //This is a pretty terrible way of doing this. spawn(5 SECONDS) //Wait for our mob to finish spawning. if(ismob(loc)) - register_device(loc) + register_device(loc.name) initialize_exonet(loc) else if(istype(loc, /obj/item/weapon/storage)) var/obj/item/weapon/storage/S = loc if(ismob(S.loc)) - register_device(S.loc) + register_device(S.loc.name) initialize_exonet(S.loc) // Proc: examine() @@ -173,8 +173,8 @@ var/global/list/obj/item/device/communicator/all_communicators = list() // Parameters: None // Description: Simple check to see if the exonet node is active. /obj/item/device/communicator/proc/get_connection_to_tcomms() - if(node && node.on && node.allow_external_communicators && !is_jammed(src)) - return 1 + if(node && node.on && node.allow_external_communicators) + return can_telecomm(src,node) return 0 // Proc: process() @@ -268,12 +268,12 @@ var/global/list/obj/item/device/communicator/all_communicators = list() // Proc: register_device() // Parameters: 1 (user - the person to use their name for) // Description: Updates the owner's name and the device's name. -/obj/item/device/communicator/proc/register_device(mob/user) - if(!user) +/obj/item/device/communicator/proc/register_device(new_name) + if(!new_name) return - owner = user.name + owner = new_name - name = "[owner]'s [initial(name)]" + name = "[new_name]'s [initial(name)]" if(camera) camera.name = name camera.c_tag = name @@ -287,17 +287,20 @@ var/global/list/obj/item/device/communicator/all_communicators = list() to_chat(voice, "\icon[src] Connection timed out with remote host.") qdel(voice) close_connection(reason = "Connection timed out") + + //Clean up all references we might have to others communicating.Cut() voice_requests.Cut() voice_invites.Cut() + node = null + + //Clean up references that might point at us all_communicators -= src processing_objects -= src listening_objects.Remove(src) - qdel(camera) - camera = null - if(exonet) - exonet.remove_address() - exonet = null + qdel_null(camera) + qdel_null(exonet) + return ..() // Proc: update_icon() diff --git a/code/game/objects/items/devices/communicator/messaging.dm b/code/game/objects/items/devices/communicator/messaging.dm index 3419985a710..d600f96a0f9 100644 --- a/code/game/objects/items/devices/communicator/messaging.dm +++ b/code/game/objects/items/devices/communicator/messaging.dm @@ -136,7 +136,7 @@ to_chat(src, "You have sent '[text_message]' to [chosen_communicator].") exonet_messages.Add("To [chosen_communicator]:
[text_message]") - log_pda("[usr] (COMM: [src]) sent \"[text_message]\" to [chosen_communicator]") + log_pda("(DCOMM: [src]) sent \"[text_message]\" to [chosen_communicator]", src) for(var/mob/M in player_list) if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears)) if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat) diff --git a/code/game/objects/items/devices/communicator/phone.dm b/code/game/objects/items/devices/communicator/phone.dm index d120bac21a9..8c93b6187d6 100644 --- a/code/game/objects/items/devices/communicator/phone.dm +++ b/code/game/objects/items/devices/communicator/phone.dm @@ -42,7 +42,7 @@ comm.visible_message("\icon[src] Connecting to [src].") to_chat(user, "\icon[src] Attempting to call [comm].") sleep(10) - to_chat(user, "\icon[src] Dialing internally from [station_name()], Kara Subsystem, [system_name()].") + to_chat(user, "\icon[src] Dialing internally from [station_name()], [system_name()].") sleep(20) //If they don't have an exonet something is very wrong and we want a runtime. to_chat(user, "\icon[src] Connection re-routed to [comm] at [comm.exonet.address].") sleep(40) diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm index 847ce58560a..af9d697d63c 100644 --- a/code/game/objects/items/devices/defib.dm +++ b/code/game/objects/items/devices/defib.dm @@ -44,7 +44,7 @@ if(paddles && paddles.loc == src) //in case paddles got destroyed somehow. new_overlays += "[initial(icon_state)]-paddles" - if(bcell) + if(bcell && paddles) if(bcell.check_charge(paddles.chargecost)) if(paddles.combat) new_overlays += "[initial(icon_state)]-combat" @@ -475,7 +475,7 @@ if(burn_damage > 15 && H.can_feel_pain()) H.emote("scream") - admin_attack_log(user, H, "Electrocuted using \a [src]", "Was electrocuted with \a [src]", "used \a [src] to electrocute") + add_attack_logs(user,H,"Shocked using [name]") /obj/item/weapon/shockpaddles/proc/make_alive(mob/living/carbon/human/M) //This revives the mob var/deadtime = world.time - M.timeofdeath @@ -487,7 +487,6 @@ M.timeofdeath = 0 M.stat = UNCONSCIOUS //Life() can bring them back to consciousness if it needs to. - M.regenerate_icons() M.failed_last_breath = 0 //So mobs that died of oxyloss don't revive and have perpetual out of breath. M.reload_fullscreen() diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 60279761348..ac62201fc5b 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -59,9 +59,7 @@ /obj/item/device/flash/attack(mob/living/M, mob/living/user, var/target_zone) if(!user || !M) return //sanity - M.attack_log += text("\[[time_stamp()]\] Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to flash [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) Used the [src.name] to flash [M.name] ([M.ckey]) (JMP)") + add_attack_logs(user,M,"Flashed (attempt) with [src]") user.setClickCooldown(user.get_attack_speed(src)) user.do_attack_animation(M) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 151b762d7cf..6d512981ae0 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -18,7 +18,7 @@ var/power_use = 1 /obj/item/device/flashlight/initialize() - ..() + . = ..() update_icon() /obj/item/device/flashlight/New() diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 4ae0ebc4b0c..78f385a8aa5 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -18,6 +18,7 @@ var/list/GPS_list = list() var/can_hide_signal = FALSE // If it can toggle the above var. /obj/item/device/gps/initialize() + . = ..() GPS_list += src name = "global positioning system ([gps_tag])" update_icon() @@ -79,7 +80,7 @@ var/list/GPS_list = list() var/turf/curr = get_turf(src) var/area/my_area = get_area(src) - dat += "Current location: [my_area.name] ([curr.x], [curr.y], [curr.z])" + dat += "Current location: [my_area.name] ([curr.x], [curr.y], [using_map.get_zlevel_name(curr.z)])" dat += "[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'. \[Change Tag\] \ \[Toggle Scan Range\] \ [can_hide_signal ? "\[Toggle Signal Visibility\]":""]" @@ -102,16 +103,17 @@ var/list/GPS_list = list() var/area_name = their_area.name if(istype(their_area, /area/submap)) area_name = "Unknown Area" // Avoid spoilers. - var/coord = "[T.x], [T.y], [T.z]" - var/degrees = round(Get_Angle(curr, T)) - var/direction = uppertext(dir2text(get_dir(curr, T))) + var/Z_name = using_map.get_zlevel_name(T.z) + var/direction = get_adir(curr, T) + var/distX = T.x - curr.x + var/distY = T.y - curr.y var/distance = get_dist(curr, T) var/local = curr.z == T.z ? TRUE : FALSE - if(!direction) - direction = "CENTER" - degrees = "N/A" - signals += " [G.gps_tag]: [area_name] ([coord]) [local ? "Dist: [distance]m Dir: [degrees]° ([direction])":""]" + if(istype(gps, /obj/item/device/gps/internal/poi)) + signals += " [G.gps_tag]: [area_name] - [local ? "[direction] Dist: [round(distance, 10)]m" : "in \the [Z_name]"]" + else + signals += " [G.gps_tag]: [area_name], ([T.x], [T.y]) - [local ? "[direction] Dist: [distX ? "[abs(round(distX, 1))]m [(distX > 0) ? "E" : "W"], " : ""][distY ? "[abs(round(distY, 1))]m [(distY > 0) ? "N" : "S"]" : ""]" : "in \the [Z_name]"]" if(signals.len) dat += "Detected signals;" @@ -178,15 +180,6 @@ var/list/GPS_list = list() /obj/item/device/gps/explorer/on tracking = TRUE -/obj/item/device/gps/syndie - icon_state = "gps-syndie" - gps_tag = "NULL" - desc = "A positioning system that has extended range and can detect other GPS device signals without revealing its own. How that works is best left a mystery. Alt+click to toggle power." - origin_tech = list(TECH_MATERIAL = 2, TECH_BLUESPACE = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2) - long_range = TRUE - hide_signal = TRUE - can_hide_signal = TRUE - /obj/item/device/gps/robot icon_state = "gps-b" gps_tag = "SYNTH0" @@ -206,6 +199,69 @@ var/list/GPS_list = list() gps_tag = "NT_BASE" desc = "A homing signal from NanoTrasen's outpost." -/obj/item/device/gps/internal/alien_vessel - gps_tag = "Mysterious Signal" - desc = "A signal that seems forboding." \ No newline at end of file +/obj/item/device/gps/internal/poi + gps_tag = "Unidentified Signal" + desc = "A signal that seems forboding." + +/obj/item/device/gps/syndie + icon_state = "gps-syndie" + gps_tag = "NULL" + desc = "A positioning system that has extended range and can detect other GPS device signals without revealing its own. How that works is best left a mystery. Alt+click to toggle power." + origin_tech = list(TECH_MATERIAL = 2, TECH_BLUESPACE = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2) + long_range = TRUE + hide_signal = TRUE + can_hide_signal = TRUE + +/obj/item/device/gps/syndie/display(mob/user) + if(!tracking) + to_chat(user, "The device is off. Alt-click it to turn it on.") + return + if(emped) + to_chat(user, "It's busted!") + return + + var/list/dat = list() + + var/turf/curr = get_turf(src) + var/area/my_area = get_area(src) + dat += "Current location: [my_area.name] ([curr.x], [curr.y], [using_map.get_zlevel_name(curr.z)])" + dat += "[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'. \[Change Tag\] \ + \[Toggle Scan Range\] \ + [can_hide_signal ? "\[Toggle Signal Visibility\]":""]" + + var/list/signals = list() + + for(var/gps in GPS_list) + var/obj/item/device/gps/G = gps + if(G.emped || !G.tracking || G.hide_signal || G == src) // Their GPS isn't on or functional. + continue + var/turf/T = get_turf(G) + var/z_level_detection = using_map.get_map_levels(curr.z, long_range) + + if(local_mode && T.z != curr.z) // Only care about the current z-level. + continue + else if(!(T.z in z_level_detection)) // Too far away. + continue + + var/area/their_area = get_area(G) + var/area_name = their_area.name + if(istype(their_area, /area/submap)) + area_name = "Unknown Area" // Avoid spoilers. + var/Z_name = using_map.get_zlevel_name(T.z) + var/coord = "[T.x], [T.y], [Z_name]" + var/degrees = round(Get_Angle(curr, T)) + var/direction = get_adir(curr, T) + var/distance = get_dist(curr, T) + var/local = curr.z == T.z ? TRUE : FALSE + + signals += " [G.gps_tag]: [area_name] ([coord]) [local ? "Dist: [distance]m Dir: [degrees]° ([direction])":""]" + + if(signals.len) + dat += "Detected signals;" + for(var/line in signals) + dat += line + else + dat += "No other signals detected." + + var/result = dat.Join("
") + to_chat(user, result) diff --git a/code/game/objects/items/devices/modkit.dm b/code/game/objects/items/devices/modkit.dm index ca7ace1a59c..6ff95fe17d6 100644 --- a/code/game/objects/items/devices/modkit.dm +++ b/code/game/objects/items/devices/modkit.dm @@ -7,7 +7,7 @@ desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user." icon_state = "modkit" var/parts = MODKIT_FULL - var/target_species = "Human" + var/target_species = SPECIES_HUMAN var/list/permitted_types = list( /obj/item/clothing/head/helmet/space/void, @@ -69,4 +69,4 @@ /obj/item/device/modkit/tajaran name = "tajaran hardsuit modification kit" desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajaran." - target_species = "Tajara" + target_species = SPECIES_TAJ diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index ba5d338a0da..105eb3aa8fc 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -3,11 +3,12 @@ desc = "An updated, modular intercom that fits over the head. Takes encryption keys" var/radio_desc = "" icon_state = "headset" + item_state = null //To remove the radio's state matter = list(DEFAULT_WALL_MATERIAL = 75) subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away slot_flags = SLOT_EARS - sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/ears.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ears.dmi') var/translate_binary = 0 var/translate_hive = 0 @@ -63,6 +64,17 @@ return ..(freq, level) return -1 +/obj/item/device/radio/headset/get_worn_icon_state(var/slot_name) + var/append = "" + if(icon_override) + switch(slot_name) + if(slot_l_ear_str) + append = "_l" + if(slot_r_ear_str) + append = "_r" + + return "[..()][append]" + /obj/item/device/radio/headset/syndicate origin_tech = list(TECH_ILLEGAL = 3) syndie = 1 @@ -81,7 +93,7 @@ ks1type = /obj/item/device/encryptionkey/raider /obj/item/device/radio/headset/raider/initialize() - ..() + . = ..() set_frequency(RAID_FREQ) /obj/item/device/radio/headset/binary @@ -92,77 +104,66 @@ name = "security radio headset" desc = "This is used by your elite security force." icon_state = "sec_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_sec /obj/item/device/radio/headset/headset_sec/alt name = "security bowman headset" desc = "This is used by your elite security force." icon_state = "sec_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_sec /obj/item/device/radio/headset/headset_eng name = "engineering radio headset" desc = "When the engineers wish to chat like girls." icon_state = "eng_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_eng /obj/item/device/radio/headset/headset_eng/alt name = "engineering bowman headset" desc = "When the engineers wish to chat like girls." icon_state = "eng_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_eng /obj/item/device/radio/headset/headset_rob name = "robotics radio headset" desc = "Made specifically for the roboticists who cannot decide between departments." icon_state = "rob_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_rob /obj/item/device/radio/headset/headset_med name = "medical radio headset" desc = "A headset for the trained staff of the medbay." icon_state = "med_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_med /obj/item/device/radio/headset/headset_med/alt name = "medical bowman headset" desc = "A headset for the trained staff of the medbay." icon_state = "med_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_med /obj/item/device/radio/headset/headset_sci name = "science radio headset" desc = "A sciency headset. Like usual." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_sci /obj/item/device/radio/headset/headset_medsci name = "medical research radio headset" desc = "A headset that is a result of the mating between medical and science." icon_state = "med_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_medsci /obj/item/device/radio/headset/headset_com name = "command radio headset" desc = "A headset with a commanding channel." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_com /obj/item/device/radio/headset/headset_com/alt name = "command bowman headset" desc = "A headset with a commanding channel." icon_state = "com_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_com @@ -170,14 +171,18 @@ name = "colony director's headset" desc = "The headset of the boss." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/captain /obj/item/device/radio/headset/heads/captain/alt name = "colony director's bowman headset" desc = "The headset of the boss." icon_state = "com_headset_alt" - item_state = "headset" + ks2type = /obj/item/device/encryptionkey/heads/captain + +/obj/item/device/radio/headset/heads/captain/sfr + name = "SFR headset" + desc = "A headset belonging to a Sif Free Radio DJ. SFR, best tunes in the wilderness." + icon_state = "com_headset_alt" ks2type = /obj/item/device/encryptionkey/heads/captain /obj/item/device/radio/headset/heads/ai_integrated //No need to care about icons, it should be hidden inside the AI anyway. @@ -199,105 +204,91 @@ name = "research director's headset" desc = "Headset of the researching God." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/rd /obj/item/device/radio/headset/heads/rd/alt name = "research director's bowman headset" desc = "Headset of the researching God." icon_state = "com_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/rd /obj/item/device/radio/headset/heads/hos name = "head of security's headset" desc = "The headset of the man who protects your worthless lifes." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/hos /obj/item/device/radio/headset/heads/hos/alt name = "head of security's bowman headset" desc = "The headset of the man who protects your worthless lifes." icon_state = "com_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/hos /obj/item/device/radio/headset/heads/ce name = "chief engineer's headset" desc = "The headset of the guy who is in charge of morons" icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/ce /obj/item/device/radio/headset/heads/ce/alt name = "chief engineer's bowman headset" desc = "The headset of the guy who is in charge of morons" icon_state = "com_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/ce /obj/item/device/radio/headset/heads/cmo name = "chief medical officer's headset" desc = "The headset of the highly trained medical chief." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/cmo /obj/item/device/radio/headset/heads/cmo/alt name = "chief medical officer's bowman headset" desc = "The headset of the highly trained medical chief." icon_state = "com_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/cmo /obj/item/device/radio/headset/heads/hop name = "head of personnel's headset" desc = "The headset of the guy who will one day be Colony Director." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/hop /obj/item/device/radio/headset/heads/hop/alt name = "head of personnel's bowman headset" desc = "The headset of the guy who will one day be Colony Director." icon_state = "com_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/hop -/* + /obj/item/device/radio/headset/headset_mine name = "mining radio headset" - desc = "Headset used by miners. How useless. To access the mining channel, use :d." + desc = "Headset used by miners. Has inbuilt short-band radio for when comms are down." icon_state = "mine_headset" - item_state = "headset" - keyslot2 = new /obj/item/device/encryptionkey/headset_mine -*/ + adhoc_fallback = TRUE + ks2type = /obj/item/device/encryptionkey/headset_cargo + /obj/item/device/radio/headset/headset_cargo name = "supply radio headset" desc = "A headset used by the QM and his slaves." icon_state = "cargo_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_cargo /obj/item/device/radio/headset/headset_cargo/alt name = "supply bowman headset" desc = "A bowman headset used by the QM and his slaves." icon_state = "cargo_headset_alt" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_cargo /obj/item/device/radio/headset/headset_service name = "service radio headset" desc = "Headset used by the service staff, tasked with keeping the station full, happy and clean." icon_state = "srv_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/headset_service /obj/item/device/radio/headset/ert name = "emergency response team radio headset" desc = "The headset of the boss's boss." icon_state = "com_headset" - item_state = "headset" centComm = 1 // freerange = 1 ks2type = /obj/item/device/encryptionkey/ert @@ -306,7 +297,6 @@ name = "emergency response team bowman headset" desc = "The headset of the boss's boss." icon_state = "com_headset_alt" - item_state = "headset" // freerange = 1 ks2type = /obj/item/device/encryptionkey/ert @@ -317,7 +307,6 @@ name = "internal affair's headset" desc = "The headset of your worst enemy." icon_state = "com_headset" - item_state = "headset" ks2type = /obj/item/device/encryptionkey/heads/hos /obj/item/device/radio/headset/mmi_radio diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 9aa65bb54e1..81e32270221 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -49,6 +49,12 @@ name = "entertainment intercom" frequency = ENT_FREQ +/obj/item/device/radio/intercom/omni + name = "global announcer" +/obj/item/device/radio/intercom/omni/initialize() + channels = radiochannels.Copy() + return ..() + /obj/item/device/radio/intercom/New() ..() processing_objects += src diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 842fb09816a..f5f85fe8f5b 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -39,6 +39,7 @@ var/global/list/default_medbay_channels = list( var/listening = 1 var/list/channels = list() //see communications.dm for full list. First channel is a "default" for :h var/subspace_transmission = 0 + var/adhoc_fallback = FALSE //Falls back to 'radio' mode if subspace not available var/syndie = 0//Holder to see if it's a syndicate encrypted radio var/centComm = 0//Holder to see if it's a CentCom encrypted radio flags = CONDUCT @@ -52,14 +53,13 @@ var/global/list/default_medbay_channels = list( var/const/FREQ_LISTENING = 1 var/list/internal_channels -/obj/item/device/radio var/datum/radio_frequency/radio_connection var/list/datum/radio_frequency/secure_radio_connections = new - proc/set_frequency(new_frequency) - radio_controller.remove_object(src, frequency) - frequency = new_frequency - radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) +/obj/item/device/radio/proc/set_frequency(new_frequency) + radio_controller.remove_object(src, frequency) + frequency = new_frequency + radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) /obj/item/device/radio/New() ..() @@ -79,7 +79,7 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/initialize() - + . = ..() if(frequency < RADIO_LOW_FREQ || frequency > RADIO_HIGH_FREQ) frequency = sanitize_frequency(frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ) set_frequency(frequency) @@ -414,9 +414,15 @@ var/global/list/default_medbay_channels = list( for(var/obj/machinery/telecomms/allinone/R in telecomms_list) R.receive_signal(signal) - // Receiving code can be located in Telecommunications.dm - return signal.data["done"] && position.z in signal.data["level"] + if(signal.data["done"] && position.z in signal.data["level"]) + return TRUE //Huzzah, sent via subspace + else if(adhoc_fallback) //Less huzzah, we have to fallback + to_chat(loc,"\The [src] pings as it falls back to local radio transmission.") + subspace_transmission = FALSE + return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), + src, message, displayname, jobname, real_name, M.voice_name, + signal.transmission_method, signal.data["compression"], list(position.z), connection.frequency,verb,speaking) /* ###### Intercoms and station-bounced radios ###### */ @@ -463,10 +469,10 @@ var/global/list/default_medbay_channels = list( for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) - - sleep(rand(10,25)) // wait a little... - if(signal.data["done"] && position.z in signal.data["level"]) + if(adhoc_fallback) + to_chat(loc,"\The [src] pings as it reestablishes subspace communications.") + subspace_transmission = TRUE // we're done here. return 1 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 4187cfc422f..feed24510bb 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -3,9 +3,10 @@ CONTAINS: T-RAY DETECTIVE SCANNER HEALTH ANALYZER -GAS ANALYZER +GAS ANALYZER - Analyzes atmosphere, container MASS SPECTROMETER REAGENT SCANNER +HALOGEN COUNTER - Radcount on mobs */ @@ -41,29 +42,30 @@ REAGENT SCANNER scan_mob(M, user) /obj/item/device/healthanalyzer/proc/scan_mob(mob/living/M, mob/living/user) + var/dat = "" if ((CLUMSY in user.mutations) && prob(50)) - user << text("You try to analyze the floor's vitals!") - for(var/mob/O in viewers(M, null)) - O.show_message("\The [user] has analyzed the floor's vitals!", 1) - user.show_message("Analyzing Results for The floor:", 1) - user.show_message("Overall Status: Healthy", 1) - user.show_message(" Damage Specifics: 0-0-0-0", 1) - user.show_message("Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message("Body Temperature: ???", 1) + user.visible_message("\The [user] has analyzed the floor's vitals!", "You try to analyze the floor's vitals!") + dat += "Analyzing Results for the floor:
" + dat += "Overall Status: Healthy
" + dat += "\tDamage Specifics: 0-0-0-0
" + dat += "Key: Suffocation/Toxin/Burns/Brute
" + dat += "Body Temperature: ???" + user.show_message("[dat]", 1) return - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "You don't have the dexterity to do this!" + if (!(ishuman(user) || ticker) && ticker.mode.name != "monkey") + to_chat(user, "You don't have the dexterity to do this!") return user.visible_message("[user] has analyzed [M]'s vitals.","You have analyzed [M]'s vitals.") - if (!istype(M,/mob/living/carbon/human) || M.isSynthetic()) + if (!ishuman(M) || M.isSynthetic()) //these sensors are designed for organic life - user.show_message("Analyzing Results for ERROR:\n\t Overall Status: ERROR") - user.show_message(" Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message(" Damage Specifics: ? - ? - ? - ?") - user.show_message("Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) - user.show_message("Warning: Blood Level ERROR: --% --cl. Type: ERROR") - user.show_message("Subject's pulse: -- bpm.") + dat += "Analyzing Results for ERROR:\n\tOverall Status: ERROR
" + dat += "\tKey: Suffocation/Toxin/Burns/Brute
" + dat += "\tDamage Specifics: ? - ? - ? - ?
" + dat += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)

" + dat += "Warning: Blood Level ERROR: --% --cl. Type: ERROR
" + dat += "Subject's pulse: -- bpm." + user.show_message(dat, 1) return var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss()))) @@ -73,52 +75,52 @@ REAGENT SCANNER var/BR = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() if(M.status_flags & FAKEDEATH) OX = fake_oxy > 50 ? "[fake_oxy]" : fake_oxy - user.show_message("Analyzing Results for [M]:") - user.show_message("Overall Status: dead") + dat += "Analyzing Results for [M]:
" + dat += "Overall Status: dead
" else - user.show_message("Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]") - user.show_message(" Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message(" Damage Specifics: [OX] - [TX] - [BU] - [BR]") - user.show_message("Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + dat += "Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]
" + dat += "\tKey: Suffocation/Toxin/Burns/Brute
" + dat += "\tDamage Specifics: [OX] - [TX] - [BU] - [BR]
" + dat += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)

" if(M.tod && (M.stat == DEAD || (M.status_flags & FAKEDEATH))) - user.show_message("Time of Death: [M.tod]") + dat += "Time of Death: [M.tod]
" if(istype(M, /mob/living/carbon/human) && mode == 1) var/mob/living/carbon/human/H = M var/list/damaged = H.get_damaged_organs(1,1) - user.show_message("Localized Damage, Brute/Burn:",1) + dat += "Localized Damage, Brute/Burn:
" if(length(damaged)>0) for(var/obj/item/organ/external/org in damaged) if(org.robotic >= ORGAN_ROBOT) continue else - user.show_message(text(" []: [][] - []", - capitalize(org.name), - (org.brute_dam > 0) ? "[org.brute_dam]" : 0, - (org.status & ORGAN_BLEEDING)?"\[Bleeding\]":"", - (org.burn_dam > 0) ? "[org.burn_dam]" : 0),1) + dat += " [capitalize(org.name)]: [(org.brute_dam > 0) ? "[org.brute_dam]" : 0]" + dat += "[(org.status & ORGAN_BLEEDING)?"\[Bleeding\]":""] - " + dat += "[(org.burn_dam > 0) ? "[org.burn_dam]" : 0]
" else - user.show_message(" Limbs are OK.",1) + dat += " Limbs are OK.
" - OX = M.getOxyLoss() > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" - TX = M.getToxLoss() > 50 ? "Dangerous amount of toxins detected" : "Subject bloodstream toxin level minimal" - BU = M.getFireLoss() > 50 ? "Severe burn damage detected" : "Subject burn injury status O.K" + OX = M.getOxyLoss() > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" + TX = M.getToxLoss() > 50 ? "Dangerous amount of toxins detected" : "Subject bloodstream toxin level minimal" + BU = M.getFireLoss() > 50 ? "Severe burn damage detected" : "Subject burn injury status O.K" BR = M.getBruteLoss() > 50 ? "Severe anatomical damage detected" : "Subject brute-force injury status O.K" if(M.status_flags & FAKEDEATH) OX = fake_oxy > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" - user.show_message("[OX] | [TX] | [BU] | [BR]") + dat += "[OX] | [TX] | [BU] | [BR]
" if(M.radiation) if(advscan >= 2 && showadvscan == 1) + var/severity = "" if(M.radiation >= 75) - user.show_message("Critical levels of radiation detected. Immediate treatment advised.") + severity = "Critical" else if(M.radiation >= 50) - user.show_message("Severe levels of radiation detected.") + severity = "Severe" else if(M.radiation >= 25) - user.show_message("Moderate levels of radiation detected.") + severity = "Moderate" else if(M.radiation >= 1) - user.show_message("Low levels of radiation detected.") + severity = "Low" + dat += "[severity] levels of radiation detected. [(severity == "Critical") ? " Immediate treatment advised." : ""]
" else - user.show_message("Radiation detected.") - if(istype(M, /mob/living/carbon)) + dat += "Radiation detected.
" + if(iscarbon(M)) var/mob/living/carbon/C = M if(C.reagents.total_volume) var/unknown = 0 @@ -127,21 +129,21 @@ REAGENT SCANNER for(var/A in C.reagents.reagent_list) var/datum/reagent/R = A if(R.scannable) - reagentdata["[R.id]"] = " [round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name]" + reagentdata["[R.id]"] = "\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name]
" else unknown++ - unknownreagents["[R.id]"] = " [round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name]" + unknownreagents["[R.id]"] = "\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name]
" if(reagentdata.len) - user.show_message("Beneficial reagents detected in subject's blood:") + dat += "Beneficial reagents detected in subject's blood:
" for(var/d in reagentdata) - user.show_message(reagentdata[d]) + dat += reagentdata[d] if(unknown) if(advscan >= 3 && showadvscan == 1) - user.show_message("Warning: Non-medical reagent[(unknown>1)?"s":""] detected in subject's blood:") + dat += "Warning: Non-medical reagent[(unknown>1)?"s":""] detected in subject's blood:
" for(var/d in unknownreagents) - user.show_message(unknownreagents[d]) + dat += unknownreagents[d] else - user.show_message("Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.") + dat += "Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.
" if(C.ingested && C.ingested.total_volume) var/unknown = 0 var/stomachreagentdata[0] @@ -149,100 +151,104 @@ REAGENT SCANNER for(var/B in C.ingested.reagent_list) var/datum/reagent/T = B if(T.scannable) - stomachreagentdata["[T.id]"] = " [round(C.ingested.get_reagent_amount(T.id), 1)]u [T.name]" + stomachreagentdata["[T.id]"] = "\t[round(C.ingested.get_reagent_amount(T.id), 1)]u [T.name]
" if (advscan == 0 || showadvscan == 0) - user.show_message("[T.name] found in subject's stomach.") + dat += "[T.name] found in subject's stomach.
" else ++unknown - stomachunknownreagents["[T.id]"] = " [round(C.ingested.get_reagent_amount(T.id), 1)]u [T.name]" + stomachunknownreagents["[T.id]"] = "\t[round(C.ingested.get_reagent_amount(T.id), 1)]u [T.name]
" if(advscan >= 1 && showadvscan == 1) - user.show_message("Beneficial reagents detected in subject's stomach:") + dat += "Beneficial reagents detected in subject's stomach:
" for(var/d in stomachreagentdata) - user.show_message(stomachreagentdata[d]) + dat += stomachreagentdata[d] if(unknown) if(advscan >= 3 && showadvscan == 1) - user.show_message("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's stomach:") + dat += "Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's stomach:
" for(var/d in stomachunknownreagents) - user.show_message(stomachunknownreagents[d]) + dat += stomachunknownreagents[d] else - user.show_message("Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.") + dat += "Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.
" if(C.virus2.len) for (var/ID in C.virus2) if (ID in virusDB) var/datum/data/record/V = virusDB[ID] - user.show_message("Warning: Pathogen [V.fields["name"]] detected in subject's blood. Known antigen : [V.fields["antigen"]]") + dat += "Warning: Pathogen [V.fields["name"]] detected in subject's blood. Known antigen : [V.fields["antigen"]]
" else - user.show_message("Warning: Unknown pathogen detected in subject's blood.") + dat += "Warning: Unknown pathogen detected in subject's blood.
" if (M.getCloneLoss()) - user.show_message("Subject appears to have been imperfectly cloned.") + dat += "Subject appears to have been imperfectly cloned.
" // if (M.reagents && M.reagents.get_reagent_amount("inaprovaline")) // user.show_message("Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals.") if (M.has_brain_worms()) - user.show_message("Subject suffering from aberrant brain activity. Recommend further scanning.") + dat += "Subject suffering from aberrant brain activity. Recommend further scanning.
" else if (M.getBrainLoss() >= 60 || !M.has_brain()) - user.show_message("Subject is brain dead.") + dat += "Subject is brain dead.
" else if (M.getBrainLoss() >= 25) - user.show_message("Severe brain damage detected. Subject likely to have a traumatic brain injury.") + dat += "Severe brain damage detected. Subject likely to have a traumatic brain injury.
" else if (M.getBrainLoss() >= 10) - user.show_message("Significant brain damage detected. Subject may have had a concussion.") + dat += "Significant brain damage detected. Subject may have had a concussion.
" else if (M.getBrainLoss() >= 1 && advscan >= 2 && showadvscan == 1) - user.show_message("Minor brain damage detected.") + dat += "Minor brain damage detected.
" if(ishuman(M)) var/mob/living/carbon/human/H = M - for(var/name_i in H.internal_organs_by_name) - var/obj/item/organ/internal/i = H.internal_organs_by_name[name_i] - if(istype(i, /obj/item/organ/internal/appendix)) - var/obj/item/organ/internal/appendix/a = H.internal_organs_by_name[name_i] - if(a.inflamed > 3) - user.show_message(text("Severe inflammation detected in subject [a.name]."), 1) - else if(a.inflamed > 2) - user.show_message(text("Moderate inflammation detected in subject [a.name]."), 1) - else if(a.inflamed >= 1) - user.show_message(text("Mild inflammation detected in subject [a.name]."), 1) - - - for(var/name in H.organs_by_name) - var/obj/item/organ/external/e = H.organs_by_name[name] - if(!e) - continue - var/limb = e.name - if(e.status & ORGAN_BROKEN) - if(((e.name == "l_arm") || (e.name == "r_arm") || (e.name == "l_leg") || (e.name == "r_leg")) && (!e.splinted)) - to_chat(user, "Unsecured fracture in subject [limb]. Splinting recommended for transport.") - if(e.has_infected_wound()) - to_chat(user, "Infected wound detected in subject [limb]. Disinfection recommended.") - - for(var/name in H.organs_by_name) - var/obj/item/organ/external/e = H.organs_by_name[name] - if(e && e.status & ORGAN_BROKEN) - if(advscan >= 1 && showadvscan == 1) - user.show_message(text("Bone fractures detected in subject [e.name]."), 1) - else - user.show_message(text("Bone fractures detected. Advanced scanner required for location."), 1) - break + for(var/obj/item/organ/internal/appendix/a in H.internal_organs) + var/severity = "" + if(a.inflamed > 3) + severity = "Severe" + else if(a.inflamed > 2) + severity = "Moderate" + else if(a.inflamed >= 1) + severity = "Mild" + if(severity) + dat += "[severity] inflammation detected in subject [a.name].
" + // Infections, fractures, and IB + var/basic_fracture = 0 // If it's a basic scanner + var/basic_ib = 0 // If it's a basic scanner + var/fracture_dat = "" // All the fractures + var/infection_dat = "" // All the infections + var/ib_dat = "" // All the IB for(var/obj/item/organ/external/e in H.organs) if(!e) continue - for(var/datum/wound/W in e.wounds) if(W.internal) - if(advscan >= 1 && showadvscan == 1) - user.show_message(text("Internal bleeding detected in subject [e.name]."), 1) + // Broken limbs + if(e.status & ORGAN_BROKEN) + if((e.name in list("l_arm", "r_arm", "l_leg", "r_leg")) && (!e.splinted)) + fracture_dat += "Unsecured fracture in subject [e.name]. Splinting recommended for transport.
" + else if(advscan >= 1 && showadvscan == 1) + fracture_dat += "Bone fractures detected in subject [e.name].
" else - user.show_message(text("Internal bleeding detected. Advanced scanner required for location."), 1) - break - break + basic_fracture = 1 + // Infections + if(e.has_infected_wound()) + dat += "Infected wound detected in subject [e.name]. Disinfection recommended.
" + // IB + for(var/datum/wound/W in e.wounds) + if(W.internal) + if(advscan >= 1 && showadvscan == 1) + ib_dat += "Internal bleeding detected in subject [e.name].
" + else + basic_ib = 1 + if(basic_fracture) + fracture_dat += "Bone fractures detected. Advanced scanner required for location.
" + if(basic_ib) + ib_dat += "Internal bleeding detected. Advanced scanner required for location.
" + dat += fracture_dat + dat += infection_dat + dat += ib_dat + // Blood level if(M:vessel) var/blood_volume = H.vessel.get_reagent_amount("blood") var/blood_percent = round((blood_volume / H.species.blood_volume)*100) var/blood_type = H.dna.b_type - if((blood_percent <= BLOOD_VOLUME_SAFE) && (blood_percent > BLOOD_VOLUME_BAD)) - user.show_message("Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]") - else if(blood_percent <= BLOOD_VOLUME_BAD) - user.show_message("Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]") + if(blood_percent <= BLOOD_VOLUME_BAD) + dat += "Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]
" + else if(blood_percent <= BLOOD_VOLUME_SAFE) + dat += "Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]
" else - user.show_message("Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]") - user.show_message("Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm.") - + dat += "Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]
" + dat += "Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm." + user.show_message(dat, 1) /obj/item/device/healthanalyzer/verb/toggle_mode() set name = "Switch Verbosity" @@ -267,21 +273,25 @@ REAGENT SCANNER to_chat(usr, "The scanner will now perform a basic analysis.") /obj/item/device/healthanalyzer/improved //reports bone fractures, IB, quantity of beneficial reagents in stomach; also regular health analyzer stuff - name = "advanced health analyzer" + name = "improved health analyzer" desc = "A miracle of medical technology, this handheld scanner can produce an accurate and specific report of a patient's biosigns." advscan = 1 origin_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) - icon_state = "advhealth" + icon_state = "health1" /obj/item/device/healthanalyzer/advanced //reports all of the above, as well as radiation severity and minor brain damage name = "advanced health analyzer" + desc = "An even more advanced handheld health scanner, complete with a full biosign monitor and on-board radiation and neurological analysis suites." advscan = 2 - icon_state = "advhealth" + origin_tech = list(TECH_MAGNET = 6, TECH_BIO = 7) + icon_state = "health2" -/obj/item/device/healthanalyzer/enhanced //reports all of the above, as well as name and quantity of nonmed reagents in stomach +/obj/item/device/healthanalyzer/phasic //reports all of the above, as well as name and quantity of nonmed reagents in stomach name = "phasic health analyzer" + desc = "Possibly the most advanced health analyzer to ever have existed, utilising bluespace technology to determine almost everything worth knowing about a patient." advscan = 3 - icon_state = "advhealth" + origin_tech = list(TECH_MAGNET = 7, TECH_BIO = 8) + icon_state = "health3" /obj/item/device/analyzer name = "analyzer" @@ -307,16 +317,21 @@ REAGENT SCANNER return atmosanalyzer_scan(src, air, user) /obj/item/device/analyzer/attack_self(mob/user as mob) - if (user.stat) return - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") + if (!(ishuman(user) || ticker) && ticker.mode.name != "monkey") to_chat(usr, "You don't have the dexterity to do this!") return analyze_gases(src, user) return +/obj/item/device/analyzer/afterattack(var/obj/O, var/mob/user, var/proximity) + if(proximity) + analyze_gases(O, user) + return + + /obj/item/device/mass_spectrometer name = "mass spectrometer" desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample." @@ -349,7 +364,7 @@ REAGENT SCANNER /obj/item/device/mass_spectrometer/attack_self(mob/user as mob) if (user.stat) return - if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") + if (!(ishuman(user) || ticker) && ticker.mode.name != "monkey") to_chat(user, "You don't have the dexterity to do this!") return if(reagents.total_volume) @@ -396,15 +411,11 @@ REAGENT SCANNER var/recent_fail = 0 /obj/item/device/reagent_scanner/afterattack(obj/O, mob/user as mob, proximity) - if(!proximity) - return - if (user.stat) + if(!proximity || user.stat || !istype(O)) return if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") to_chat(user, "You don't have the dexterity to do this!") return - if(!istype(O)) - return if(!isnull(O.reagents)) var/dat = "" @@ -415,9 +426,9 @@ REAGENT SCANNER if(dat) to_chat(user, "Chemicals found: [dat]") else - user << "No active chemical agents found in [O]." + to_chat(user, "No active chemical agents found in [O].") else - user << "No significant chemical agents found in [O]." + to_chat(user, "No significant chemical agents found in [O].") return @@ -441,24 +452,17 @@ REAGENT SCANNER /obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob) if(!isslime(M)) - user << "This device can only scan slimes!" + to_chat(user, "This device can only scan slimes!") return var/mob/living/simple_animal/slime/S = M - user.show_message("Slime scan results:") - user.show_message(text("[S.slime_color] [] slime", S.is_adult ? "adult" : "baby")) - - user.show_message("Health: [S.health]") - user.show_message("Mutation Probability: [S.mutation_chance]") + user.show_message("Slime scan results:
[S.slime_color] [S.is_adult ? "adult" : "baby"] slime
Health: [S.health]
Mutation Probability: [S.mutation_chance]") var/list/mutations = list() for(var/potential_color in S.slime_mutation) var/mob/living/simple_animal/slime/slime = potential_color mutations.Add(initial(slime.slime_color)) + user.show_message("Potental to mutate into [english_list(mutations)] colors.
Extract potential: [S.cores]
Nutrition: [S.nutrition]/[S.get_max_nutrition()]") - user.show_message("Potental to mutate into [english_list(mutations)] colors.") - user.show_message("Extract potential: [S.cores]") - - user.show_message(text("Nutrition: [S.nutrition]/[]", S.get_max_nutrition())) if (S.nutrition < S.get_starve_nutrition()) user.show_message("Warning: Subject is starving!") else if (S.nutrition < S.get_hunger_nutrition()) @@ -475,3 +479,25 @@ REAGENT SCANNER user.show_message("Subject is friendly to other slime colors.") user.show_message("Growth progress: [S.amount_grown]/10") + +/obj/item/device/halogen_counter + name = "halogen counter" + icon_state = "eftpos" + desc = "A hand-held halogen counter, used to detect the level of irradiation of living beings." + w_class = ITEMSIZE_SMALL + flags = CONDUCT + origin_tech = list(TECH_MAGNET = 1, TECH_BIO = 2) + throwforce = 0 + throw_speed = 3 + throw_range = 7 + +/obj/item/device/halogen_counter/attack(mob/living/M as mob, mob/living/user as mob) + if(!iscarbon(M)) + to_chat(user, "This device can only scan organic beings!") + return + user.visible_message("\The [user] has analyzed [M]'s radiation levels!", "Analyzing Results for [M]:") + if(M.radiation) + to_chat(user, "Radiation Level: [M.radiation]") + else + to_chat(user, "No radiation detected.") + return diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm index 159134f83ce..ce145fed9ec 100644 --- a/code/game/objects/items/devices/spy_bug.dm +++ b/code/game/objects/items/devices/spy_bug.dm @@ -16,11 +16,12 @@ // var/obj/item/device/radio/bug/radio var/obj/machinery/camera/bug/camera + var/camtype = /obj/machinery/camera/bug /obj/item/device/camerabug/New() ..() // radio = new(src) - camera = new(src) + camera = new camtype(src) /obj/item/device/camerabug/attack_self(mob/user) if(user.a_intent == I_HURT) @@ -40,7 +41,7 @@ linkedmonitor.unpair(src) linkedmonitor = null qdel(camera) - camera = new(src) + camera = new camtype(src) to_chat(usr, "You turn the [src] off and on again, delinking it from any monitors.") /obj/item/brokenbug @@ -83,6 +84,7 @@ w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1, TECH_ILLEGAL = 3) + camtype = /obj/machinery/camera/bug/spy /obj/item/device/camerabug/examine(mob/user) . = ..(user, 0) diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index a2d6ce33412..2040f22a990 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -46,9 +46,15 @@ var/mob/living/carbon/human/H = loc - var/efficiency = 1 - H.get_pressure_weakness() //you need to have a good seal for effective cooling - var/env_temp = get_environment_temperature() //wont save you from a fire - var/temp_adj = min(H.bodytemperature - max(thermostat, env_temp), max_cooling) + var/efficiency = 1 - H.get_pressure_weakness() // You need to have a good seal for effective cooling + var/temp_adj = 0 // How much the unit cools you. Adjusted later on. + var/env_temp = get_environment_temperature() // This won't save you from a fire + var/thermal_protection = H.get_heat_protection(env_temp) // ... unless you've got a good suit. + + if(thermal_protection < 0.99) //For some reason, < 1 returns false if the value is 1. + temp_adj = min(H.bodytemperature - max(thermostat, env_temp), max_cooling) + else + temp_adj = min(H.bodytemperature - thermostat, max_cooling) if (temp_adj < 0.5) //only cools, doesn't heat, also we don't need extreme precision return diff --git a/code/game/objects/items/devices/text_to_speech.dm b/code/game/objects/items/devices/text_to_speech.dm new file mode 100644 index 00000000000..bc0c9d53049 --- /dev/null +++ b/code/game/objects/items/devices/text_to_speech.dm @@ -0,0 +1,28 @@ +/obj/item/device/text_to_speech + name = "TTS device" + desc = "A device that speaks an inputted message. Given to crew which can not speak properly or at all." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "setup_small" + w_class = ITEMSIZE_SMALL + var/named + +/obj/item/device/text_to_speech/attack_self(mob/user as mob) + if(user.incapacitated(INCAPACITATION_ALL)) //Are you in a state to actual use the device? + to_chat(user, "You cannot activate the device in your state.") + return + + if(!named) + to_chat(user, "You input your name into the device.") + name = "[initial(name)] ([user.real_name])" + desc = "[initial(desc)] This one is assigned to [user.real_name]." + named = 1 + /* //Another way of naming the device. Gives more freedom, but could lead to issues. + device_name = copytext(sanitize(input(user, "What would you like to name your device? You must input a name before the device can be used.", "Name your device", "") as null|text),1,MAX_NAME_LEN) + name = "[initial(name)] - [device_name]" + named = 1 + */ + + var/message = sanitize(input(user,"Choose a message to relay to those around you.") as text|null) + if(message) + var/obj/item/device/text_to_speech/O = src + audible_message("\icon[O] \The [O.name] states, \"[message]\"") diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 126a4871c91..7820d0c4eae 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -35,9 +35,9 @@ effective or pretty fucking useless. user << "The mind batterer has been burnt out!" return - user.attack_log += text("\[[time_stamp()]\] Used [src] to knock down people in the area.") - + var/list/affected = list() for(var/mob/living/carbon/human/M in orange(10, user)) + affected += M spawn() if(prob(50)) @@ -49,6 +49,8 @@ effective or pretty fucking useless. else M << "You feel a sudden, electric jolt travel through your head." + add_attack_logs(user,affected,"Used a [name]") + playsound(src.loc, 'sound/misc/interference.ogg', 50, 1) user << "You trigger [src]." times_used += 1 diff --git a/code/game/objects/items/devices/translator.dm b/code/game/objects/items/devices/translator.dm index 5de1ba13961..fc6352de29c 100644 --- a/code/game/objects/items/devices/translator.dm +++ b/code/game/objects/items/devices/translator.dm @@ -4,7 +4,7 @@ desc = "This handy device appears to translate the languages it hears into onscreen text for a user." icon = 'icons/obj/device.dmi' icon_state = "translator" - w_class = ITEMSIZE_SMALL + w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) var/mult_icons = 1 //Changes sprite when it translates var/visual = 1 //If you need to see to get the message diff --git a/code/game/objects/items/devices/tvcamera.dm b/code/game/objects/items/devices/tvcamera.dm index b449a6ce3b6..be2b4c18e7f 100644 --- a/code/game/objects/items/devices/tvcamera.dm +++ b/code/game/objects/items/devices/tvcamera.dm @@ -27,7 +27,7 @@ to_chat(usr, "Audio feed is [radio.broadcasting ? "on" : "off"]") /obj/item/device/tvcamera/initialize() - ..() + . = ..() camera = new(src) camera.c_tag = channel camera.status = FALSE diff --git a/code/game/objects/items/paintkit.dm b/code/game/objects/items/paintkit.dm index 259a054c165..87b7566b60b 100644 --- a/code/game/objects/items/paintkit.dm +++ b/code/game/objects/items/paintkit.dm @@ -66,7 +66,7 @@ var/new_light_overlay /obj/item/device/kit/suit/can_customize(var/obj/item/I) - return istype(I, /obj/item/clothing/head/helmet/space/void) || istype(I, /obj/item/clothing/suit/space/void) || istype(I, /obj/item/clothing/suit/storage/hooded/explorer) + return istype(I, /obj/item/clothing/head/helmet/space/void) || istype(I, /obj/item/clothing/suit/space/void) || istype(I, /obj/item/clothing/suit/storage/hooded) /obj/item/device/kit/suit/set_info(var/kit_name, var/kit_desc, var/kit_icon, var/kit_icon_file = CUSTOM_ITEM_OBJ, var/kit_icon_override_file = CUSTOM_ITEM_MOB, var/additional_data) ..() @@ -109,9 +109,9 @@ suit.icon_override = new_icon_override_file S.icon_override = new_icon_override_file to_chat(user, "You set about modifying the suit into [suit].") - var/mob/living/carbon/human/H = user - if(istype(H)) - suit.species_restricted = list(H.species.get_bodytype(H)) +// var/mob/living/carbon/human/H = user +// if(istype(H)) +// suit.species_restricted = list(H.species.get_bodytype(H)) Does not quite make sense for something usually very pliable. else var/obj/item/clothing/suit/space/void/suit = I suit.name = "[new_name] voidsuit" diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 16e9daf9cc3..6c1afb2c834 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -54,6 +54,8 @@ /obj/item/borg/sight/material name = "\proper material scanner vision" sight_mode = BORGMATERIAL + icon_state = "material" + icon = 'icons/obj/clothing/glasses.dmi' /obj/item/borg/sight/hud name = "hud" diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 9a56cf94a7a..2fa9ea63c7f 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -106,13 +106,13 @@ if (M.use(1)) var/obj/item/weapon/secbot_assembly/ed209_assembly/B = new /obj/item/weapon/secbot_assembly/ed209_assembly B.loc = get_turf(src) - user << "You armed the robot frame." + to_chat(user, "You armed the robot frame.") if (user.get_inactive_hand()==src) user.remove_from_mob(src) user.put_in_inactive_hand(B) qdel(src) else - user << "You need one sheet of metal to arm the robot frame." + to_chat(user, "You need one sheet of metal to arm the robot frame.") if(istype(W, /obj/item/robot_parts/l_leg)) if(src.l_leg) return user.drop_item() @@ -149,9 +149,9 @@ src.chest = W src.updateicon() else if(!W:wires) - user << "You need to attach wires to it first!" + to_chat(user, "You need to attach wires to it first!") else - user << "You need to attach a cell to it first!" + to_chat(user, "You need to attach a cell to it first!") if(istype(W, /obj/item/robot_parts/head)) if(src.head) return @@ -161,16 +161,16 @@ src.head = W src.updateicon() else - user << "You need to attach a flash to it first!" + to_chat(user, "You need to attach a flash to it first!") if(istype(W, /obj/item/device/mmi)) var/obj/item/device/mmi/M = W if(check_completion()) if(!istype(loc,/turf)) - user << "You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise." + to_chat(user, "You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.") return if(!M.brainmob) - user << "Sticking an empty [W] into the frame would sort of defeat the purpose." + to_chat(user, "Sticking an empty [W] into the frame would sort of defeat the purpose.") return if(!M.brainmob.key) var/ghost_can_reenter = 0 @@ -181,15 +181,15 @@ to_chat(user, "\The [W] is completely unresponsive; though it may be able to auto-resuscitate.") //Jamming a ghosted brain into a borg is likely detrimental, and may result in some problems. return if(!ghost_can_reenter) - user << "\The [W] is completely unresponsive; there's no point." + to_chat(user, "\The [W] is completely unresponsive; there's no point.") return if(M.brainmob.stat == DEAD) - user << "Sticking a dead [W] into the frame would sort of defeat the purpose." + to_chat(user, "Sticking a dead [W] into the frame would sort of defeat the purpose.") return if(jobban_isbanned(M.brainmob, "Cyborg")) - user << "This [W] does not seem to fit." + to_chat(user, "This [W] does not seem to fit.") return var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1) @@ -228,7 +228,7 @@ qdel(src) else - user << "The MMI must go in after everything else!" + to_chat(user, "The MMI must go in after everything else!") if (istype(W, /obj/item/weapon/pen)) var/t = sanitizeSafe(input(user, "Enter new robot name", src.name, src.created_name), MAX_NAME_LEN) @@ -245,22 +245,22 @@ ..() if(istype(W, /obj/item/weapon/cell)) if(src.cell) - user << "You have already inserted a cell!" + to_chat(user, "You have already inserted a cell!") return else user.drop_item() W.loc = src src.cell = W - user << "You insert the cell!" + to_chat(user, "You insert the cell!") if(istype(W, /obj/item/stack/cable_coil)) if(src.wires) - user << "You have already inserted wire!" + to_chat(user, "You have already inserted wire!") return else var/obj/item/stack/cable_coil/coil = W coil.use(1) src.wires = 1.0 - user << "You insert the wire!" + to_chat(user, "You insert the wire!") return /obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob) @@ -269,14 +269,14 @@ if(istype(user,/mob/living/silicon/robot)) var/current_module = user.get_active_hand() if(current_module == W) - user << "How do you propose to do that?" + to_chat(user, "How do you propose to do that?") return else add_flashes(W,user) else add_flashes(W,user) else if(istype(W, /obj/item/weapon/stock_parts/manipulator)) - user << "You install some manipulators and modify the head, creating a functional spider-bot!" + to_chat(user, "You install some manipulators and modify the head, creating a functional spider-bot!") new /mob/living/simple_animal/spiderbot(get_turf(loc)) user.drop_item() qdel(W) @@ -286,24 +286,24 @@ /obj/item/robot_parts/head/proc/add_flashes(obj/item/W as obj, mob/user as mob) //Made into a seperate proc to avoid copypasta if(src.flash1 && src.flash2) - user << "You have already inserted the eyes!" + to_chat(user, "You have already inserted the eyes!") return else if(src.flash1) user.drop_item() W.loc = src src.flash2 = W - user << "You insert the flash into the eye socket!" + to_chat(user, "You insert the flash into the eye socket!") else user.drop_item() W.loc = src src.flash1 = W - user << "You insert the flash into the eye socket!" + to_chat(user, "You insert the flash into the eye socket!") /obj/item/robot_parts/emag_act(var/remaining_charges, var/mob/user) if(sabotaged) - user << "[src] is already sabotaged!" + to_chat(user, "[src] is already sabotaged!") else - user << "You short out the safeties." + to_chat(user, "You short out the safeties.") sabotaged = 1 return 1 diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index eed9d9dc49c..63a2ea474e3 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -134,7 +134,7 @@ return 1 /obj/item/borg/upgrade/jetpack - name = "mining robot jetpack" + name = "robot jetpack" desc = "A carbon dioxide jetpack suitable for low-gravity operations." icon_state = "cyborg_upgrade3" item_state = "cyborg_upgrade" @@ -149,7 +149,7 @@ if(!T) T = locate() in R.module.modules if(!T) - R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide + R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide(R.module) for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules) R.internals = src return 1 @@ -174,7 +174,7 @@ if(!T) T = locate() in R.module.modules if(!T) - R.module.modules += new/obj/item/device/healthanalyzer/advanced + R.module.modules += new/obj/item/device/healthanalyzer/advanced(R.module) return 1 if(T) to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!") @@ -210,9 +210,12 @@ R.add_language(LANGUAGE_TRADEBAND, 1) R.add_language(LANGUAGE_UNATHI, 1) R.add_language(LANGUAGE_SIIK, 1) + R.add_language(LANGUAGE_AKHANI, 1) R.add_language(LANGUAGE_SKRELLIAN, 1) + R.add_language(LANGUAGE_SKRELLIANFAR, 0) R.add_language(LANGUAGE_GUTTER, 1) R.add_language(LANGUAGE_SCHECHI, 1) R.add_language(LANGUAGE_ROOTLOCAL, 1) + R.add_language(LANGUAGE_TERMINUS, 1) - return 1 \ No newline at end of file + return 1 diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index f1c9aa2d145..e24a727b99b 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -104,7 +104,6 @@ bmark.pixel_x = p_x bmark.pixel_y = p_y bmark.icon = 'icons/effects/effects.dmi' - bmark.layer = 3.5 bmark.icon_state = "scorch" if(decaltype == 1) diff --git a/code/game/objects/items/stacks/fifty_spawner.dm b/code/game/objects/items/stacks/fifty_spawner.dm index 1977427ebba..0be33e58292 100644 --- a/code/game/objects/items/stacks/fifty_spawner.dm +++ b/code/game/objects/items/stacks/fifty_spawner.dm @@ -8,13 +8,17 @@ var/obj/item/stack/type_to_spawn = null /obj/fiftyspawner/New() - //spawns the 50-stack and qdels self - ..() -// var/obj_path = text2path("/obj/item/stack/[material]") - var/obj/item/stack/M = new type_to_spawn(src.loc) - M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty - M.update_icon() // Some stacks have different sprites depending on how full they are. - qdel(src) + spawn() + //spawns the 50-stack and qdels self + ..() + if(istype(src.loc, /obj/structure/loot_pile)) //Spawning from a lootpile is weird, need to wait until we're out of it to do our work. + while(istype(src.loc, /obj/structure/loot_pile)) + sleep(1) + // var/obj_path = text2path("/obj/item/stack/[material]") + var/obj/item/stack/M = new type_to_spawn(src.loc) + M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty + M.update_icon() // Some stacks have different sprites depending on how full they are. + qdel(src) /obj/fiftyspawner/rods name = "stack of rods" //this needs to be defined for cargo diff --git a/code/game/objects/items/stacks/marker_beacons.dm b/code/game/objects/items/stacks/marker_beacons.dm index 9978ef6b0d9..2194b84fbd5 100644 --- a/code/game/objects/items/stacks/marker_beacons.dm +++ b/code/game/objects/items/stacks/marker_beacons.dm @@ -25,6 +25,7 @@ var/list/marker_beacon_colors = list( icon_state = "marker" max_amount = 100 no_variants = TRUE + w_class = ITEMSIZE_SMALL var/picked_color = "random" /obj/item/stack/marker_beacon/ten diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index eb62b5d6749..b5ff773e8b2 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -111,6 +111,7 @@ user.visible_message("\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \ "You place a bandaid over \a [W.desc] on [M]'s [affecting.name]." ) W.bandage() + W.disinfect() used++ affecting.update_damages() if(used == amount) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 784eadd3b97..b2477ae9ffd 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -36,7 +36,7 @@ icon_state = "rods" var/global/list/datum/stack_recipe/rods_recipes = list( \ - new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1), + new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 0), new/datum/stack_recipe("catwalk", /obj/structure/catwalk, 2, time = 80, one_per_turf = 1, on_floor = 1)) /obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob) @@ -44,7 +44,7 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ var/obj/item/weapon/weldingtool/WT = W if(get_amount() < 2) - user << "You need at least two rods to do this." + to_chat(user, "You need at least two rods to do this.") return if(WT.remove_fuel(0,user)) @@ -61,8 +61,7 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ return if (istype(W, /obj/item/weapon/tape_roll)) - var/obj/item/stack/medical/splint/ghetto/new_splint = new(user.loc) - new_splint.loc = src.loc + var/obj/item/stack/medical/splint/ghetto/new_splint = new(get_turf(user)) new_splint.add_fingerprint(user) user.visible_message("\The [user] constructs \a [new_splint] out of a [singular_name].", \ @@ -91,15 +90,15 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ else if(!in_use) if(get_amount() < 2) - user << "You need at least two rods to do this." + to_chat(user, "You need at least two rods to do this.") return - usr << "Assembling grille..." + to_chat(usr, "Assembling grille...") in_use = 1 if (!do_after(usr, 10)) in_use = 0 return var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc ) - usr << "You assemble a grille" + to_chat(usr, "You assemble a grille") in_use = 0 F.add_fingerprint(usr) use(2) diff --git a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm index 3d89b5e7865..256d2c85828 100644 --- a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm +++ b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm @@ -8,13 +8,17 @@ name = "stack of wood" type_to_spawn = /obj/item/stack/tile/wood +/obj/fiftyspawner/wood/sif + name = "stack of alien wood" + type_to_spawn = /obj/item/stack/tile/wood/sif + /obj/fiftyspawner/carpet name = "stack of carpet" type_to_spawn = /obj/item/stack/tile/carpet -/obj/fiftyspawner/bluecarpet - name = "stack of blue carpet" - type_to_spawn = /obj/item/stack/tile/carpet/blue +/obj/fiftyspawner/tealcarpet + name = "stack of teal carpet" + type_to_spawn = /obj/item/stack/tile/carpet/teal /obj/fiftyspawner/floor name = "stack of floor tiles" diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 32a4580c7e0..5c17634ae26 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -37,9 +37,6 @@ flags = 0 origin_tech = list(TECH_BIO = 1) no_variants = FALSE - -/obj/item/stack/tile/grass/fifty - amount = 50 /* * Wood */ @@ -55,8 +52,11 @@ flags = 0 no_variants = FALSE -/obj/item/stack/tile/wood/fifty - amount = 50 +/obj/item/stack/tile/wood/sif + name = "alien wood tile" + singular_name = "alien wood tile" + desc = "An easy to fit wooden floor tile. It's blue!" + icon_state = "tile-sifwood" /obj/item/stack/tile/wood/cyborg name = "wood floor tile synthesizer" @@ -81,11 +81,11 @@ flags = 0 no_variants = FALSE -/obj/item/stack/tile/carpet/blue - name = "blue carpet" - singular_name = "blue carpet" - desc = "A piece of blue carpet. It is the same size as a normal floor tile!" - icon_state = "tile-bluecarpet" +/obj/item/stack/tile/carpet/teal + name = "teal carpet" + singular_name = "teal carpet" + desc = "A piece of teal carpet. It is the same size as a normal floor tile!" + icon_state = "tile-tealcarpet" no_variants = FALSE // TODO - Add descriptions to these @@ -107,7 +107,7 @@ /obj/item/stack/tile/floor name = "floor tile" singular_name = "floor tile" - desc = "Those could work as a pretty decent throwing weapon" //why? + desc = "A metal tile fit for covering a section of floor." icon_state = "tile" force = 6.0 matter = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 4) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 62f02816edf..3931bec8ef9 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -16,6 +16,8 @@ * Action figures * Plushies * Toy cult sword + * Bouquets + Stick Horse */ @@ -502,207 +504,324 @@ /* * Action figures */ - /obj/item/toy/figure - name = "Completely Glitched action figure" - desc = "A \"Space Life\" brand... wait, what the hell is this thing? It seems to be requesting the sweet release of death." - icon_state = "assistant" + name = "Non-Specific Action Figure action figure" + desc = "A \"Space Life\" brand... wait, what the hell is this thing?" icon = 'icons/obj/toy.dmi' + icon_state = "nuketoy" + var/cooldown = 0 + var/toysay = "What the fuck did you do?" + +/obj/item/toy/figure/New() + ..() + desc = "A \"Space Life\" brand [name]" + +/obj/item/toy/figure/attack_self(mob/user as mob) + if(cooldown < world.time) + cooldown = (world.time + 30) //3 second cooldown + user.visible_message("The [src] says \"[toysay]\".") + playsound(user, 'sound/machines/click.ogg', 20, 1) /obj/item/toy/figure/cmo name = "Chief Medical Officer action figure" desc = "A \"Space Life\" brand Chief Medical Officer action figure." icon_state = "cmo" + toysay = "Suit sensors!" /obj/item/toy/figure/assistant name = "Assistant action figure" desc = "A \"Space Life\" brand Assistant action figure." icon_state = "assistant" + toysay = "Grey tide station wide!" /obj/item/toy/figure/atmos name = "Atmospheric Technician action figure" desc = "A \"Space Life\" brand Atmospheric Technician action figure." icon_state = "atmos" + toysay = "Glory to Atmosia!" /obj/item/toy/figure/bartender name = "Bartender action figure" desc = "A \"Space Life\" brand Bartender action figure." icon_state = "bartender" + toysay = "Where's my monkey?" /obj/item/toy/figure/borg name = "Drone action figure" desc = "A \"Space Life\" brand Drone action figure." icon_state = "borg" + toysay = "I. LIVE. AGAIN." /obj/item/toy/figure/gardener name = "Gardener action figure" desc = "A \"Space Life\" brand Gardener action figure." icon_state = "botanist" + toysay = "Dude, I see colors..." /obj/item/toy/figure/captain name = "Colony Director action figure" desc = "A \"Space Life\" brand Colony Director action figure." icon_state = "captain" + toysay = "How do I open this display case?" /obj/item/toy/figure/cargotech name = "Cargo Technician action figure" desc = "A \"Space Life\" brand Cargo Technician action figure." icon_state = "cargotech" + toysay = "For Cargonia!" /obj/item/toy/figure/ce name = "Chief Engineer action figure" desc = "A \"Space Life\" brand Chief Engineer action figure." icon_state = "ce" + toysay = "Wire the solars!" /obj/item/toy/figure/chaplain name = "Chaplain action figure" desc = "A \"Space Life\" brand Chaplain action figure." icon_state = "chaplain" + toysay = "Gods make me a killing machine please!" /obj/item/toy/figure/chef name = "Chef action figure" desc = "A \"Space Life\" brand Chef action figure." icon_state = "chef" + toysay = "I swear it's not human meat." /obj/item/toy/figure/chemist name = "Chemist action figure" desc = "A \"Space Life\" brand Chemist action figure." icon_state = "chemist" + toysay = "Get your pills!" /obj/item/toy/figure/clown name = "Clown action figure" desc = "A \"Space Life\" brand Clown action figure." icon_state = "clown" + toysay = "Honk!" /obj/item/toy/figure/corgi name = "Corgi action figure" desc = "A \"Space Life\" brand Corgi action figure." icon_state = "ian" + toysay = "Arf!" /obj/item/toy/figure/detective name = "Detective action figure" desc = "A \"Space Life\" brand Detective action figure." icon_state = "detective" + toysay = "This airlock has grey jumpsuit and insulated glove fibers on it." /obj/item/toy/figure/dsquad name = "Space Commando action figure" desc = "A \"Space Life\" brand Space Commando action figure." icon_state = "dsquad" + toysay = "Eliminate all threats!" /obj/item/toy/figure/engineer name = "Engineer action figure" desc = "A \"Space Life\" brand Engineer action figure." icon_state = "engineer" + toysay = "Oh god, the engine is gonna go!" /obj/item/toy/figure/geneticist name = "Geneticist action figure" desc = "A \"Space Life\" brand Geneticist action figure, which was recently dicontinued." icon_state = "geneticist" + toysay = "I'm not qualified for this job." /obj/item/toy/figure/hop name = "Head of Personnel action figure" desc = "A \"Space Life\" brand Head of Personnel action figure." icon_state = "hop" + toysay = "Giving out all access!" /obj/item/toy/figure/hos name = "Head of Security action figure" desc = "A \"Space Life\" brand Head of Security action figure." icon_state = "hos" + toysay = "I'm here to win, anything else is secondary." /obj/item/toy/figure/qm name = "Quartermaster action figure" desc = "A \"Space Life\" brand Quartermaster action figure." icon_state = "qm" + toysay = "Hail Cargonia!" /obj/item/toy/figure/janitor name = "Janitor action figure" desc = "A \"Space Life\" brand Janitor action figure." icon_state = "janitor" + toysay = "Look at the signs, you idiot." /obj/item/toy/figure/agent name = "Internal Affairs Agent action figure" desc = "A \"Space Life\" brand Internal Affairs Agent action figure." icon_state = "agent" + toysay = "Standard Operating Procedure says they're guilty! Hacking is proof they're an Enemy of the Corporation!" /obj/item/toy/figure/librarian name = "Librarian action figure" desc = "A \"Space Life\" brand Librarian action figure." icon_state = "librarian" + toysay = "One day while..." /obj/item/toy/figure/md name = "Medical Doctor action figure" desc = "A \"Space Life\" brand Medical Doctor action figure." icon_state = "md" + toysay = "The patient is already dead!" /obj/item/toy/figure/mime name = "Mime action figure" desc = "A \"Space Life\" brand Mime action figure." icon_state = "mime" + toysay = "..." /obj/item/toy/figure/miner name = "Shaft Miner action figure" desc = "A \"Space Life\" brand Shaft Miner action figure." icon_state = "miner" + toysay = "Oh god, it's eating my intestines!" /obj/item/toy/figure/ninja name = "Space Ninja action figure" desc = "A \"Space Life\" brand Space Ninja action figure." icon_state = "ninja" + toysay = "Oh god! Stop shooting, I'm friendly!" /obj/item/toy/figure/wizard name = "Wizard action figure" desc = "A \"Space Life\" brand Wizard action figure." icon_state = "wizard" + toysay = "Ei Nath!" /obj/item/toy/figure/rd name = "Research Director action figure" desc = "A \"Space Life\" brand Research Director action figure." icon_state = "rd" + toysay = "Blowing all of the borgs!" /obj/item/toy/figure/roboticist name = "Roboticist action figure" desc = "A \"Space Life\" brand Roboticist action figure." icon_state = "roboticist" + toysay = "He asked to be borged!" /obj/item/toy/figure/scientist name = "Scientist action figure" desc = "A \"Space Life\" brand Scientist action figure." icon_state = "scientist" + toysay = "Someone else must have made those bombs!" /obj/item/toy/figure/syndie name = "Doom Operative action figure" desc = "A \"Space Life\" brand Doom Operative action figure." icon_state = "syndie" + toysay = "Get that fucking disk!" /obj/item/toy/figure/secofficer name = "Security Officer action figure" desc = "A \"Space Life\" brand Security Officer action figure." icon_state = "secofficer" + toysay = "I am the law!" + +/obj/item/toy/figure/virologist + name = "Virologist action figure" + desc = "A \"Space Life\" brand Virologist action figure." + icon_state = "virologist" + toysay = "The cure is potassium!" /obj/item/toy/figure/warden name = "Warden action figure" desc = "A \"Space Life\" brand Warden action figure." icon_state = "warden" + toysay = "Execute him for breaking in!" /obj/item/toy/figure/psychologist name = "Psychologist action figure" desc = "A \"Space Life\" brand Psychologist action figure." icon_state = "psychologist" + toysay = "The analyzer says you're fine!" /obj/item/toy/figure/paramedic name = "Paramedic action figure" desc = "A \"Space Life\" brand Paramedic action figure." icon_state = "paramedic" + toysay = "WHERE ARE YOU??" /obj/item/toy/figure/ert name = "Emergency Response Team Commander action figure" desc = "A \"Space Life\" brand Emergency Response Team Commander action figure." icon_state = "ert" + toysay = "We're probably the good guys!" /* * Plushies */ +/* + * Carp plushie + */ + +/obj/item/toy/plushie/carp + name = "space carp plushie" + desc = "An adorable stuffed toy that resembles a space carp." + icon = 'icons/obj/toy.dmi' + icon_state = "plushie/carp" + attack_verb = list("bitten", "eaten", "fin slapped") + var/bitesound = 'sound/weapons/bite.ogg' + +// Attack mob +/obj/item/toy/plushie/carp/attack(mob/M as mob, mob/user as mob) + playsound(loc, bitesound, 20, 1) // Play bite sound in local area + return ..() + +// Attack self +/obj/item/toy/plushie/carp/attack_self(mob/user as mob) + playsound(src.loc, bitesound, 20, 1) + return ..() + + +/obj/random/carp_plushie + name = "Random Carp Plushie" + desc = "This is a random plushie" + icon = 'icons/obj/toy.dmi' + icon_state = "plushie/carp" + +/obj/random/carp_plushie/item_to_spawn() + return pick(typesof(/obj/item/toy/plushie/carp)) //can pick any carp plushie, even the original. + +/obj/item/toy/plushie/carp/ice + icon_state = "icecarp" + +/obj/item/toy/plushie/carp/silent + icon_state = "silentcarp" + +/obj/item/toy/plushie/carp/electric + icon_state = "electriccarp" + +/obj/item/toy/plushie/carp/gold + icon_state = "goldcarp" + +/obj/item/toy/plushie/carp/toxin + icon_state = "toxincarp" + +/obj/item/toy/plushie/carp/dragon + icon_state = "dragoncarp" + +/obj/item/toy/plushie/carp/pink + icon_state = "pinkcarp" + +/obj/item/toy/plushie/carp/candy + icon_state = "candycarp" + +/obj/item/toy/plushie/carp/nebula + icon_state = "nebulacarp" + +/obj/item/toy/plushie/carp/void + icon_state = "voidcarp" + //Large plushies. /obj/structure/plushie name = "generic plush" @@ -725,6 +844,7 @@ user.visible_message("\The [user] pokes the [src].","You poke the [src].") visible_message("[src] says, \"[phrase]\"") + /obj/structure/plushie/ian name = "plush corgi" desc = "A plushie of an adorable corgi! Don't you just want to hug it and squeeze it and call it \"Ian\"?" @@ -786,6 +906,12 @@ to_chat(M, "You name the plushie [input], giving it a hug for good luck.") return 1 +/obj/item/toy/plushie/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/toy/plushie) || istype(I, /obj/item/organ/external/head)) + user.visible_message("[user] makes \the [I] kiss \the [src]!.", \ + "You make \the [I] kiss \the [src]!.") + return ..() + /obj/item/toy/plushie/nymph name = "diona nymph plush" desc = "A plushie of an adorable diona nymph! While its level of self-awareness is still being debated, its level of cuteness is not." @@ -816,6 +942,96 @@ desc = "A farwa plush doll. It's soft and comforting!" icon_state = "farwaplushie" +/obj/item/toy/plushie/corgi + name = "corgi plushie" + icon_state = "corgi" + +/obj/item/toy/plushie/girly_corgi + name = "corgi plushie" + icon_state = "girlycorgi" + +/obj/item/toy/plushie/robo_corgi + name = "borgi plushie" + icon_state = "robotcorgi" + +/obj/item/toy/plushie/octopus + name = "octopus plushie" + icon_state = "loveable" + +/obj/item/toy/plushie/face_hugger + name = "facehugger plushie" + icon_state = "huggable" + +//foxes are basically the best + +/obj/item/toy/plushie/red_fox + name = "red fox plushie" + icon_state = "redfox" + +/obj/item/toy/plushie/black_fox + name = "black fox plushie" + icon_state = "blackfox" + +/obj/item/toy/plushie/marble_fox + name = "marble fox plushie" + icon_state = "marblefox" + +/obj/item/toy/plushie/blue_fox + name = "blue fox plushie" + icon_state = "bluefox" + +/obj/item/toy/plushie/orange_fox + name = "orange fox plushie" + icon_state = "orangefox" + +/obj/item/toy/plushie/coffee_fox + name = "coffee fox plushie" + icon_state = "coffeefox" + +/obj/item/toy/plushie/pink_fox + name = "pink fox plushie" + icon_state = "pinkfox" + +/obj/item/toy/plushie/purple_fox + name = "purple fox plushie" + icon_state = "purplefox" + +/obj/item/toy/plushie/crimson_fox + name = "crimson fox plushie" + icon_state = "crimsonfox" + +/obj/item/toy/plushie/deer + name = "deer plushie" + icon_state = "deer" + +/obj/item/toy/plushie/black_cat + name = "black cat plushie" + icon_state = "blackcat" + +/obj/item/toy/plushie/grey_cat + name = "grey cat plushie" + icon_state = "greycat" + +/obj/item/toy/plushie/white_cat + name = "white cat plushie" + icon_state = "whitecat" + +/obj/item/toy/plushie/orange_cat + name = "orange cat plushie" + icon_state = "orangecat" + +/obj/item/toy/plushie/siamese_cat + name = "siamese cat plushie" + icon_state = "siamesecat" + +/obj/item/toy/plushie/tabby_cat + name = "tabby cat plushie" + icon_state = "tabbycat" + +/obj/item/toy/plushie/tuxedo_cat + name = "tuxedo cat plushie" + icon_state = "tuxedocat" + /obj/item/toy/plushie/therapy/red name = "red therapy doll" desc = "A toy for therapeutic and recreational purposes. This one is red." @@ -872,6 +1088,160 @@ w_class = ITEMSIZE_LARGE attack_verb = list("attacked", "slashed", "stabbed", "poked") +//Flowers fake & real + +/obj/item/toy/bouquet + name = "bouquet" + desc = "A lovely bouquet of flowers. Smells nice!" + icon = 'icons/obj/items.dmi' + icon_state = "bouquet" + w_class = ITEMSIZE_SMALL + +/obj/item/toy/bouquet/fake + name = "plastic bouquet" + desc = "A cheap plastic bouquet of flowers. Smells like cheap, toxic plastic." + +/obj/item/toy/stickhorse + name = "stick horse" + desc = "A pretend horse on a stick for any aspiring little cowboy to ride." + icon = 'icons/obj/toy.dmi' + icon_state = "stickhorse" + w_class = ITEMSIZE_LARGE + +////////////////////////////////////////////////////// +// Magic 8-Ball / Conch // +////////////////////////////////////////////////////// + +/obj/item/toy/eight_ball + name = "\improper Magic 8-Ball" + desc = "Mystical! Magical! Ages 8+!" + icon = 'icons/obj/toy.dmi' + icon_state = "eight-ball" + var/use_action = "shakes the ball" + var/cooldown = 0 + var/list/possible_answers = list("Definitely.", "All signs point to yes.", "Most likely.", "Yes.", "Ask again later.", "Better not tell you now.", "Future unclear.", "Maybe.", "Doubtful.", "No.", "Don't count on it.", "Never.") + +/obj/item/toy/eight_ball/attack_self(mob/user as mob) + if(!cooldown) + var/answer = pick(possible_answers) + user.visible_message("[user] focuses on their question and [use_action]...") + user.visible_message("The [src] says \"[answer]\"") + spawn(30) + cooldown = 0 + return + +/obj/item/toy/eight_ball/conch + name = "Magic Conch shell" + desc = "All hail the Magic Conch!" + icon_state = "conch" + use_action = "pulls the string" + possible_answers = list("Yes.", "No.", "Try asking again.", "Nothing.", "I don't think so.", "Neither.", "Maybe someday.") + +// DND Character minis. Use the naming convention (type)character for the icon states. +/obj/item/toy/character + icon = 'icons/obj/toy.dmi' + w_class = ITEMSIZE_SMALL + pixel_z = 5 + +/obj/item/toy/character/alien + name = "xenomorph xiniature" + desc = "A miniature xenomorph. Scary!" + icon_state = "aliencharacter" +/obj/item/toy/character/cleric + name = "cleric miniature" + desc = "A wee little cleric, with his wee little staff." + icon_state = "clericcharacter" +/obj/item/toy/character/warrior + name = "warrior miniature" + desc = "That sword would make a decent toothpick." + icon_state = "warriorcharacter" +/obj/item/toy/character/thief + name = "thief miniature" + desc = "Hey, where did my wallet go!?" + icon_state = "thiefcharacter" +/obj/item/toy/character/wizard + name = "wizard miniature" + desc = "MAGIC!" + icon_state = "wizardcharacter" +/obj/item/toy/character/voidone + name = "void one miniature" + desc = "The dark lord has risen!" + icon_state = "darkmastercharacter" +/obj/item/toy/character/lich + name = "lich miniature" + desc = "Murderboner extraordinaire." + icon_state = "lichcharacter" +/obj/item/weapon/storage/box/characters + name = "box of miniatures" + desc = "The nerd's best friends." + icon_state = "box" +/obj/item/weapon/storage/box/characters/starts_with = list( +// /obj/item/toy/character/alien, + /obj/item/toy/character/cleric, + /obj/item/toy/character/warrior, + /obj/item/toy/character/thief, + /obj/item/toy/character/wizard, + /obj/item/toy/character/voidone, + /obj/item/toy/character/lich + ) + +/obj/item/toy/AI + name = "toy AI" + desc = "A little toy model AI core!"// with real law announcing action!" //Alas, requires a rewrite of how ion laws work. + icon = 'icons/obj/toy.dmi' + icon_state = "AI" + w_class = ITEMSIZE_SMALL + var/cooldown = 0 +/* +/obj/item/toy/AI/attack_self(mob/user) + if(!cooldown) //for the sanity of everyone + var/message = generate_ion_law() + to_chat(user, "You press the button on [src].") + playsound(user, 'sound/machines/click.ogg', 20, 1) + visible_message("[message]") + cooldown = 1 + spawn(30) cooldown = 0 + return + ..() +*/ +/obj/item/toy/owl + name = "owl action figure" + desc = "An action figure modeled after 'The Owl', defender of justice." + icon = 'icons/obj/toy.dmi' + icon_state = "owlprize" + w_class = ITEMSIZE_SMALL + var/cooldown = 0 + +/obj/item/toy/owl/attack_self(mob/user) + if(!cooldown) //for the sanity of everyone + var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!") + to_chat(user, "You pull the string on the [src].") + //playsound(user, 'sound/misc/hoot.ogg', 25, 1) + visible_message("[message]") + cooldown = 1 + spawn(30) cooldown = 0 + return + ..() + +/obj/item/toy/griffin + name = "griffin action figure" + desc = "An action figure modeled after 'The Griffin', criminal mastermind." + icon = 'icons/obj/toy.dmi' + icon_state = "griffinprize" + w_class = ITEMSIZE_SMALL + var/cooldown = 0 + +/obj/item/toy/griffin/attack_self(mob/user) + if(!cooldown) //for the sanity of everyone + var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!") + to_chat(user, "You pull the string on the [src].") + //playsound(user, 'sound/misc/caw.ogg', 25, 1) + visible_message("[message]") + cooldown = 1 + spawn(30) cooldown = 0 + return + ..() + /* NYET. /obj/item/weapon/toddler icon_state = "toddler" diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 77c5b593643..c5b637d9e59 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -22,6 +22,11 @@ AI MODULES var/datum/ai_laws/laws = null /obj/item/weapon/aiModule/proc/install(var/atom/movable/AM, var/mob/living/user) + if(!user.IsAdvancedToolUser() && isanimal(user)) + var/mob/living/simple_animal/S = user + if(!S.IsHumanoidToolUser(src)) + return 0 + if (istype(AM, /obj/machinery/computer/aiupload)) var/obj/machinery/computer/aiupload/comp = AM if(comp.stat & NOPOWER) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 8f5719b8e82..58aa30547dc 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -29,7 +29,14 @@ return 0 /obj/item/weapon/rcd/proc/can_use(var/mob/user,var/turf/T) - return (user.Adjacent(T) && user.get_active_hand() == src && !user.stat && !user.restrained()) + var/usable = 0 + if(user.Adjacent(T) && user.get_active_hand() == src && !user.stat && !user.restrained()) + usable = 1 + if(!user.IsAdvancedToolUser() && istype(user, /mob/living/simple_animal)) + var/mob/living/simple_animal/S = user + if(!S.IsHumanoidToolUser(src)) + usable = 0 + return usable /obj/item/weapon/rcd/examine() ..() @@ -103,7 +110,7 @@ build_delay = 50 build_type = "airlock" build_other = /obj/machinery/door/airlock - else if(!deconstruct && (istype(T,/turf/space) || istype(T,get_base_turf_by_area(T)))) + else if(!deconstruct && isturf(T) && (istype(T,/turf/space) || istype(T,get_base_turf_by_area(T)))) build_cost = 1 build_type = "floor" build_turf = /turf/simulated/floor/airless diff --git a/code/game/objects/items/weapons/bones.dm b/code/game/objects/items/weapons/bones.dm new file mode 100644 index 00000000000..617ddd9c1a0 --- /dev/null +++ b/code/game/objects/items/weapons/bones.dm @@ -0,0 +1,46 @@ +//These bone objects are mostly for mapping and decoration. They have no actual medical use, so maybe don't try to put them in anybody. +/obj/item/weapon/bone + name = "bone" + desc = "A non-descript bone. It's so old and worn you can barely tell which part of the body it's from." + icon = 'icons/obj/bones.dmi' + icon_state = "bone" + force = 5 + throwforce = 6 + item_state = "bone" + w_class = ITEMSIZE_SMALL + attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned") + +/obj/item/weapon/bone/skull + name = "skull" + desc = "A skull. Judging by the shape and size, you'd guess that it might be human." + icon_state = "skull" + throwforce = 7 + +/obj/item/weapon/bone/skull/tajaran + desc = "A skull. Judging by the shape and size, you'd guess that it might be tajaran." + icon_state = "tajskull" + +/obj/item/weapon/bone/skull/unathi + desc = "A skull. Judging by the shape and size, you'd guess that it might be unathi." + icon_state = "unaskull" + +/obj/item/weapon/bone/skull/unknown + desc = "A skull. You're not sure what species it might be, though." + icon_state = "xenoskull" + +/obj/item/weapon/bone/arm + name = "arm bone" + desc = "Wielding this, you're armed and dangerous, no bones about it." + attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned", "slapped", "punched") + icon_state = "arm" + +/obj/item/weapon/bone/leg + name = "leg bone" + desc = "Don't worry about getting into an argument with the owner of this. They don't have a leg to stand on." + attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked", "bonked", "boned", "kicked") + icon_state = "leg" + +/obj/item/weapon/bone/ribs + name = "ribcage" + desc = "If you had some mallets, you could probably use this as a makeshift xylophone." + icon_state = "ribs" diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm index 5ea04c2daba..3f861b86d4b 100644 --- a/code/game/objects/items/weapons/candle.dm +++ b/code/game/objects/items/weapons/candle.dm @@ -8,7 +8,7 @@ var/wax = 2000 /obj/item/weapon/flame/candle/New() - wax = rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average. + wax -= rand(800, 1000) // Enough for 27-33 minutes. 30 minutes on average. ..() /obj/item/weapon/flame/candle/update_icon() @@ -26,7 +26,7 @@ if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool - light("\The [user] casually lights the [name] with [W].") + light("\The [user] casually lights the [src] with [W].") else if(istype(W, /obj/item/weapon/flame/lighter)) var/obj/item/weapon/flame/lighter/L = W if(L.lit) @@ -41,16 +41,13 @@ light() -/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\The [usr] lights the [name].") - if(!src.lit) - src.lit = 1 - //src.damtype = "fire" - for(var/mob/O in viewers(usr, null)) - O.show_message(flavor_text, 1) +/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\The [usr] lights the [src].") + if(!lit) + lit = TRUE + visible_message(flavor_text) set_light(CANDLE_LUM) processing_objects.Add(src) - /obj/item/weapon/flame/candle/process() if(!lit) return @@ -70,3 +67,31 @@ lit = 0 update_icon() set_light(0) + +/obj/item/weapon/flame/candle/candelabra + name = "candelabra" + desc = "a small gold candelabra. The cups that hold the candles save some of the wax from dripping off, allowing the candles to burn longer." + icon = 'icons/obj/candle.dmi' + icon_state = "candelabra" + w_class = ITEMSIZE_SMALL + wax = 20000 + +/obj/item/weapon/flame/candle/candelabra/update_icon() + if(wax == 0) + icon_state = "candelabra_melted" + else + icon_state = "candelabra[lit ? "_lit" : ""]" + +/obj/item/weapon/flame/candle/everburn + wax = 99999 + +/obj/item/weapon/flame/candle/everburn/initialize() + . = ..() + light("\The [src] mysteriously lights itself!.") + +/obj/item/weapon/flame/candle/candelabra/everburn + wax = 99999 + +/obj/item/weapon/flame/candle/candelabra/everburn/initialize() + . = ..() + light("\The [src] mysteriously lights itself!.") diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index c8d4eed3adf..5d60c8485b8 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -6,6 +6,7 @@ MATCHES CIGARETTES CIGARS SMOKING PIPES +CUSTOM CIGS CHEAP LIGHTERS ZIPPO @@ -88,6 +89,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/weldermes = "USER lights NAME with FLAME" var/ignitermes = "USER lights NAME with FLAME" var/brand + blood_sprite_state = null //Can't bloody these /obj/item/clothing/mask/smokable/New() ..() @@ -454,6 +456,41 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "cobpipe" chem_volume = 35 +/////////////// +//CUSTOM CIGS// +/////////////// +//and by custom cigs i mean craftable joints. smoke weed every day + +/obj/item/clothing/mask/smokable/cigarette/joint + name = "joint" + desc = "This probably shouldn't ever show up." + icon_state = "joint" + max_smoketime = 500 + smoketime = 500 + nicotine_amt = 0 + +/obj/item/weapon/rollingpaper + name = "rolling paper" + desc = "A small, thin piece of easily flammable paper, commonly used for rolling and smoking various dried plants." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "cig paper" + +/obj/item/weapon/rollingpaper/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/reagent_containers/food/snacks)) + var/obj/item/weapon/reagent_containers/food/snacks/grown/G = W + if (!G.dry) + user << "[G] must be dried before you roll it into [src]." + return + var/obj/item/clothing/mask/smokable/cigarette/joint/J = new /obj/item/clothing/mask/smokable/cigarette/joint(user.loc) + to_chat(usr,"You roll the [G.name] into a joint!") + J.add_fingerprint(user) + if(G.reagents) + G.reagents.trans_to_obj(J, G.reagents.total_volume) + J.name = "[G.name] joint" + J.desc = "A joint lovingly rolled and filled with [G.name]. Blaze it." + qdel(G) + qdel(src) + ///////// //ZIPPO// ///////// @@ -525,7 +562,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit == 1) M.IgniteMob() - msg_admin_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] and lit them on fire (INTENT: [uppertext(user.a_intent)]) (JMP)") + add_attack_logs(user,M,"Lit on fire with [src]") if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit) var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask diff --git a/code/game/objects/items/weapons/circuitboards/computer/computer.dm b/code/game/objects/items/weapons/circuitboards/computer/computer.dm index 2b3631ddbfd..71d6e2d8670 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/computer.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/computer.dm @@ -100,6 +100,7 @@ /obj/item/weapon/circuitboard/turbine_control name = T_BOARD("turbine control console") build_path = /obj/machinery/computer/turbine_computer + origin_tech = list(TECH_DATA = 2, TECH_POWER = 2) /obj/item/weapon/circuitboard/solar_control name = T_BOARD("solar control console") diff --git a/code/game/objects/items/weapons/circuitboards/machinery/power.dm b/code/game/objects/items/weapons/circuitboards/machinery/power.dm index 6242335bed4..9bd5f98bad4 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/power.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/power.dm @@ -9,6 +9,10 @@ origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4) req_components = list(/obj/item/weapon/smes_coil = 1, /obj/item/stack/cable_coil = 30) +/obj/item/weapon/circuitboard/smes/construct(var/obj/machinery/power/smes/buildable/S) + if(..(S)) + S.output_attempt = 0 //built SMES default to off + /obj/item/weapon/circuitboard/batteryrack name = T_BOARD("battery rack PSU") build_path = /obj/machinery/power/smes/batteryrack diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index 33b93f6210f..ac0a93941b7 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -67,6 +67,7 @@ if(istype(M,/mob/living)) var/mob/living/L = M L.apply_effect(rand(5,20), IRRADIATE, check_protection = 0) + L.apply_damage(max(2,L.getCloneLoss()), CLONE) if (!(NOCLONE in M.mutations)) // prevents drained people from having their DNA changed if (buf.types & DNA2_BUF_UI) @@ -129,10 +130,7 @@ if((buf.types & DNA2_BUF_SE) && (block ? (GetState() && block == MONKEYBLOCK) : GetState(MONKEYBLOCK))) injected_with_monkey = " (MONKEY)" - M.attack_log += text("\[[time_stamp()]\] Has been injected with [name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to inject [M.name] ([M.ckey])") - log_attack("[user.name] ([user.ckey]) used the [name] to inject [M.name] ([M.ckey])") - message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with \the [src][injected_with_monkey]") + add_attack_logs(user,M,"[injected_with_monkey] used the [name] on") // Apply the DNA shit. inject(M, user) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 1e1565a2ae1..b49a76c5a9a 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -55,11 +55,8 @@ loc = null if (ismob(target)) - add_logs(user, target, "planted [name] on") + add_attack_logs(user, target, "planted [name] on with [timer] second fuse") user.visible_message("[user.name] finished planting an explosive on [target.name]!") - message_admins("[key_name(user, user.client)](?) planted [src.name] on [key_name(target)](?) with [timer] second fuse",0,1) - log_game("[key_name(user)] planted [src.name] on [key_name(target)] with [timer] second fuse") - else message_admins("[key_name(user, user.client)](?) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [timer] second fuse",0,1) log_game("[key_name(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse") diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 46543b901b6..bef0f8fcd9b 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -179,10 +179,7 @@ H.loc = present - H.attack_log += text("\[[time_stamp()]\] Has been wrapped with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to wrap [H.name] ([H.ckey])") - msg_admin_attack("[key_name(user)] used [src] to wrap [key_name(H)]") - + add_attack_logs(user,H,"Wrapped with [src]") else user << "You need more paper." else diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 0eaf073cfa6..92de17d9943 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -43,7 +43,7 @@ if(stage > 1 && !active && clown_check(user)) user << "You prime \the [name]!" - msg_admin_attack("[user.name] ([user.ckey]) primed \a [src]. (JMP)") + msg_admin_attack("[key_name_admin(user)] primed \a [src]") activate() add_fingerprint(user) @@ -136,7 +136,7 @@ icon_state = initial(icon_state) + "_active" if(user) - msg_admin_attack("[user.name] ([user.ckey]) primed \a [src] (JMP)") + msg_admin_attack("[key_name_admin(user)] primed \a [src.name]") return diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 5588089cefa..e917745e0ef 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -5,92 +5,89 @@ origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1) var/banglet = 0 - prime() - ..() - for(var/obj/structure/closet/L in hear(7, get_turf(src))) - if(locate(/mob/living/carbon/, L)) - for(var/mob/living/carbon/M in L) - bang(get_turf(src), M) +/obj/item/weapon/grenade/flashbang/prime() + ..() + for(var/obj/structure/closet/L in hear(7, get_turf(src))) + if(locate(/mob/living/carbon/, L)) + for(var/mob/living/carbon/M in L) + bang(get_turf(src), M) + for(var/mob/living/carbon/M in hear(7, get_turf(src))) + bang(get_turf(src), M) - for(var/mob/living/carbon/M in hear(7, get_turf(src))) - bang(get_turf(src), M) + for(var/obj/structure/blob/B in hear(8,get_turf(src))) //Blob damage here + var/damage = round(30/(get_dist(B,get_turf(src))+1)) + if(B.overmind) + damage *= B.overmind.blob_type.burn_multiplier + B.adjust_integrity(-damage) - for(var/obj/structure/blob/B in hear(8,get_turf(src))) //Blob damage here - var/damage = round(30/(get_dist(B,get_turf(src))+1)) - if(B.overmind) - damage *= B.overmind.blob_type.burn_multiplier - B.adjust_integrity(-damage) + new/obj/effect/effect/sparks(src.loc) + new/obj/effect/effect/smoke/illumination(src.loc, 5, range=30, power=30, color="#FFFFFF") + qdel(src) + return - new/obj/effect/effect/sparks(src.loc) - new/obj/effect/effect/smoke/illumination(src.loc, 5, range=30, power=30, color="#FFFFFF") - qdel(src) - return - - proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged. - M << "BANG" // Called during the loop that bangs people in lockers/containers and when banging - playsound(src.loc, 'sound/effects/bang.ogg', 50, 1, 30) // people in normal view. Could theroetically be called during other explosions. +/obj/item/weapon/grenade/flashbang/proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged. + to_chat(M, "BANG") // Called during the loop that bangs people in lockers/containers and when banging + playsound(src.loc, 'sound/effects/bang.ogg', 50, 1, 30) // people in normal view. Could theroetically be called during other explosions. // -- Polymorph -//Checking for protections - var/eye_safety = 0 - var/ear_safety = 0 - if(iscarbon(M)) - eye_safety = M.eyecheck() - ear_safety = M.get_ear_protection() + //Checking for protections + var/eye_safety = 0 + var/ear_safety = 0 + if(iscarbon(M)) + eye_safety = M.eyecheck() + ear_safety = M.get_ear_protection() -//Flashing everyone - if(eye_safety < 1) - M.flash_eyes() - M.Stun(2) - M.Weaken(10) + //Flashing everyone + if(eye_safety < 1) + M.flash_eyes() + M.Confuse(2) + M.Weaken(5) - - -//Now applying sound - if((get_dist(M, T) <= 2 || src.loc == M.loc || src.loc == M)) - if(ear_safety > 0) - M.Stun(2) - M.Weaken(1) - else - M.Stun(10) - M.Weaken(3) - if ((prob(14) || (M == src.loc && prob(70)))) - M.ear_damage += rand(1, 10) - else - M.ear_damage += rand(0, 5) - M.ear_deaf = max(M.ear_deaf,15) - - else if(get_dist(M, T) <= 5) - if(!ear_safety) - M.Stun(8) - M.ear_damage += rand(0, 3) - M.ear_deaf = max(M.ear_deaf,10) - - else if(!ear_safety) - M.Stun(4) - M.ear_damage += rand(0, 1) - M.ear_deaf = max(M.ear_deaf,5) - -//This really should be in mob not every check - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES] - if (E && E.damage >= E.min_bruised_damage) - M << "Your eyes start to burn badly!" - if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) - if (E.damage >= E.min_broken_damage) - M << "You can't see anything!" - if (M.ear_damage >= 15) - M << "Your ears start to ring badly!" - if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) - if (prob(M.ear_damage - 10 + 5)) - M << "You can't hear anything!" - M.sdisabilities |= DEAF + //Now applying sound + if((get_dist(M, T) <= 2 || src.loc == M.loc || src.loc == M)) + if(ear_safety > 0) + M.Confuse(2) + M.Weaken(1) else - if (M.ear_damage >= 5) - M << "Your ears start to ring!" - M.update_icons() //Forces matrix transform to proc if they are now laying, I guess? + M.Confuse(10) + M.Weaken(3) + if ((prob(14) || (M == src.loc && prob(70)))) + M.ear_damage += rand(1, 10) + else + M.ear_damage += rand(0, 5) + M.ear_deaf = max(M.ear_deaf,15) + + else if(get_dist(M, T) <= 5) + if(!ear_safety) + M.Confuse(8) + M.ear_damage += rand(0, 3) + M.ear_deaf = max(M.ear_deaf,10) + + else if(!ear_safety) + M.Confuse(4) + M.ear_damage += rand(0, 1) + M.ear_deaf = max(M.ear_deaf,5) + + //This really should be in mob not every check + if(ishuman(M)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES] + if (E && E.damage >= E.min_bruised_damage) + M << "Your eyes start to burn badly!" + if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) + if (E.damage >= E.min_broken_damage) + M << "You can't see anything!" + if (M.ear_damage >= 15) + to_chat(M, "Your ears start to ring badly!") + if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang))) + if (prob(M.ear_damage - 10 + 5)) + to_chat(M, "You can't hear anything!") + M.sdisabilities |= DEAF + else if(M.ear_damage >= 5) + to_chat(M, "Your ears start to ring!") + + M.update_icons() //Forces matrix transform to proc if they are now laying, I guess? /obj/item/weapon/grenade/flashbang/Destroy() walk(src, 0) // Because we might have called walk_away, we must stop the walk loop or BYOND keeps an internal reference to us forever. diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index b46d987b4cc..5854e02cac6 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -72,7 +72,7 @@ return if(user) - msg_admin_attack("[user.name] ([user.ckey]) primed \a [src] (JMP)") + msg_admin_attack("[key_name_admin(user)] primed \a [src.name]") icon_state = initial(icon_state) + "_active" active = 1 diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index b1f623081de..e6a5fc09e44 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -18,7 +18,13 @@ var/cuff_sound = 'sound/weapons/handcuffs.ogg' var/cuff_type = "handcuffs" var/use_time = 30 - sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/handcuffs.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/handcuffs.dmi') + +/obj/item/weapon/handcuffs/get_worn_icon_state(var/slot_name) + if(slot_name == slot_handcuffed_str) + return "handcuff1" //Simple + + return ..() /obj/item/weapon/handcuffs/attack(var/mob/living/carbon/C, var/mob/living/user) @@ -76,9 +82,7 @@ if(!can_place(target, user)) //victim may have resisted out of the grab in the meantime return 0 - H.attack_log += text("\[[time_stamp()]\] Has been handcuffed (attempt) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Attempted to handcuff [H.name] ([H.ckey])") - msg_admin_attack("[key_name(user)] attempted to handcuff [key_name(H)]") + add_attack_logs(user,H,"Handcuffed (attempt)") feedback_add_details("handcuffs","H") user.setClickCooldown(user.get_attack_speed(src)) @@ -97,6 +101,13 @@ target.update_inv_handcuffed() return 1 +/obj/item/weapon/handcuffs/equipped(var/mob/living/user,var/slot) + . = ..() + if(slot == slot_handcuffed) + user.drop_r_hand() + user.drop_l_hand() + user.stop_pulling() + var/last_chew = 0 /mob/living/carbon/human/RestrainedClickOn(var/atom/A) if (A != src) return ..() @@ -112,10 +123,11 @@ var/last_chew = 0 var/obj/item/organ/external/O = H.organs_by_name[(H.hand ? BP_L_HAND : BP_R_HAND)] if (!O) return - var/s = "[H.name] chews on \his [O.name]!" + var/datum/gender/T = gender_datums[H.get_visible_gender()] + + var/s = "[H.name] chews on [T.his] [O.name]!" H.visible_message(s, "You chew on your [O.name]!") - H.attack_log += text("\[[time_stamp()]\] [s] ([H.ckey])") - log_attack("[s] ([H.ckey])") + add_attack_logs(H,H,"chewed own [O.name]") if(O.take_damage(3,0,1,1,"teeth marks")) H:UpdateDamageIcon() @@ -208,6 +220,12 @@ var/last_chew = 0 breakouttime = 30 cuff_sound = 'sound/weapons/towelwipe.ogg' //Is there anything this sound can't do? +/obj/item/weapon/handcuffs/legcuffs/get_worn_icon_state(var/slot_name) + if(slot_name == slot_legcuffed_str) + return "legcuff1" + + return ..() + /obj/item/weapon/handcuffs/legcuffs/bola/can_place(var/mob/target, var/mob/user) if(user) //A ranged legcuff, until proper implementation as items it remains a projectile-only thing. return 1 @@ -247,7 +265,7 @@ var/last_chew = 0 place_legcuffs(user, user) return - if(!C.handcuffed) + if(!C.legcuffed) if (C == user) place_legcuffs(user, user) return @@ -281,9 +299,7 @@ var/last_chew = 0 if(!can_place(target, user)) //victim may have resisted out of the grab in the meantime return 0 - H.attack_log += text("\[[time_stamp()]\] Has been legcuffed (attempt) by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Attempted to legcuff [H.name] ([H.ckey])") - msg_admin_attack("[key_name(user)] attempted to legcuff [key_name(H)]") + add_attack_logs(user,H,"Legcuffed (attempt)") feedback_add_details("legcuffs","H") user.setClickCooldown(user.get_attack_speed(src)) @@ -301,3 +317,11 @@ var/last_chew = 0 target.legcuffed = lcuffs target.update_inv_legcuffed() return 1 + +/obj/item/weapon/handcuffs/legcuffs/equipped(var/mob/living/user,var/slot) + . = ..() + if(slot == slot_legcuffed) + if(user.m_intent != "walk") + user.m_intent = "walk" + if(user.hud_used && user.hud_used.move_intent) + user.hud_used.move_intent.icon_state = "walking" diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm index b5654dade7a..d0b2534463c 100644 --- a/code/game/objects/items/weapons/id cards/cards.dm +++ b/code/game/objects/items/weapons/id cards/cards.dm @@ -46,7 +46,6 @@ name = "\proper the coordinates to clown planet" icon_state = "data" item_state = "card-id" - layer = 3 level = 2 desc = "This card contains coordinates to the fabled Clown Planet. Handle with care." function = "teleporter" diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm index e0975361eb7..d3d8b4d1a64 100644 --- a/code/game/objects/items/weapons/id cards/station_ids.dm +++ b/code/game/objects/items/weapons/id cards/station_ids.dm @@ -5,7 +5,7 @@ item_state = "card-id" sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/id.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/id.dmi' ) var/access = list() @@ -55,8 +55,9 @@ name = "[src.registered_name]'s ID Card ([src.assignment])" /obj/item/weapon/card/id/proc/set_id_photo(var/mob/M) - front = getFlatIcon(M, SOUTH, always_use_defdir = 1) - side = getFlatIcon(M, WEST, always_use_defdir = 1) + var/icon/charicon = cached_character_icon(M) + front = icon(charicon,dir = SOUTH) + side = icon(charicon,dir = WEST) /mob/proc/set_id_info(var/obj/item/weapon/card/id/id_card) id_card.age = 0 @@ -112,15 +113,17 @@ usr << "The fingerprint hash on the card is [fingerprint_hash]." return -/obj/item/weapon/card/id/New() - ..() - var/datum/job/jobdatum - for(var/jobtype in typesof(/datum/job)) - var/datum/job/J = new jobtype - if(J.title == rank) - jobdatum = J - access = jobdatum.get_access() - return +/obj/item/weapon/card/id/get_worn_icon_state(var/slot_name) + if(slot_name == slot_wear_id_str) + return "id" //Legacy, just how it is. There's only one sprite. + + return ..() + +/obj/item/weapon/card/id/initialize() + . = ..() + var/datum/job/J = job_master.GetJob(rank) + if(J) + access = J.get_access() /obj/item/weapon/card/id/silver name = "identification card" @@ -151,7 +154,7 @@ job_access_type = /datum/job/captain /obj/item/weapon/card/id/gold/captain/spare - name = "colony director's spare ID" + name = "\improper Colony Director's spare ID" desc = "The spare ID of the High Lord himself." registered_name = "Colony Director" job_access_type = /datum/job/captain @@ -163,8 +166,8 @@ item_state = "tdgreen" assignment = "Synthetic" -/obj/item/weapon/card/id/synthetic/New() - ..() +/obj/item/weapon/card/id/synthetic/initialize() + . = ..() access = get_all_station_access() + access_synth /obj/item/weapon/card/id/centcom @@ -174,12 +177,12 @@ registered_name = "Central Command" assignment = "General" -/obj/item/weapon/card/id/centcom/New() +/obj/item/weapon/card/id/centcom/initialize() + . = ..() access = get_all_centcom_access() - ..() -/obj/item/weapon/card/id/centcom/station/New() - ..() +/obj/item/weapon/card/id/centcom/station/initialize() + . = ..() access |= get_all_station_access() /obj/item/weapon/card/id/centcom/ERT @@ -187,8 +190,8 @@ assignment = "Emergency Response Team" icon_state = "centcom" -/obj/item/weapon/card/id/centcom/ERT/New() - ..() +/obj/item/weapon/card/id/centcom/ERT/initialize() + . = ..() access |= get_all_station_access() // Department-flavor IDs @@ -414,4 +417,4 @@ desc = "An identification card of some sort. It does not look like it is issued by NT." icon_state = "permit" primary_color = rgb(142,94,0) - secondary_color = rgb(191,159,95) \ No newline at end of file + secondary_color = rgb(191,159,95) diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm index ce9e1c83a32..1cd5e9d7129 100644 --- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm +++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm @@ -6,12 +6,12 @@ var/electronic_warfare = 1 var/mob/registered_user = null -/obj/item/weapon/card/id/syndicate/New(mob/user as mob) - ..() +/obj/item/weapon/card/id/syndicate/initialize() + . = ..() access = syndicate_access.Copy() -/obj/item/weapon/card/id/syndicate/station_access/New() - ..() // Same as the normal Syndicate id, only already has all station access +/obj/item/weapon/card/id/syndicate/station_access/initialize() + . = ..() // Same as the normal Syndicate id, only already has all station access access |= get_all_station_access() /obj/item/weapon/card/id/syndicate/Destroy() diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 1d515e863b4..3e656b844b5 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -52,7 +52,9 @@ /obj/item/weapon/implant/Destroy() if(part) part.implants.Remove(src) + listening_objects.Remove(src) part = null + imp_in = null return ..() /obj/item/weapon/implant/attackby(obj/item/I, mob/user) @@ -69,7 +71,7 @@ /obj/item/weapon/implant/tracking name = "tracking implant" - desc = "Track with this." + desc = "An implant normally given to dangerous criminals. Allows security to track your location." var/id = 1 var/degrade_time = 10 MINUTES //How long before the implant stops working outside of a living body. @@ -82,7 +84,6 @@ /obj/item/weapon/implant/tracking/implanted(var/mob/source) processing_objects.Add(src) - listening_objects |= src return 1 /obj/item/weapon/implant/tracking/Destroy() @@ -451,6 +452,7 @@ the implant may become unstable and either pre-maturely inject the subject or si /obj/item/weapon/implant/death_alarm name = "death alarm implant" desc = "An alarm which monitors host vital signs and transmits a radio message upon death." + origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 2, TECH_DATA = 1) var/mobname = "Will Robinson" /obj/item/weapon/implant/death_alarm/get_data() @@ -534,6 +536,7 @@ the implant may become unstable and either pre-maturely inject the subject or si icon_state = "implant_evil" var/activation_emote = "sigh" var/obj/item/scanned = null + origin_tech = list(TECH_MATERIAL = 4, TECH_BIO = 2, TECH_ILLEGAL = 2) /obj/item/weapon/implant/compressed/get_data() var/dat = {" diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 87a76305c67..8052b19de60 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -54,7 +54,7 @@ if(user && M && (get_turf(M) == T1) && src && src.imp) M.visible_message("[M] has been implanted by [user].") - admin_attack_log(user, M, "Implanted using \the [src.name] ([src.imp.name])", "Implanted with \the [src.name] ([src.imp.name])", "used an implanter, [src.name] ([src.imp.name]), on") + add_attack_logs(user,M,"Implanted with [imp.name] using [name]") if(src.imp.implanted(M)) src.imp.loc = M diff --git a/code/game/objects/items/weapons/material/chainsaw.dm b/code/game/objects/items/weapons/material/chainsaw.dm index 7126fb3ef82..703512bf523 100644 --- a/code/game/objects/items/weapons/material/chainsaw.dm +++ b/code/game/objects/items/weapons/material/chainsaw.dm @@ -113,7 +113,8 @@ obj/item/weapon/chainsaw/examine(mob/user) to_chat(usr, "The [src] feels like it contains roughtly [get_fuel()] units of fuel left.") obj/item/weapon/chainsaw/suicide_act(mob/user) - to_chat(viewers(user), "[user] is lying down and pulling the chainsaw into \him, it looks like \he's trying to commit suicide!") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + to_chat(viewers(user), "[user] is lying down and pulling the chainsaw into [TU.him], it looks like [TU.he] [TU.is] trying to commit suicide!") return(BRUTELOSS) obj/item/weapon/chainsaw/update_icon() diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 02f48b15d05..94bc9e8f692 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -68,9 +68,10 @@ attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") /obj/item/weapon/material/knife/suicide_act(mob/user) - viewers(user) << pick("\The [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ - "\The [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.", \ - "\The [user] is slitting \his stomach open with \the [src]! It looks like \he's trying to commit seppuku.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << pick("\The [user] is slitting [TU.his] wrists with \the [src]! It looks like [TU.hes] trying to commit suicide.", \ + "\The [user] is slitting [TU.his] throat with \the [src]! It looks like [TU.hes] trying to commit suicide.", \ + "\The [user] is slitting [TU.his] stomach open with \the [src]! It looks like [TU.hes] trying to commit seppuku.") return (BRUTELOSS) /obj/item/weapon/material/knife/hook @@ -98,13 +99,8 @@ icon_state = "machete" force_divisor = 0.3 // 18 when hardness 60 (steel) attack_verb = list("slashed", "chopped", "gouged", "ripped", "cut") - var/should_cleave = TRUE //Now hatchets inherit from the machete, and thus knives. Tables turned. - -// This cannot go into afterattack since some mobs delete themselves upon dying. -/obj/item/weapon/material/knife/machete/pre_attack(var/mob/living/target, var/mob/living/user) - if(should_cleave && istype(target)) - cleave(user, target) - ..() + can_cleave = TRUE //Now hatchets inherit from the machete, and thus knives. Tables turned. + slot_flags = SLOT_BELT /obj/item/weapon/material/knife/tacknife/survival name = "survival knife" diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 1ab2e747307..bbb8171b10b 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -8,17 +8,6 @@ force_divisor = 0.3 // 18 with hardness 60 (steel) attack_verb = list("jabbed","stabbed","ripped") -/obj/item/weapon/material/knuckledusters - name = "knuckle dusters" - desc = "A pair of brass knuckles. Generally used to enhance the user's punches." - icon_state = "knuckledusters" - gender = PLURAL - w_class = ITEMSIZE_SMALL - force_divisor = 0.63 - dulled_divisor = 0.75 //It's a heavy bit of metal - attack_verb = list("punched", "beaten", "struck") - applies_material_colour = 0 - /obj/item/weapon/material/knife/machete/hatchet name = "hatchet" desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." @@ -39,7 +28,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "unathiknife" attack_verb = list("ripped", "torn", "cut") - should_cleave = FALSE + can_cleave = FALSE var hits = 0 /obj/item/weapon/material/knife/machete/hatchet/unathiknife/attack(mob/M as mob, mob/user as mob) @@ -111,7 +100,7 @@ user.put_in_hands(S) else visible_message("[user] starts compacting the snowball.", "You start compacting the snowball.") - if(do_after(user, 2000)) + if(do_after(user, 2 SECONDS)) var/atom/S = new /obj/item/weapon/material/snow/snowball/reinforced(user.loc) del(src) user.put_in_hands(S) @@ -119,6 +108,6 @@ /obj/item/weapon/material/snow/snowball/reinforced name = "snowball" desc = "A well-formed and fun snowball. It looks kind of dangerous." - icon_state = "snowball-reinf" + //icon_state = "reinf-snowball" force_divisor = 0.20 - thrown_force_divisor = 0.25 \ No newline at end of file + thrown_force_divisor = 0.25 diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index 4fb71725635..ba7438a6851 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -17,8 +17,9 @@ drops_debris = 0 /obj/item/weapon/material/shard/suicide_act(mob/user) - viewers(user) << pick("\The [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", - "\The [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << pick("\The [user] is slitting [TU.his] wrists with \the [src]! It looks like [TU.hes] trying to commit suicide.", + "\The [user] is slitting [TU.his] throat with \the [src]! It looks like [TU.hes] trying to commit suicide.") return (BRUTELOSS) /obj/item/weapon/material/shard/set_material(var/new_material) diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index e73bcc8f9c9..9efe9113609 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -19,7 +19,8 @@ return 0 /obj/item/weapon/material/sword/suicide_act(mob/user) - viewers(user) << "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide." + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << "[user] is falling on the [src.name]! It looks like [TU.he] [TU.is] trying to commit suicide." return(BRUTELOSS) /obj/item/weapon/material/sword/katana @@ -29,5 +30,6 @@ slot_flags = SLOT_BELT | SLOT_BACK /obj/item/weapon/material/sword/katana/suicide_act(mob/user) - viewers(user) << "[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku." + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + visible_message(span("danger", "[user] is slitting [TU.his] stomach open with \the [src.name]! It looks like [TU.hes] trying to commit seppuku."), span("danger", "You slit your stomach open with \the [src.name]!"), span("danger", "You hear the sound of flesh tearing open.")) // gory, but it gets the point across return(BRUTELOSS) diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 7aa29c7932f..acc3132712b 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -29,7 +29,7 @@ /obj/item/weapon/material/twohanded/update_held_icon() var/mob/living/M = loc - if(istype(M) && !issmall(M) && M.item_is_in_hands(src) && !M.hands_are_full()) + if(istype(M) && M.can_wield_item(src) && is_held_twohanded(M)) wielded = 1 force = force_wielded name = "[base_name] (wielded)" @@ -94,6 +94,7 @@ force_wielded = 30 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") applies_material_colour = 0 + can_cleave = TRUE /obj/item/weapon/material/twohanded/fireaxe/update_held_icon() var/mob/living/M = loc @@ -124,12 +125,6 @@ var/obj/effect/plant/P = A P.die_off() -// This cannot go into afterattack since some mobs delete themselves upon dying. -/obj/item/weapon/material/twohanded/fireaxe/pre_attack(var/mob/living/target, var/mob/living/user) - if(istype(target)) - cleave(user, target) - ..() - /obj/item/weapon/material/twohanded/fireaxe/scythe icon_state = "scythe0" base_icon = "scythe" diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index c2952cfc1e5..ad30eb0a57f 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -39,9 +39,10 @@ set_light(0,0) /obj/item/weapon/melee/energy/attack_self(mob/living/user as mob) + var/datum/gender/TU = gender_datums[user.get_visible_gender()] if (active) if ((CLUMSY in user.mutations) && prob(50)) - user.visible_message("\The [user] accidentally cuts \himself with \the [src].",\ + user.visible_message("\The [user] accidentally cuts [TU.himself] with \the [src].",\ "You accidentally cut yourself with \the [src].") user.take_organ_damage(5,5) deactivate(user) @@ -57,10 +58,10 @@ return /obj/item/weapon/melee/energy/suicide_act(mob/user) - var/tempgender = "[user.gender == MALE ? "he's" : user.gender == FEMALE ? "she's" : "they are"]" + var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(active) - user.visible_message(pick("\The [user] is slitting \his stomach open with \the [src]! It looks like [tempgender] trying to commit seppuku.",\ - "\The [user] is falling on \the [src]! It looks like [tempgender] trying to commit suicide.")) + user.visible_message(pick("\The [user] is slitting [TU.his] stomach open with \the [src]! It looks like [TU.he] [TU.is] trying to commit seppuku.",\ + "\The [user] is falling on \the [src]! It looks like [TU.he] [TU.is] trying to commit suicide.")) return (BRUTELOSS|FIRELOSS) /* @@ -86,6 +87,7 @@ attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") sharp = 1 edge = 1 + can_cleave = TRUE /obj/item/weapon/melee/energy/axe/activate(mob/living/user) ..() @@ -97,14 +99,9 @@ icon_state = initial(icon_state) to_chat(user, "\The [src] is de-energised. It's just a regular axe now.") -// This cannot go into afterattack since some mobs delete themselves upon dying. -/obj/item/weapon/melee/energy/axe/pre_attack(var/mob/living/target, var/mob/living/user) - if(istype(target)) - cleave(user, target) - ..() - /obj/item/weapon/melee/energy/axe/suicide_act(mob/user) - visible_message("\The [user] swings \the [src] towards \his head! It looks like \he's trying to commit suicide.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + visible_message("\The [user] swings \the [src] towards [TU.his] head! It looks like [TU.he] [TU.is] trying to commit suicide.") return (BRUTELOSS|FIRELOSS) /* diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 3554cd45c0f..81f233cdec7 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -11,5 +11,80 @@ attack_verb = list("flogged", "whipped", "lashed", "disciplined") suicide_act(mob/user) - viewers(user) << "\The [user] is strangling \himself with \the [src]! It looks like \he's trying to commit suicide." + var/datum/gender/T = gender_datums[user.get_visible_gender()] + user.visible_message(span("danger", "\The [user] [T.is] strangling [T.himself] with \the [src]! It looks like [T.he] [T.is] trying to commit suicide."), span("danger", "You start to strangle yourself with \the [src]!"), span("danger", "You hear the sound of someone choking!")) return (OXYLOSS) + +/obj/item/weapon/melee/umbrella + name = "umbrella" + desc = "To keep the rain off you. Use with caution on windy days." + icon = 'icons/obj/items.dmi' + icon_state = "umbrella_closed" + addblends = "umbrella_closed_a" + flags = CONDUCT + slot_flags = SLOT_BELT + force = 5 + throwforce = 5 + w_class = ITEMSIZE_NORMAL + var/open = FALSE + +/obj/item/weapon/melee/umbrella/New() + ..() + update_icon() + +/obj/item/weapon/melee/umbrella/attack_self() + src.toggle_umbrella() + +/obj/item/weapon/melee/umbrella/proc/toggle_umbrella() + open = !open + icon_state = "umbrella_[open ? "open" : "closed"]" + addblends = icon_state + "_a" + item_state = icon_state + update_icon() + if(ishuman(src.loc)) + var/mob/living/carbon/human/H = src.loc + H.update_inv_l_hand(0) + H.update_inv_r_hand() + ..() + +// Randomizes color +/obj/item/weapon/melee/umbrella/random/New() + color = "#"+get_random_colour() + ..() + +/obj/item/weapon/melee/cursedblade + name = "crystal blade" + desc = "The red crystal blade's polished surface glints in the light, giving off a faint glow." + icon_state = "soulblade" + slot_flags = SLOT_BELT | SLOT_BACK + force = 30 + throwforce = 10 + w_class = ITEMSIZE_NORMAL + sharp = 1 + edge = 1 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' + can_speak = 1 + var/list/voice_mobs = list() //The curse of the sword is that it has someone trapped inside. + + +/obj/item/weapon/melee/cursedblade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") + if(default_parry_check(user, attacker, damage_source) && prob(50)) + user.visible_message("\The [user] parries [attack_text] with \the [src]!") + playsound(user.loc, 'sound/weapons/punchmiss.ogg', 50, 1) + return 1 + return 0 + +/obj/item/weapon/melee/cursedblade/proc/ghost_inhabit(var/mob/candidate) + if(!isobserver(candidate)) + return + //Handle moving the ghost into the new shell. + announce_ghost_joinleave(candidate, 0, "They are occupying a cursed sword now.") + var/mob/living/voice/new_voice = new /mob/living/voice(src) //Make the voice mob the ghost is going to be. + new_voice.transfer_identity(candidate) //Now make the voice mob load from the ghost's active character in preferences. + new_voice.mind = candidate.mind //Transfer the mind, if any. + new_voice.ckey = candidate.ckey //Finally, bring the client over. + new_voice.name = "cursed sword" //Cursed swords shouldn't be known characters. + new_voice.real_name = "cursed sword" + voice_mobs.Add(new_voice) + listening_objects |= src \ No newline at end of file diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index ce0ee6b5e7c..43183d45f44 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -12,15 +12,15 @@ var/apply_tape = FALSE /obj/item/taperoll/initialize() - ..() + . = ..() if(apply_tape) var/turf/T = get_turf(src) if(!T) return - var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in T - if(airlock) - afterattack(airlock, null, TRUE) - qdel(src) + var/obj/machinery/door/door = locate(/obj/machinery/door) in T + if((door == /obj/machinery/door/airlock) || (door == /obj/machinery/door/firedoor)) + afterattack(door, null, TRUE) + return INITIALIZE_HINT_QDEL var/list/image/hazard_overlays @@ -30,7 +30,7 @@ var/list/tape_roll_applications = list() name = "tape" icon = 'icons/policetape.dmi' anchored = 1 - layer = 3.2 + layer = WINDOW_LAYER var/lifted = 0 var/crumpled = 0 var/tape_dir = 0 @@ -250,14 +250,14 @@ var/list/tape_roll_applications = list() if(!proximity) return - if (istype(A, /obj/machinery/door/airlock)) + if (istype(A, /obj/machinery/door)) var/turf/T = get_turf(A) if(locate(/obj/item/tape, A.loc)) user << "There's already tape over that door!" else var/obj/item/tape/P = new tape_type(T) P.update_icon() - P.layer = 3.2 + P.layer = WINDOW_LAYER user << "You finish placing \the [src]." if (istype(A, /turf/simulated/floor) ||istype(A, /turf/unsimulated/floor)) @@ -307,10 +307,11 @@ var/list/tape_roll_applications = list() /obj/item/tape/proc/lift(time) lifted = 1 - layer = 8 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER spawn(time) lifted = 0 - layer = initial(layer) + reset_plane_and_layer() // Returns a list of all tape objects connected to src, including itself. /obj/item/tape/proc/gettapeline() diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index d34bb3565d6..cee423a627b 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -8,7 +8,7 @@ icon = 'icons/obj/clothing/backpack.dmi' icon_state = "backpack" sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/back.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi' ) w_class = ITEMSIZE_LARGE slot_flags = SLOT_BACK @@ -47,22 +47,18 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 14 // 56 storage_cost = INVENTORY_STANDARD_SPACE + 1 - New() - ..() +/obj/item/weapon/storage/backpack/holding/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/storage/backpack/holding)) + user << "The Bluespace interfaces of the two devices conflict and malfunction." + qdel(W) return + . = ..() - attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/storage/backpack/holding)) - user << "The Bluespace interfaces of the two devices conflict and malfunction." - qdel(W) - return - ..() - - //Please don't clutter the parent storage item with stupid hacks. - can_be_inserted(obj/item/W as obj, stop_messages = 0) - if(istype(W, /obj/item/weapon/storage/backpack/holding)) - return 1 - return ..() +//Please don't clutter the parent storage item with stupid hacks. +/obj/item/weapon/storage/backpack/holding/can_be_inserted(obj/item/W as obj, stop_messages = 0) + if(istype(W, /obj/item/weapon/storage/backpack/holding)) + return 1 + return ..() /obj/item/weapon/storage/backpack/santabag name = "\improper Santa's gift bag" @@ -142,18 +138,18 @@ /obj/item/weapon/storage/backpack/dufflebag/syndie name = "black dufflebag" - desc = "A large dufflebag for holding extra tactical supplies." + desc = "A large dufflebag for holding extra tactical supplies. This one appears to be made out of lighter material than usual." icon_state = "duffle_syndie" slowdown = 0 /obj/item/weapon/storage/backpack/dufflebag/syndie/med name = "medical dufflebag" - desc = "A large dufflebag for holding extra tactical medical supplies." + desc = "A large dufflebag for holding extra tactical medical supplies. This one appears to be made out of lighter material than usual." icon_state = "duffle_syndiemed" /obj/item/weapon/storage/backpack/dufflebag/syndie/ammo name = "ammunition dufflebag" - desc = "A large dufflebag for holding extra weapons ammunition and supplies." + desc = "A large dufflebag for holding extra weapons ammunition and supplies. This one appears to be made out of lighter material than usual." icon_state = "duffle_syndieammo" /obj/item/weapon/storage/backpack/dufflebag/captain @@ -197,9 +193,7 @@ item_state_slots = list(slot_r_hand_str = "briefcase", slot_l_hand_str = "briefcase") /obj/item/weapon/storage/backpack/satchel/withwallet - New() - ..() - new /obj/item/weapon/storage/wallet/random( src ) + starts_with = list(/obj/item/weapon/storage/wallet/random) /obj/item/weapon/storage/backpack/satchel/norm name = "satchel" @@ -399,28 +393,28 @@ return if(!parachute) //This packs the parachute - visible_message("\The [H] starts to pack \the [src]!", \ + H.visible_message("\The [H] starts to pack \the [src]!", \ "You start to pack \the [src]!", \ "You hear the shuffling of cloth.") if(do_after(H, 50)) - visible_message("\The [H] finishes packing \the [src]!", \ + H.visible_message("\The [H] finishes packing \the [src]!", \ "You finish packing \the [src]!", \ "You hear the shuffling of cloth.") parachute = TRUE else - visible_message("\The [src] gives up on packing \the [src]!", \ + H.visible_message("\The [src] gives up on packing \the [src]!", \ "You give up on packing \the [src]!") return else //This unpacks the parachute - visible_message("\The [src] starts to unpack \the [src]!", \ + H.visible_message("\The [src] starts to unpack \the [src]!", \ "You start to unpack \the [src]!", \ "You hear the shuffling of cloth.") if(do_after(H, 25)) - visible_message("\The [src] finishes unpacking \the [src]!", \ + H.visible_message("\The [src] finishes unpacking \the [src]!", \ "You finish unpacking \the [src]!", \ "You hear the shuffling of cloth.") parachute = FALSE else - visible_message("\The [src] decides not to unpack \the [src]!", \ + H.visible_message("\The [src] decides not to unpack \the [src]!", \ "You decide not to unpack \the [src]!") - return \ No newline at end of file + return diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 01ca1c77966..5b205534301 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -68,6 +68,9 @@ // ----------------------------- // Mining Satchel // ----------------------------- +/* + * Mechoid - Orebags are the most common quick-gathering thing, and also have tons of lag associated with it. Their checks are going to be hyper-simplified due to this, and their INCREDIBLY singular target contents. + */ /obj/item/weapon/storage/bag/ore name = "mining satchel" @@ -79,7 +82,80 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL can_hold = list(/obj/item/weapon/ore) + var/stored_ore = list() + var/last_update = 0 +/obj/item/weapon/storage/bag/ore/remove_from_storage(obj/item/W as obj, atom/new_location) + if(!istype(W)) return 0 + + if(new_location) + if(ismob(loc)) + W.dropped(usr) + if(ismob(new_location)) + W.hud_layerise() + else + W.reset_plane_and_layer() + W.forceMove(new_location) + else + W.forceMove(get_turf(src)) + + W.on_exit_storage(src) + update_icon() + return 1 + +/obj/item/weapon/storage/bag/ore/gather_all(turf/T as turf, mob/user as mob, var/silent = 0) + var/success = 0 + var/failure = 0 + for(var/obj/item/weapon/ore/I in T) //Only ever grabs ores. Doesn't do any extraneous checks, as all ore is the same size. Tons of checks means it causes hanging for up to three seconds. + if(contents.len >= max_storage_space) + failure = 1 + break + I.forceMove(src) + success = 1 + if(success && !failure && !silent) + to_chat(user, "You put everything in [src].") + else if(success && (!silent || (silent && contents.len >= max_storage_space))) + to_chat(user, "You fill the [src].") + else if(!silent) + to_chat(user, "You fail to pick anything up with \the [src].") + +/obj/item/weapon/storage/bag/ore/examine(mob/user) + ..() + + if(!Adjacent(user)) //Can only check the contents of ore bags if you can physically reach them. + return + + if(istype(user, /mob/living)) + add_fingerprint(user) + + if(!contents.len) + to_chat(user, "It is empty.") + return + + if(world.time > last_update + 10) + update_ore_count() + last_update = world.time + + to_chat(user, "It holds:") + for(var/ore in stored_ore) + to_chat(user, "- [stored_ore[ore]] [ore]") + return + +/obj/item/weapon/storage/bag/ore/open(mob/user as mob) //No opening it for the weird UI of having shit-tons of ore inside it. + if(world.time > last_update + 10) + update_ore_count() + last_update = world.time + examine(user) + +/obj/item/weapon/storage/bag/ore/proc/update_ore_count() //Stolen from ore boxes. + + stored_ore = list() + + for(var/obj/item/weapon/ore/O in contents) + if(stored_ore[O.name]) + stored_ore[O.name]++ + else + stored_ore[O.name] = 1 // ----------------------------- // Plant bag @@ -112,121 +188,116 @@ storage_slots = 7 allow_quick_empty = 1 // this function is superceded - New() - ..() - //verbs -= /obj/item/weapon/storage/verb/quick_empty - //verbs += /obj/item/weapon/storage/bag/sheetsnatcher/quick_empty - can_be_inserted(obj/item/W as obj, stop_messages = 0) - if(!istype(W,/obj/item/stack/material)) - if(!stop_messages) - usr << "The snatcher does not accept [W]." - return 0 - var/current = 0 - for(var/obj/item/stack/material/S in contents) - current += S.amount - if(capacity == current)//If it's full, you're done - if(!stop_messages) - usr << "The snatcher is full." - return 0 - return 1 +/obj/item/weapon/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W as obj, stop_messages = 0) + if(!istype(W,/obj/item/stack/material)) + if(!stop_messages) + usr << "The snatcher does not accept [W]." + return 0 + var/current = 0 + for(var/obj/item/stack/material/S in contents) + current += S.amount + if(capacity == current)//If it's full, you're done + if(!stop_messages) + usr << "The snatcher is full." + return 0 + return 1 // Modified handle_item_insertion. Would prefer not to, but... - handle_item_insertion(obj/item/W as obj, prevent_warning = 0) - var/obj/item/stack/material/S = W - if(!istype(S)) return 0 +/obj/item/weapon/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) + var/obj/item/stack/material/S = W + if(!istype(S)) return 0 - var/amount - var/inserted = 0 - var/current = 0 - for(var/obj/item/stack/material/S2 in contents) - current += S2.amount - if(capacity < current + S.amount)//If the stack will fill it up - amount = capacity - current + var/amount + var/inserted = 0 + var/current = 0 + for(var/obj/item/stack/material/S2 in contents) + current += S2.amount + if(capacity < current + S.amount)//If the stack will fill it up + amount = capacity - current + else + amount = S.amount + + for(var/obj/item/stack/material/sheet in contents) + if(S.type == sheet.type) // we are violating the amount limitation because these are not sane objects + sheet.amount += amount // they should only be removed through procs in this file, which split them up. + S.amount -= amount + inserted = 1 + break + + if(!inserted || !S.amount) + usr.remove_from_mob(S) + usr.update_icons() //update our overlays + if (usr.client && usr.s_active != src) + usr.client.screen -= S + S.dropped(usr) + if(!S.amount) + qdel(S) else - amount = S.amount + S.loc = src - for(var/obj/item/stack/material/sheet in contents) - if(S.type == sheet.type) // we are violating the amount limitation because these are not sane objects - sheet.amount += amount // they should only be removed through procs in this file, which split them up. - S.amount -= amount - inserted = 1 - break - - if(!inserted || !S.amount) - usr.remove_from_mob(S) - usr.update_icons() //update our overlays - if (usr.client && usr.s_active != src) - usr.client.screen -= S - S.dropped(usr) - if(!S.amount) - qdel(S) - else - S.loc = src - - orient2hud(usr) - if(usr.s_active) - usr.s_active.show_to(usr) - update_icon() - return 1 + orient2hud(usr) + if(usr.s_active) + usr.s_active.show_to(usr) + update_icon() + return 1 // Sets up numbered display to show the stack size of each stored mineral // NOTE: numbered display is turned off currently because it's broken - orient2hud(mob/user as mob) - var/adjusted_contents = contents.len +/obj/item/weapon/storage/bag/sheetsnatcher/orient2hud(mob/user as mob) + var/adjusted_contents = contents.len - //Numbered contents display - var/list/datum/numbered_display/numbered_contents - if(display_contents_with_number) - numbered_contents = list() - adjusted_contents = 0 - for(var/obj/item/stack/material/I in contents) - adjusted_contents++ - var/datum/numbered_display/D = new/datum/numbered_display(I) - D.number = I.amount - numbered_contents.Add( D ) - - var/row_num = 0 - var/col_count = min(7,storage_slots) -1 - if (adjusted_contents > 7) - row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width. - src.slot_orient_objs(row_num, col_count, numbered_contents) - return + //Numbered contents display + var/list/datum/numbered_display/numbered_contents + if(display_contents_with_number) + numbered_contents = list() + adjusted_contents = 0 + for(var/obj/item/stack/material/I in contents) + adjusted_contents++ + var/datum/numbered_display/D = new/datum/numbered_display(I) + D.number = I.amount + numbered_contents.Add( D ) + var/row_num = 0 + var/col_count = min(7,storage_slots) -1 + if (adjusted_contents > 7) + row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width. + src.slot_orient_objs(row_num, col_count, numbered_contents) + return // Modified quick_empty verb drops appropriate sized stacks - quick_empty() - var/location = get_turf(src) - for(var/obj/item/stack/material/S in contents) - while(S.amount) - var/obj/item/stack/material/N = new S.type(location) - var/stacksize = min(S.amount,N.max_amount) - N.amount = stacksize - S.amount -= stacksize - if(!S.amount) - qdel(S) // todo: there's probably something missing here - orient2hud(usr) - if(usr.s_active) - usr.s_active.show_to(usr) - update_icon() +/obj/item/weapon/storage/bag/sheetsnatcher/quick_empty() + var/location = get_turf(src) + for(var/obj/item/stack/material/S in contents) + while(S.amount) + var/obj/item/stack/material/N = new S.type(location) + var/stacksize = min(S.amount,N.max_amount) + N.amount = stacksize + S.amount -= stacksize + if(!S.amount) + qdel(S) // todo: there's probably something missing here + orient2hud(usr) + if(usr.s_active) + usr.s_active.show_to(usr) + update_icon() // Instead of removing - remove_from_storage(obj/item/W as obj, atom/new_location) - var/obj/item/stack/material/S = W - if(!istype(S)) return 0 +/obj/item/weapon/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W as obj, atom/new_location) + var/obj/item/stack/material/S = W + if(!istype(S)) return 0 - //I would prefer to drop a new stack, but the item/attack_hand code - // that calls this can't recieve a different object than you clicked on. - //Therefore, make a new stack internally that has the remainder. - // -Sayu + //I would prefer to drop a new stack, but the item/attack_hand code + // that calls this can't recieve a different object than you clicked on. + //Therefore, make a new stack internally that has the remainder. + // -Sayu - if(S.amount > S.max_amount) - var/obj/item/stack/material/temp = new S.type(src) - temp.amount = S.amount - S.max_amount - S.amount = S.max_amount + if(S.amount > S.max_amount) + var/obj/item/stack/material/temp = new S.type(src) + temp.amount = S.amount - S.max_amount + S.amount = S.max_amount - return ..(S,new_location) + return ..(S,new_location) // ----------------------------- // Sheet Snatcher (Cyborg) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 9e98fe58eca..e4482932b1b 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -8,7 +8,7 @@ max_w_class = ITEMSIZE_NORMAL slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") - sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/belt.dmi') + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/belt.dmi') var/show_above_suit = 0 @@ -22,6 +22,16 @@ show_above_suit = !show_above_suit update_icon() +//Some belts have sprites to show icons +/obj/item/weapon/storage/belt/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0) + var/image/standing = ..() + if(!inhands && contents.len) + for(var/obj/item/i in contents) + var/i_state = i.item_state + if(!i_state) i_state = i.icon_state + standing.add_overlay(image(icon = INV_BELT_DEF_ICON, icon_state = i_state)) + return standing + /obj/item/weapon/storage/update_icon() if (ismob(src.loc)) var/mob/M = src.loc @@ -59,23 +69,25 @@ /obj/item/device/integrated_electronics/wirer, ) -/obj/item/weapon/storage/belt/utility/full/New() - ..() - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange")) +/obj/item/weapon/storage/belt/utility/full + starts_with = list( + /obj/item/weapon/screwdriver, + /obj/item/weapon/wrench, + /obj/item/weapon/weldingtool, + /obj/item/weapon/crowbar, + /obj/item/weapon/wirecutters, + /obj/item/stack/cable_coil/random_belt + ) -/obj/item/weapon/storage/belt/utility/atmostech/New() - ..() - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/device/t_scanner(src) +/obj/item/weapon/storage/belt/utility/atmostech + starts_with = list( + /obj/item/weapon/screwdriver, + /obj/item/weapon/wrench, + /obj/item/weapon/weldingtool, + /obj/item/weapon/crowbar, + /obj/item/weapon/wirecutters, + /obj/item/device/t_scanner + ) /obj/item/weapon/storage/belt/utility/chief name = "chief engineer's toolbelt" @@ -83,15 +95,16 @@ icon_state = "utilitybelt_ce" item_state = "utility_ce" -/obj/item/weapon/storage/belt/utility/chief/full/New() - ..() - new /obj/item/weapon/screwdriver/power(src) - new /obj/item/weapon/crowbar/power(src) - new /obj/item/weapon/weldingtool/experimental(src) - new /obj/item/device/multitool(src) - new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange")) - new /obj/item/weapon/extinguisher/mini(src) - new /obj/item/device/analyzer(src) +/obj/item/weapon/storage/belt/utility/chief/full + starts_with = list( + /obj/item/weapon/screwdriver/power, + /obj/item/weapon/crowbar/power, + /obj/item/weapon/weldingtool/experimental, + /obj/item/device/multitool, + /obj/item/stack/cable_coil/random_belt, + /obj/item/weapon/extinguisher/mini, + /obj/item/device/analyzer + ) /obj/item/weapon/storage/belt/medical name = "medical belt" @@ -121,7 +134,8 @@ /obj/item/weapon/crowbar, /obj/item/device/flashlight, /obj/item/weapon/cell/device, - /obj/item/weapon/extinguisher/mini + /obj/item/weapon/extinguisher/mini, + /obj/item/weapon/storage/quickdraw/syringe_case ) /obj/item/weapon/storage/belt/medical/emt @@ -216,14 +230,8 @@ /obj/item/device/soulstone ) -/obj/item/weapon/storage/belt/soulstone/full/New() - ..() - new /obj/item/device/soulstone(src) - new /obj/item/device/soulstone(src) - new /obj/item/device/soulstone(src) - new /obj/item/device/soulstone(src) - new /obj/item/device/soulstone(src) - new /obj/item/device/soulstone(src) +/obj/item/weapon/storage/belt/soulstone/full + starts_with = list(/obj/item/device/soulstone = 6) /obj/item/weapon/storage/belt/utility/alien name = "alien belt" @@ -232,15 +240,16 @@ icon_state = "belt" item_state = "security" -/obj/item/weapon/storage/belt/utility/alien/full/New() - ..() - new /obj/item/weapon/screwdriver/alien(src) - new /obj/item/weapon/wrench/alien(src) - new /obj/item/weapon/weldingtool/alien(src) - new /obj/item/weapon/crowbar/alien(src) - new /obj/item/weapon/wirecutters/alien(src) - new /obj/item/device/multitool/alien(src) - new /obj/item/stack/cable_coil/alien(src) +/obj/item/weapon/storage/belt/utility/alien/full + starts_with = list( + /obj/item/weapon/screwdriver/alien, + /obj/item/weapon/wrench/alien, + /obj/item/weapon/weldingtool/alien, + /obj/item/weapon/crowbar/alien, + /obj/item/weapon/wirecutters/alien, + /obj/item/device/multitool/alien, + /obj/item/stack/cable_coil/alien + ) /obj/item/weapon/storage/belt/medical/alien name = "alien belt" @@ -277,16 +286,17 @@ /obj/item/weapon/surgical ) -/obj/item/weapon/storage/belt/medical/alien/New() - ..() - new /obj/item/weapon/surgical/scalpel/alien(src) - new /obj/item/weapon/surgical/hemostat/alien(src) - new /obj/item/weapon/surgical/retractor/alien(src) - new /obj/item/weapon/surgical/circular_saw/alien(src) - new /obj/item/weapon/surgical/FixOVein/alien(src) - new /obj/item/weapon/surgical/bone_clamp/alien(src) - new /obj/item/weapon/surgical/cautery/alien(src) - new /obj/item/weapon/surgical/surgicaldrill/alien(src) +/obj/item/weapon/storage/belt/medical/alien + starts_with = list( + /obj/item/weapon/surgical/scalpel/alien, + /obj/item/weapon/surgical/hemostat/alien, + /obj/item/weapon/surgical/retractor/alien, + /obj/item/weapon/surgical/circular_saw/alien, + /obj/item/weapon/surgical/FixOVein/alien, + /obj/item/weapon/surgical/bone_clamp/alien, + /obj/item/weapon/surgical/cautery/alien, + /obj/item/weapon/surgical/surgicaldrill/alien + ) /obj/item/weapon/storage/belt/champion name = "championship belt" @@ -363,7 +373,9 @@ /obj/item/weapon/storage/excavation, /obj/item/weapon/anobattery, /obj/item/device/ano_scanner, - /obj/item/weapon/pickaxe/hand + /obj/item/weapon/pickaxe/hand, + /obj/item/device/xenoarch_multi_tool, + /obj/item/weapon/pickaxe/excavationdrill ) /obj/item/weapon/storage/belt/fannypack diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index 933970b335b..783d8cd74ae 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -14,12 +14,13 @@ icon_state ="bible" /obj/item/weapon/storage/bible/booze/New() - ..() - new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src) - new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src) - new /obj/item/weapon/spacecash/c100(src) - new /obj/item/weapon/spacecash/c100(src) - new /obj/item/weapon/spacecash/c100(src) + starts_with = list( + /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, + /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer, + /obj/item/weapon/spacecash/c100, + /obj/item/weapon/spacecash/c100, + /obj/item/weapon/spacecash/c100 + ) /obj/item/weapon/storage/bible/afterattack(atom/A, mob/user as mob, proximity) if(!proximity) return diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 31547916b14..f7e43ac7182 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -23,7 +23,7 @@ name = "box" desc = "It's just an ordinary box." icon_state = "box" - item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + item_state = "syringe_kit" var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard max_w_class = ITEMSIZE_SMALL max_storage_space = INVENTORY_BOX_SPACE @@ -52,412 +52,278 @@ new foldable(get_turf(src)) qdel(src) -/obj/item/weapon/storage/box/survival/New() - ..() - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency/oxygen(src) +/obj/item/weapon/storage/box/survival + name = "emergency supply box" + desc = "A survival box issued to crew members for use in emergency situations." + starts_with = list( + /obj/item/clothing/mask/breath + ) -/obj/item/weapon/storage/box/vox/New() - ..() - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency/phoron(src) +/obj/item/weapon/storage/box/survival/synth + name = "synthetic supply box" + desc = "A survival box issued to synthetic crew members for use in emergency situations." + starts_with = list() -/obj/item/weapon/storage/box/engineer/New() - ..() - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) +/obj/item/weapon/storage/box/survival/comp + name = "emergency supply box" + desc = "A comprehensive survival box issued to crew members for use in emergency situations. Contains additional supplies." + icon_state = "survival" + starts_with = list( + /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/stack/medical/bruise_pack, + /obj/item/device/flashlight/glowstick, + /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/clothing/mask/breath + ) /obj/item/weapon/storage/box/gloves name = "box of latex gloves" desc = "Contains white gloves." icon_state = "latex" - -/obj/item/weapon/storage/box/gloves/New() - ..() - for(var/i = 1 to 7) - new /obj/item/clothing/gloves/sterile/latex(src) + starts_with = list(/obj/item/clothing/gloves/sterile/latex = 7) /obj/item/weapon/storage/box/masks name = "box of sterile masks" desc = "This box contains masks of sterility." icon_state = "sterile" - -/obj/item/weapon/storage/box/masks/New() - ..() - for(var/i = 1 to 7) - new /obj/item/clothing/mask/surgical(src) + starts_with = list(/obj/item/clothing/mask/surgical = 7) /obj/item/weapon/storage/box/syringes name = "box of syringes" desc = "A box full of syringes." icon_state = "syringe" - -/obj/item/weapon/storage/box/syringes/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/syringe(src) + starts_with = list(/obj/item/weapon/reagent_containers/syringe = 7) /obj/item/weapon/storage/box/syringegun name = "box of syringe gun cartridges" desc = "A box full of compressed gas cartridges." icon_state = "syringe" - -/obj/item/weapon/storage/box/syringegun/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/syringe_cartridge(src) + starts_with = list(/obj/item/weapon/syringe_cartridge = 7) /obj/item/weapon/storage/box/beakers name = "box of beakers" icon_state = "beaker" - -/obj/item/weapon/storage/box/beakers/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/glass/beaker(src) + starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker = 7) /obj/item/weapon/storage/box/injectors name = "box of DNA injectors" desc = "This box contains injectors it seems." - -/obj/item/weapon/storage/box/injectors/New() - ..() - for(var/i = 1 to 3) - new /obj/item/weapon/dnainjector/h2m(src) - for(var/i = 1 to 3) - new /obj/item/weapon/dnainjector/m2h(src) + starts_with = list( + /obj/item/weapon/dnainjector/h2m = 3, + /obj/item/weapon/dnainjector/m2h = 3 + ) /obj/item/weapon/storage/box/blanks name = "box of blank shells" desc = "It has a picture of a gun and several warning symbols on the front." icon_state = "blankshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g/blank = 8) -/obj/item/weapon/storage/box/blanks/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/blank(src) - -/obj/item/weapon/storage/box/blanks/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/blank(src) +/obj/item/weapon/storage/box/blanks/large + starts_with = list(/obj/item/ammo_casing/a12g/blank = 16) /obj/item/weapon/storage/box/beanbags name = "box of beanbag shells" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." icon_state = "beanshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - -/obj/item/weapon/storage/box/beanbags/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/beanbag(src) + starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 8) /obj/item/weapon/storage/box/beanbags/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/beanbag(src) + starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 16) /obj/item/weapon/storage/box/shotgunammo name = "box of shotgun slugs" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." icon_state = "lethalshellshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g = 8) -/obj/item/weapon/storage/box/shotgunammo/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g(src) - -/obj/item/weapon/storage/box/shotgunammo/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g(src) +/obj/item/weapon/storage/box/shotgunammo/large + starts_with = list(/obj/item/ammo_casing/a12g = 16) /obj/item/weapon/storage/box/shotgunshells name = "box of shotgun shells" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." icon_state = "lethalslug_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g/pellet = 8) -/obj/item/weapon/storage/box/shotgunshells/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/pellet(src) - -/obj/item/weapon/storage/box/shotgunshells/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/pellet(src) +/obj/item/weapon/storage/box/shotgunshells/large + starts_with = list(/obj/item/ammo_casing/a12g/pellet = 16) /obj/item/weapon/storage/box/flashshells name = "box of illumination shells" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." icon_state = "illumshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g/flash = 8) -/obj/item/weapon/storage/box/flashshells/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/flash(src) - -/obj/item/weapon/storage/box/flashshells/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/flash(src) +/obj/item/weapon/storage/box/flashshells/large + starts_with = list(/obj/item/ammo_casing/a12g/flash = 16) /obj/item/weapon/storage/box/stunshells name = "box of stun shells" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." icon_state = "stunshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g/stunshell = 8) -/obj/item/weapon/storage/box/stunshells/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/stunshell(src) - -/obj/item/weapon/storage/box/stunshells/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/stunshell(src) +/obj/item/weapon/storage/box/stunshells/large + starts_with = list(/obj/item/ammo_casing/a12g/stunshell = 16) /obj/item/weapon/storage/box/practiceshells name = "box of practice shells" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." icon_state = "blankshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g/practice = 8) -/obj/item/weapon/storage/box/practiceshells/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/practice(src) - -/obj/item/weapon/storage/box/practiceshells/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/practice(src) +/obj/item/weapon/storage/box/practiceshells/large + starts_with = list(/obj/item/ammo_casing/a12g/practice = 16) /obj/item/weapon/storage/box/empshells name = "box of emp shells" desc = "It has a picture of a gun and several warning symbols on the front." icon_state = "empshot_box" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + starts_with = list(/obj/item/ammo_casing/a12g/emp = 8) -/obj/item/weapon/storage/box/empshells/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/emp(src) - -/obj/item/weapon/storage/box/empshells/large/New() - ..() - for(var/i = 1 to 8) - new /obj/item/ammo_casing/a12g/emp(src) +/obj/item/weapon/storage/box/empshells/large + starts_with = list(/obj/item/ammo_casing/a12g/emp = 16) /obj/item/weapon/storage/box/sniperammo name = "box of 14.5mm shells" desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death." - -/obj/item/weapon/storage/box/sniperammo/New() - ..() - for(var/i = 1 to 7) - new /obj/item/ammo_casing/a145(src) + starts_with = list(/obj/item/ammo_casing/a145 = 7) /obj/item/weapon/storage/box/flashbangs name = "box of flashbangs (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." icon_state = "flashbang" - -/obj/item/weapon/storage/box/flashbangs/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/flashbang(src) + starts_with = list(/obj/item/weapon/grenade/flashbang = 7) /obj/item/weapon/storage/box/emps name = "box of emp grenades" desc = "A box containing 5 military grade EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur." icon_state = "emp" - -/obj/item/weapon/storage/box/emps/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/empgrenade(src) + starts_with = list(/obj/item/weapon/grenade/empgrenade = 7) /obj/item/weapon/storage/box/empslite name = "box of low yield emp grenades" desc = "A box containing 5 low yield EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur." icon_state = "emp" - -/obj/item/weapon/storage/box/empslite/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/empgrenade/low_yield(src) + starts_with = list(/obj/item/weapon/grenade/empgrenade/low_yield = 7) /obj/item/weapon/storage/box/smokes name = "box of smoke bombs" desc = "A box containing 7 smoke bombs." icon_state = "flashbang" - -/obj/item/weapon/storage/box/smokes/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/smokebomb(src) + starts_with = list(/obj/item/weapon/grenade/smokebomb = 7) /obj/item/weapon/storage/box/anti_photons name = "box of anti-photon grenades" desc = "A box containing 7 experimental photon disruption grenades." icon_state = "flashbang" - -/obj/item/weapon/storage/box/anti_photons/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/anti_photon(src) + starts_with = list(/obj/item/weapon/grenade/anti_photon = 7) /obj/item/weapon/storage/box/frags name = "box of fragmentation grenades (WARNING)" desc = "A box containing 7 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use." icon_state = "frag" - -/obj/item/weapon/storage/box/frags/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/explosive(src) + starts_with = list(/obj/item/weapon/grenade/explosive = 7) /obj/item/weapon/storage/box/frags_half_box name = "box of fragmentation grenades (WARNING)" desc = "A box containing 4 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use." icon_state = "frag" - -/obj/item/weapon/storage/box/frags_half_box/New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/grenade/explosive(src) + starts_with = list(/obj/item/weapon/grenade/explosive = 4) /obj/item/weapon/storage/box/metalfoam name = "box of metal foam grenades." desc = "A box containing 7 metal foam grenades." icon_state = "flashbang" - -/obj/item/weapon/storage/box/metalfoam/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + starts_with = list(/obj/item/weapon/grenade/chem_grenade/metalfoam = 7) /obj/item/weapon/storage/box/teargas name = "box of teargas grenades" desc = "A box containing 7 teargas grenades." icon_state = "flashbang" - -/obj/item/weapon/storage/box/teargas/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/grenade/chem_grenade/teargas(src) + starts_with = list(/obj/item/weapon/grenade/chem_grenade/teargas = 7) /obj/item/weapon/storage/box/flare name = "box of flares" desc = "A box containing 4 flares." - -/obj/item/weapon/storage/box/flare/New() - ..() - for(var/i = 1 to 4) - new /obj/item/device/flashlight/flare(src) + starts_with = list(/obj/item/device/flashlight/flare = 4) /obj/item/weapon/storage/box/trackimp name = "boxed tracking implant kit" desc = "Box full of scum-bag tracking utensils." icon_state = "implant" - -/obj/item/weapon/storage/box/trackimp/New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/implantcase/tracking(src) - new /obj/item/weapon/implanter(src) - new /obj/item/weapon/implantpad(src) - new /obj/item/weapon/locator(src) + starts_with = list( + /obj/item/weapon/implantcase/tracking = 4, + /obj/item/weapon/implanter, + /obj/item/weapon/implantpad, + /obj/item/weapon/locator + ) /obj/item/weapon/storage/box/chemimp name = "boxed chemical implant kit" desc = "Box of stuff used to implant chemicals." icon_state = "implant" - -/obj/item/weapon/storage/box/chemimp/New() - ..() - for(var/i = 1 to 5) - new /obj/item/weapon/implantcase/chem(src) - new /obj/item/weapon/implanter(src) - new /obj/item/weapon/implantpad(src) + starts_with = list( + /obj/item/weapon/implantcase/chem = 5, + /obj/item/weapon/implanter, + /obj/item/weapon/implantpad + ) /obj/item/weapon/storage/box/camerabug name = "mobile camera pod box" desc = "A box containing some mobile camera pods." icon_state = "pda" - -/obj/item/weapon/storage/box/camerabug/New() - ..() - for(var/i = 1 to 6) - new /obj/item/device/camerabug(src) - new /obj/item/device/bug_monitor(src) + starts_with = list( + /obj/item/device/camerabug = 6, + /obj/item/device/bug_monitor + ) /obj/item/weapon/storage/box/rxglasses name = "box of prescription glasses" desc = "This box contains nerd glasses." icon_state = "glasses" - -/obj/item/weapon/storage/box/rxglasses/New() - ..() - for(var/i = 1 to 7) - new /obj/item/clothing/glasses/regular(src) + starts_with = list(/obj/item/clothing/glasses/regular = 7) /obj/item/weapon/storage/box/cdeathalarm_kit name = "death alarm kit" desc = "Box of stuff used to implant death alarms." icon_state = "implant" item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") - -/obj/item/weapon/storage/box/cdeathalarm_kit/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/implantcase/death_alarm(src) - new /obj/item/weapon/implanter(src) + starts_with = list( + /obj/item/weapon/implantcase/death_alarm = 7, + /obj/item/weapon/implanter + ) /obj/item/weapon/storage/box/condimentbottles name = "box of condiment bottles" desc = "It has a large ketchup smear on it." - -/obj/item/weapon/storage/box/condimentbottles/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/food/condiment(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/condiment = 7) /obj/item/weapon/storage/box/cups name = "box of paper cups" desc = "It has pictures of paper cups on the front." - -/obj/item/weapon/storage/box/cups/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/sillycup = 7) /obj/item/weapon/storage/box/donkpockets name = "box of donk-pockets" desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." icon_state = "donk_kit" - -/obj/item/weapon/storage/box/donkpockets/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket = 7) /obj/item/weapon/storage/box/sinpockets name = "box of sin-pockets" desc = "Instructions: Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes." icon_state = "donk_kit" - -/obj/item/weapon/storage/box/sinpockets/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 7) /obj/item/weapon/storage/box/monkeycubes name = "monkey cube box" @@ -465,88 +331,51 @@ icon = 'icons/obj/food.dmi' icon_state = "monkeycubebox" can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube) - -/obj/item/weapon/storage/box/monkeycubes/New() - ..() - if(type == /obj/item/weapon/storage/box/monkeycubes) - for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped = 4) /obj/item/weapon/storage/box/monkeycubes/farwacubes name = "farwa cube box" desc = "Drymate brand farwa cubes, shipped from Meralar. Just add water!" - -/obj/item/weapon/storage/box/monkeycubes/farwacubes/New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube = 4) /obj/item/weapon/storage/box/monkeycubes/stokcubes name = "stok cube box" desc = "Drymate brand stok cubes, shipped from Moghes. Just add water!" - -/obj/item/weapon/storage/box/monkeycubes/stokcubes/New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube = 4) /obj/item/weapon/storage/box/monkeycubes/neaeracubes name = "neaera cube box" desc = "Drymate brand neaera cubes, shipped from Jargon 4. Just add water!" - -/obj/item/weapon/storage/box/monkeycubes/neaeracubes/New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube(src) + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube = 4) /obj/item/weapon/storage/box/ids name = "box of spare IDs" desc = "Has so many empty IDs." icon_state = "id" - -/obj/item/weapon/storage/box/ids/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/card/id(src) + starts_with = list(/obj/item/weapon/card/id = 7) /obj/item/weapon/storage/box/seccarts name = "box of spare R.O.B.U.S.T. Cartridges" desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security." icon_state = "pda" - -/obj/item/weapon/storage/box/seccarts/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/cartridge/security(src) + starts_with = list(/obj/item/weapon/cartridge/security = 7) /obj/item/weapon/storage/box/handcuffs name = "box of spare handcuffs" desc = "A box full of handcuffs." icon_state = "handcuff" - -/obj/item/weapon/storage/box/handcuffs/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/handcuffs(src) + starts_with = list(/obj/item/weapon/handcuffs = 7) /obj/item/weapon/storage/box/mousetraps name = "box of Pest-B-Gon mousetraps" desc = "WARNING: Keep out of reach of children." icon_state = "mousetraps" - -/obj/item/weapon/storage/box/mousetraps/New() - ..() - for(var/i = 1 to 7) - new /obj/item/device/assembly/mousetrap(src) + starts_with = list(/obj/item/device/assembly/mousetrap = 7) /obj/item/weapon/storage/box/pillbottles name = "box of pill bottles" desc = "It has pictures of pill bottles on its front." - -/obj/item/weapon/storage/box/pillbottles/New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/storage/pill_bottle(src) + starts_with = list(/obj/item/weapon/storage/pill_bottle = 7) /obj/item/weapon/storage/box/snappops name = "snap pop box" @@ -554,11 +383,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "spbox" can_hold = list(/obj/item/toy/snappop) - -/obj/item/weapon/storage/box/snappops/New() - ..() - for(var/i = 1 to 8) - new /obj/item/toy/snappop(src) + starts_with = list(/obj/item/toy/snappop = 8) /obj/item/weapon/storage/box/matches name = "matchbox" @@ -568,11 +393,7 @@ w_class = ITEMSIZE_TINY slot_flags = SLOT_BELT can_hold = list(/obj/item/weapon/flame/match) - -/obj/item/weapon/storage/box/matches/New() - ..() - for(var/i=1 to 10) - new /obj/item/weapon/flame/match(src) + starts_with = list(/obj/item/weapon/flame/match = 10) /obj/item/weapon/storage/box/matches/attackby(obj/item/weapon/flame/match/W as obj, mob/user as mob) if(istype(W) && !W.lit && !W.burnt) @@ -587,11 +408,7 @@ name = "box of injectors" desc = "Contains autoinjectors." icon_state = "syringe" - -/obj/item/weapon/storage/box/autoinjectors/New() - ..() - for (var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src) + starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 7) /obj/item/weapon/storage/box/lights name = "box of replacement bulbs" @@ -604,30 +421,21 @@ max_storage_space = ITEMSIZE_COST_SMALL * 24 //holds 24 items of w_class 2 use_to_pickup = 1 // for picking up broken bulbs, not that most people will try -/obj/item/weapon/storage/box/lights/bulbs/New() - ..() - for(var/i = 1 to 24) - new /obj/item/weapon/light/bulb(src) +/obj/item/weapon/storage/box/lights/bulbs + starts_with = list(/obj/item/weapon/light/bulb = 24) /obj/item/weapon/storage/box/lights/tubes name = "box of replacement tubes" icon_state = "lighttube" - -/obj/item/weapon/storage/box/lights/tubes/New() - ..() - for(var/i = 1 to 24) - new /obj/item/weapon/light/tube(src) + starts_with = list(/obj/item/weapon/light/tube = 24) /obj/item/weapon/storage/box/lights/mixed name = "box of replacement lights" icon_state = "lightmixed" - -/obj/item/weapon/storage/box/lights/mixed/New() - ..() - for(var/i = 1 to 16) - new /obj/item/weapon/light/tube(src) - for(var/i = 1 to 8) - new /obj/item/weapon/light/bulb(src) + starts_with = list( + /obj/item/weapon/light/tube = 16, + /obj/item/weapon/light/bulb = 8 + ) /obj/item/weapon/storage/box/freezer name = "portable freezer" @@ -660,17 +468,9 @@ /obj/item/weapon/storage/box/ambrosia name = "ambrosia seeds box" desc = "Contains the seeds you need to get a little high." - -/obj/item/weapon/storage/box/ambrosia/New() - ..() - for(var/i = 1 to 7) - new /obj/item/seeds/ambrosiavulgarisseed(src) + starts_with = list(/obj/item/seeds/ambrosiavulgarisseed = 7) /obj/item/weapon/storage/box/ambrosiadeus name = "ambrosia deus seeds box" desc = "Contains the seeds you need to get a proper healthy high." - -/obj/item/weapon/storage/box/ambrosiadeus/New() - ..() - for(var/i = 1 to 7) - new /obj/item/seeds/ambrosiadeusseed(src) + starts_with = list(/obj/item/seeds/ambrosiadeusseed = 7) diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 3df73b97939..c1de372dc19 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -10,6 +10,8 @@ * Candle Box * Crayon Box * Cigarette Box + * Vial Box + * Box of Chocolates */ /obj/item/weapon/storage/fancy/ @@ -50,12 +52,7 @@ /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/boiledegg ) - -/obj/item/weapon/storage/fancy/egg_box/New() - ..() - for(var/i=1 to storage_slots) - new /obj/item/weapon/reagent_containers/food/snacks/egg(src) - return + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/egg = 12) /* * Candle Box @@ -70,12 +67,7 @@ item_state = "candlebox5" throwforce = 2 slot_flags = SLOT_BELT - -/obj/item/weapon/storage/fancy/candle_box/New() - ..() - for(var/i=1 to 5) - new /obj/item/weapon/flame/candle(src) - return + starts_with = list(/obj/item/weapon/flame/candle = 5) /* * Crayon Box @@ -91,31 +83,76 @@ can_hold = list( /obj/item/weapon/pen/crayon ) + starts_with = list( + /obj/item/weapon/pen/crayon/red, + /obj/item/weapon/pen/crayon/orange, + /obj/item/weapon/pen/crayon/yellow, + /obj/item/weapon/pen/crayon/green, + /obj/item/weapon/pen/crayon/blue, + /obj/item/weapon/pen/crayon/purple + ) -/obj/item/weapon/storage/fancy/crayons/New() - ..() - new /obj/item/weapon/pen/crayon/red(src) - new /obj/item/weapon/pen/crayon/orange(src) - new /obj/item/weapon/pen/crayon/yellow(src) - new /obj/item/weapon/pen/crayon/green(src) - new /obj/item/weapon/pen/crayon/blue(src) - new /obj/item/weapon/pen/crayon/purple(src) +/obj/item/weapon/storage/fancy/crayons/initialize() + . = ..() update_icon() /obj/item/weapon/storage/fancy/crayons/update_icon() - overlays = list() //resets list - overlays += image('icons/obj/crayons.dmi',"crayonbox") + var/mutable_appearance/ma = new(src) + ma.overlays = list() for(var/obj/item/weapon/pen/crayon/crayon in contents) - overlays += image('icons/obj/crayons.dmi',crayon.colourName) + ma.overlays += image('icons/obj/crayons.dmi',crayon.colourName) + appearance = ma /obj/item/weapon/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/pen/crayon)) switch(W:colourName) if("mime") - usr << "This crayon is too sad to be contained in this box." + to_chat(user, "This crayon is too sad to be contained in this box.") return if("rainbow") - usr << "This crayon is too powerful to be contained in this box." + to_chat(user, "This crayon is too powerful to be contained in this box.") + return + ..() + +/obj/item/weapon/storage/fancy/markers + name = "box of markers" + desc = "A very professional looking box of permanent markers." + icon = 'icons/obj/crayons.dmi' + icon_state = "markerbox" + w_class = ITEMSIZE_SMALL + icon_type = "marker" + can_hold = list( + /obj/item/weapon/pen/crayon/marker + ) + starts_with = list( + /obj/item/weapon/pen/crayon/marker/black, + /obj/item/weapon/pen/crayon/marker/red, + /obj/item/weapon/pen/crayon/marker/orange, + /obj/item/weapon/pen/crayon/marker/yellow, + /obj/item/weapon/pen/crayon/marker/green, + /obj/item/weapon/pen/crayon/marker/blue, + /obj/item/weapon/pen/crayon/marker/purple + ) + +/obj/item/weapon/storage/fancy/markers/initialize() + . = ..() + update_icon() + +/obj/item/weapon/storage/fancy/markers/update_icon() + var/mutable_appearance/ma = new(src) + ma.overlays = list() + for(var/obj/item/weapon/pen/crayon/marker/marker in contents) + ma.overlays += image('icons/obj/crayons.dmi',"m"+marker.colourName) + appearance = ma + +/obj/item/weapon/storage/fancy/markers/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/pen/crayon/marker)) + switch(W:colourName) + if("mime") + to_chat(user, "This marker is too depressing to be contained in this box.") + return + if("rainbow") + to_chat(user, "This marker is too childish to be contained in this box.") return ..() @@ -134,13 +171,12 @@ storage_slots = 6 can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/weapon/flame/lighter) icon_type = "cigarette" + starts_with = list(/obj/item/clothing/mask/smokable/cigarette = 6) var/brand = "\improper Trans-Stellar Duty-free" -/obj/item/weapon/storage/fancy/cigarettes/New() - ..() +/obj/item/weapon/storage/fancy/cigarettes/initialize() + . = ..() flags |= NOREACT - for(var/i = 1 to storage_slots) - new /obj/item/clothing/mask/smokable/cigarette(src) create_reagents(15 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one flags |= OPENCONTAINER if(brand) @@ -199,10 +235,6 @@ icon_state = "Bpacket" brand = "\improper Acme Co. cigarette" -// New() -// ..() -// fill_cigarre_package(src,list("fuel" = 15)) - // New exciting ways to kill your lungs! - Earthcrusher // /obj/item/weapon/storage/fancy/cigarettes/luckystars @@ -246,12 +278,11 @@ storage_slots = 7 can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar) icon_type = "cigar" + starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar = 7) -/obj/item/weapon/storage/fancy/cigar/New() - ..() +/obj/item/weapon/storage/fancy/cigar/initialize() + . = ..() flags |= NOREACT - for(var/i = 1 to storage_slots) - new /obj/item/clothing/mask/smokable/cigarette/cigar(src) create_reagents(15 * storage_slots) /obj/item/weapon/storage/fancy/cigar/update_icon() @@ -259,10 +290,22 @@ return /obj/item/weapon/storage/fancy/cigar/remove_from_storage(obj/item/W as obj, atom/new_location) - var/obj/item/clothing/mask/smokable/cigarette/cigar/C = W - if(!istype(C)) return - reagents.trans_to_obj(C, (reagents.total_volume/contents.len)) - ..() + var/obj/item/clothing/mask/smokable/cigarette/cigar/C = W + if(!istype(C)) return + reagents.trans_to_obj(C, (reagents.total_volume/contents.len)) + ..() + +/obj/item/weapon/storage/rollingpapers + name = "rolling paper pack" + desc = "A small cardboard pack containing several folded rolling papers." + icon_state = "paperbox" + icon = 'icons/obj/cigarettes.dmi' + w_class = ITEMSIZE_TINY + throwforce = 2 + slot_flags = SLOT_BELT + storage_slots = 14 + can_hold = list(/obj/item/weapon/rollingpaper) + starts_with = list(/obj/item/weapon/rollingpaper = 14) /* * Vial Box @@ -275,12 +318,7 @@ name = "vial storage box" storage_slots = 6 can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial) - -/obj/item/weapon/storage/fancy/vials/New() - ..() - for(var/i=1 to 6) - new /obj/item/weapon/reagent_containers/glass/beaker/vial(src) - return + starts_with = list(/obj/item/weapon/reagent_containers/glass/beaker/vial = 6) /obj/item/weapon/storage/lockbox/vials name = "secure vial storage box" @@ -294,8 +332,8 @@ storage_slots = 6 req_access = list(access_virology) -/obj/item/weapon/storage/lockbox/vials/New() - ..() +/obj/item/weapon/storage/lockbox/vials/initialize() + . = ..() update_icon() /obj/item/weapon/storage/lockbox/vials/update_icon(var/itemremoved = 0) @@ -313,3 +351,36 @@ /obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() update_icon() + +/* + * Box of Chocolates/Heart Box + */ + +/obj/item/weapon/storage/fancy/heartbox + icon_state = "heartbox" + name = "box of chocolates" + icon_type = "chocolate" + + var/startswith = 6 + max_storage_space = ITEMSIZE_COST_SMALL * 6 + can_hold = list( + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + ) + starts_with = list( + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + ) + +/obj/item/weapon/storage/fancy/heartbox/initialize() + . = ..() + update_icon() + +/obj/item/weapon/storage/fancy/heartbox/update_icon(var/itemremoved = 0) + if (contents.len == 0) + icon_state = "heartbox_empty" diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 24ba099e8f9..9c4a44d76d7 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -13,157 +13,147 @@ icon_state = "firstaid" throw_speed = 2 throw_range = 8 - var/empty = 0 max_storage_space = ITEMSIZE_COST_SMALL * 7 // 14 + var/list/icon_variety +/obj/item/weapon/storage/firstaid/initialize() + . = ..() + if(icon_variety) + icon_state = pick(icon_variety) + icon_variety = null /obj/item/weapon/storage/firstaid/fire name = "fire first aid kit" desc = "It's an emergency medical kit for when the toxins lab spontaneously burns down." icon_state = "ointment" item_state_slots = list(slot_r_hand_str = "firstaid-ointment", slot_l_hand_str = "firstaid-ointment") - - New() - ..() - if (empty) return - - icon_state = pick("ointment","firefirstaid") - - new /obj/item/device/healthanalyzer( src ) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) - new /obj/item/stack/medical/ointment( src ) - new /obj/item/stack/medical/ointment( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) //Replaced ointment with these since they actually work --Errorage - return - + icon_variety = list("ointment","firefirstaid") + starts_with = list( + /obj/item/device/healthanalyzer, + /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/stack/medical/ointment, + /obj/item/stack/medical/ointment, + /obj/item/weapon/reagent_containers/pill/kelotane, + /obj/item/weapon/reagent_containers/pill/kelotane, + /obj/item/weapon/reagent_containers/pill/kelotane + ) /obj/item/weapon/storage/firstaid/regular icon_state = "firstaid" - - New() - ..() - if (empty) return - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/device/healthanalyzer(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) - return + starts_with = list( + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/ointment, + /obj/item/stack/medical/ointment, + /obj/item/device/healthanalyzer, + /obj/item/weapon/reagent_containers/hypospray/autoinjector + ) /obj/item/weapon/storage/firstaid/toxin name = "poison first aid kit" //IRL the term used would be poison first aid kit. desc = "Used to treat when one has a high amount of toxins in their body." icon_state = "antitoxin" item_state_slots = list(slot_r_hand_str = "firstaid-toxin", slot_l_hand_str = "firstaid-toxin") - - New() - ..() - if (empty) return - - icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") - - new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) - new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) - new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/device/healthanalyzer( src ) - return + icon_variety = list("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") + starts_with = list( + /obj/item/weapon/reagent_containers/syringe/antitoxin, + /obj/item/weapon/reagent_containers/syringe/antitoxin, + /obj/item/weapon/reagent_containers/syringe/antitoxin, + /obj/item/weapon/reagent_containers/pill/antitox, + /obj/item/weapon/reagent_containers/pill/antitox, + /obj/item/weapon/reagent_containers/pill/antitox, + /obj/item/device/healthanalyzer + ) /obj/item/weapon/storage/firstaid/o2 name = "oxygen deprivation first aid kit" desc = "A box full of oxygen goodies." icon_state = "o2" item_state_slots = list(slot_r_hand_str = "firstaid-o2", slot_l_hand_str = "firstaid-o2") - - New() - ..() - if (empty) return - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) - new /obj/item/device/healthanalyzer( src ) - return + starts_with = list( + /obj/item/weapon/reagent_containers/pill/dexalin, + /obj/item/weapon/reagent_containers/pill/dexalin, + /obj/item/weapon/reagent_containers/pill/dexalin, + /obj/item/weapon/reagent_containers/pill/dexalin, + /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/weapon/reagent_containers/syringe/inaprovaline, + /obj/item/device/healthanalyzer + ) /obj/item/weapon/storage/firstaid/adv name = "advanced first aid kit" desc = "Contains advanced medical treatments, for serious boo-boos." icon_state = "advfirstaid" item_state_slots = list(slot_r_hand_str = "firstaid-advanced", slot_l_hand_str = "firstaid-advanced") - -/obj/item/weapon/storage/firstaid/adv/New() - ..() - if (empty) return - new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src ) - new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/stack/medical/advanced/ointment(src) - new /obj/item/stack/medical/advanced/ointment(src) - new /obj/item/stack/medical/splint(src) - return + starts_with = list( + /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/stack/medical/advanced/bruise_pack, + /obj/item/stack/medical/advanced/bruise_pack, + /obj/item/stack/medical/advanced/bruise_pack, + /obj/item/stack/medical/advanced/ointment, + /obj/item/stack/medical/advanced/ointment, + /obj/item/stack/medical/splint + ) /obj/item/weapon/storage/firstaid/combat name = "combat medical kit" desc = "Contains advanced medical treatments." icon_state = "bezerk" item_state_slots = list(slot_r_hand_str = "firstaid-advanced", slot_l_hand_str = "firstaid-advanced") - -/obj/item/weapon/storage/firstaid/combat/New() - ..() - if (empty) return - new /obj/item/weapon/storage/pill_bottle/bicaridine(src) - new /obj/item/weapon/storage/pill_bottle/dermaline(src) - new /obj/item/weapon/storage/pill_bottle/dexalin_plus(src) - new /obj/item/weapon/storage/pill_bottle/dylovene(src) - new /obj/item/weapon/storage/pill_bottle/tramadol(src) - new /obj/item/weapon/storage/pill_bottle/spaceacillin(src) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting(src) - new /obj/item/stack/medical/splint(src) - return + starts_with = list( + /obj/item/weapon/storage/pill_bottle/bicaridine, + /obj/item/weapon/storage/pill_bottle/dermaline, + /obj/item/weapon/storage/pill_bottle/dexalin_plus, + /obj/item/weapon/storage/pill_bottle/dylovene, + /obj/item/weapon/storage/pill_bottle/tramadol, + /obj/item/weapon/storage/pill_bottle/spaceacillin, + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, + /obj/item/stack/medical/splint, + /obj/item/device/healthanalyzer/advanced + ) /obj/item/weapon/storage/firstaid/surgery name = "surgery kit" - desc = "Contains tools for surgery." - max_storage_space = ITEMSIZE_COST_NORMAL * 6 // Formally 21. Odd numbers should be avoided for a system based on exponents of 2. + desc = "Contains tools for surgery. Has precise foam fitting for safe transport and automatically sterilizes the content between uses." + icon_state = "surgerykit" + item_state = "firstaid-surgery" max_w_class = ITEMSIZE_NORMAL -/obj/item/weapon/storage/firstaid/surgery/New() - ..() - if (empty) return - new /obj/item/weapon/surgical/bonesetter(src) - new /obj/item/weapon/surgical/cautery(src) - new /obj/item/weapon/surgical/circular_saw(src) - new /obj/item/weapon/surgical/hemostat(src) - new /obj/item/weapon/surgical/retractor(src) - new /obj/item/weapon/surgical/scalpel(src) - new /obj/item/weapon/surgical/surgicaldrill(src) - new /obj/item/weapon/surgical/bonegel(src) - new /obj/item/weapon/surgical/FixOVein(src) - new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/device/healthanalyzer/advanced(src) - return + can_hold = list( + /obj/item/weapon/surgical/bonesetter, + /obj/item/weapon/surgical/cautery, + /obj/item/weapon/surgical/circular_saw, + /obj/item/weapon/surgical/hemostat, + /obj/item/weapon/surgical/retractor, + /obj/item/weapon/surgical/scalpel, + /obj/item/weapon/surgical/surgicaldrill, + /obj/item/weapon/surgical/bonegel, + /obj/item/weapon/surgical/FixOVein, + /obj/item/stack/medical/advanced/bruise_pack, + /obj/item/stack/nanopaste, + /obj/item/device/healthanalyzer/advanced + ) + + starts_with = list( + /obj/item/weapon/surgical/bonesetter, + /obj/item/weapon/surgical/cautery, + /obj/item/weapon/surgical/circular_saw, + /obj/item/weapon/surgical/hemostat, + /obj/item/weapon/surgical/retractor, + /obj/item/weapon/surgical/scalpel, + /obj/item/weapon/surgical/surgicaldrill, + /obj/item/weapon/surgical/bonegel, + /obj/item/weapon/surgical/FixOVein, + /obj/item/stack/medical/advanced/bruise_pack, + /obj/item/device/healthanalyzer/advanced + ) /obj/item/weapon/storage/firstaid/clotting name = "clotting kit" desc = "Contains chemicals to stop bleeding." max_storage_space = ITEMSIZE_COST_SMALL * 7 - -/obj/item/weapon/storage/firstaid/clotting/New() - ..() - if (empty) - return - for(var/i = 1 to 8) - new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting(src) - return + starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting = 8) /* * Pill Bottles @@ -183,170 +173,99 @@ max_storage_space = ITEMSIZE_COST_TINY * 14 max_w_class = ITEMSIZE_TINY + var/label_text = "" + var/base_name = " " + var/base_desc = " " + +/obj/item/weapon/storage/pill_bottle/New() + ..() + base_name = name + base_desc = desc + +/obj/item/weapon/storage/pill_bottle/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) + var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN) + if(length(tmp_label) > 50) + to_chat(user, "The label can be at most 50 characters long.") + else if(length(tmp_label) > 10) + to_chat(user, "You set the label.") + label_text = tmp_label + update_name_label() + else + to_chat(user, "You set the label to \"[tmp_label]\".") + label_text = tmp_label + update_name_label() + else + ..() + +/obj/item/weapon/storage/pill_bottle/proc/update_name_label() + if(!label_text) + name = base_name + desc = base_desc + return + else if(length(label_text) > 10) + var/short_label_text = copytext(label_text, 1, 11) + name = "[base_name] ([short_label_text]...)" + else + name = "[base_name] ([label_text])" + desc = "[base_desc] It is labeled \"[label_text]\"." + /obj/item/weapon/storage/pill_bottle/antitox name = "bottle of Dylovene pills" desc = "Contains pills used to counter toxins." - -/obj/item/weapon/storage/pill_bottle/antitox/New() //25u each - ..() - new /obj/item/weapon/reagent_containers/pill/antitox(src) - new /obj/item/weapon/reagent_containers/pill/antitox(src) - new /obj/item/weapon/reagent_containers/pill/antitox(src) - new /obj/item/weapon/reagent_containers/pill/antitox(src) - new /obj/item/weapon/reagent_containers/pill/antitox(src) - new /obj/item/weapon/reagent_containers/pill/antitox(src) - new /obj/item/weapon/reagent_containers/pill/antitox(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/antitox = 7) /obj/item/weapon/storage/pill_bottle/bicaridine name = "bottle of Bicaridine pills" desc = "Contains pills used to stabilize the severely injured." - -/obj/item/weapon/storage/pill_bottle/bicaridine/New() - ..() - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) - new /obj/item/weapon/reagent_containers/pill/bicaridine(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/bicaridine = 7) /obj/item/weapon/storage/pill_bottle/dexalin_plus name = "bottle of Dexalin Plus pills" desc = "Contains pills used to treat extreme cases of oxygen deprivation." - -/obj/item/weapon/storage/pill_bottle/dexalin_plus/New() - ..() - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) - new /obj/item/weapon/reagent_containers/pill/dexalin_plus(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/dexalin_plus = 7) /obj/item/weapon/storage/pill_bottle/dermaline name = "bottle of Dermaline pills" desc = "Contains pills used to treat burn wounds." - -/obj/item/weapon/storage/pill_bottle/dermaline/New() - ..() - new /obj/item/weapon/reagent_containers/pill/dermaline(src) - new /obj/item/weapon/reagent_containers/pill/dermaline(src) - new /obj/item/weapon/reagent_containers/pill/dermaline(src) - new /obj/item/weapon/reagent_containers/pill/dermaline(src) - new /obj/item/weapon/reagent_containers/pill/dermaline(src) - new /obj/item/weapon/reagent_containers/pill/dermaline(src) - new /obj/item/weapon/reagent_containers/pill/dermaline(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/dermaline = 7) /obj/item/weapon/storage/pill_bottle/dylovene name = "bottle of Dylovene pills" desc = "Contains pills used to treat toxic substances in the blood." - -/obj/item/weapon/storage/pill_bottle/dylovene/New() //15u each - ..() - new /obj/item/weapon/reagent_containers/pill/dylovene(src) - new /obj/item/weapon/reagent_containers/pill/dylovene(src) - new /obj/item/weapon/reagent_containers/pill/dylovene(src) - new /obj/item/weapon/reagent_containers/pill/dylovene(src) - new /obj/item/weapon/reagent_containers/pill/dylovene(src) - new /obj/item/weapon/reagent_containers/pill/dylovene(src) - new /obj/item/weapon/reagent_containers/pill/dylovene(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/dylovene = 7) /obj/item/weapon/storage/pill_bottle/inaprovaline name = "bottle of Inaprovaline pills" desc = "Contains pills used to stabilize patients." - -/obj/item/weapon/storage/pill_bottle/inaprovaline/New() - ..() - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) - new /obj/item/weapon/reagent_containers/pill/inaprovaline(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/inaprovaline = 7) /obj/item/weapon/storage/pill_bottle/kelotane name = "bottle of kelotane pills" desc = "Contains pills used to treat burns." - -/obj/item/weapon/storage/pill_bottle/kelotane/New() - ..() - new /obj/item/weapon/reagent_containers/pill/kelotane(src) - new /obj/item/weapon/reagent_containers/pill/kelotane(src) - new /obj/item/weapon/reagent_containers/pill/kelotane(src) - new /obj/item/weapon/reagent_containers/pill/kelotane(src) - new /obj/item/weapon/reagent_containers/pill/kelotane(src) - new /obj/item/weapon/reagent_containers/pill/kelotane(src) - new /obj/item/weapon/reagent_containers/pill/kelotane(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/kelotane = 7) /obj/item/weapon/storage/pill_bottle/spaceacillin name = "bottle of Spaceacillin pills" desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space." - -/obj/item/weapon/storage/pill_bottle/spaceacillin/New() - ..() - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) - new /obj/item/weapon/reagent_containers/pill/spaceacillin(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/spaceacillin = 7) /obj/item/weapon/storage/pill_bottle/tramadol name = "bottle of Tramadol pills" desc = "Contains pills used to relieve pain." - -/obj/item/weapon/storage/pill_bottle/tramadol/New() - ..() - new /obj/item/weapon/reagent_containers/pill/tramadol(src) - new /obj/item/weapon/reagent_containers/pill/tramadol(src) - new /obj/item/weapon/reagent_containers/pill/tramadol(src) - new /obj/item/weapon/reagent_containers/pill/tramadol(src) - new /obj/item/weapon/reagent_containers/pill/tramadol(src) - new /obj/item/weapon/reagent_containers/pill/tramadol(src) - new /obj/item/weapon/reagent_containers/pill/tramadol(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/tramadol = 7) /obj/item/weapon/storage/pill_bottle/citalopram name = "bottle of Citalopram pills" desc = "Contains pills used to stabilize a patient's mood." - -/obj/item/weapon/storage/pill_bottle/citalopram/New() - ..() - new /obj/item/weapon/reagent_containers/pill/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/citalopram(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/citalopram = 7) /obj/item/weapon/storage/pill_bottle/carbon name = "bottle of Carbon pills" desc = "Contains pills used to neutralise chemicals in the stomach." - -/obj/item/weapon/storage/pill_bottle/carbon/New() - ..() - new /obj/item/weapon/reagent_containers/pill/carbon(src) - new /obj/item/weapon/reagent_containers/pill/carbon(src) - new /obj/item/weapon/reagent_containers/pill/carbon(src) - new /obj/item/weapon/reagent_containers/pill/carbon(src) - new /obj/item/weapon/reagent_containers/pill/carbon(src) - new /obj/item/weapon/reagent_containers/pill/carbon(src) - new /obj/item/weapon/reagent_containers/pill/carbon(src) + starts_with = list(/obj/item/weapon/reagent_containers/pill/carbon = 7) /obj/item/weapon/storage/pill_bottle/iron name = "bottle of Iron pills" desc = "Contains pills used to aid in blood regeneration." - -/obj/item/weapon/storage/pill_bottle/iron/New() - ..() - new /obj/item/weapon/reagent_containers/pill/iron(src) - new /obj/item/weapon/reagent_containers/pill/iron(src) - new /obj/item/weapon/reagent_containers/pill/iron(src) - new /obj/item/weapon/reagent_containers/pill/iron(src) - new /obj/item/weapon/reagent_containers/pill/iron(src) - new /obj/item/weapon/reagent_containers/pill/iron(src) - new /obj/item/weapon/reagent_containers/pill/iron(src) \ No newline at end of file + starts_with = list(/obj/item/weapon/reagent_containers/pill/iron = 7) diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index e52ad4d8121..e9527b23134 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -77,36 +77,28 @@ /obj/item/weapon/storage/lockbox/loyalty name = "lockbox of loyalty implants" req_access = list(access_security) - - New() - ..() - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implanter/loyalty(src) - + starts_with = list( + /obj/item/weapon/implantcase/loyalty = 3, + /obj/item/weapon/implanter/loyalty + ) /obj/item/weapon/storage/lockbox/clusterbang name = "lockbox of clusterbangs" desc = "You have a bad feeling about opening this." req_access = list(access_security) - - New() - ..() - new /obj/item/weapon/grenade/flashbang/clusterbang(src) + starts_with = list(/obj/item/weapon/grenade/flashbang/clusterbang) /obj/item/weapon/storage/lockbox/medal name = "lockbox of medals" desc = "A lockbox filled with commemorative medals, it has the NanoTrasen logo stamped on it." req_access = list(access_heads) storage_slots = 7 - - New() - ..() - new /obj/item/clothing/accessory/medal/conduct(src) - new /obj/item/clothing/accessory/medal/bronze_heart(src) - new /obj/item/clothing/accessory/medal/nobel_science(src) - new /obj/item/clothing/accessory/medal/silver/valor(src) - new /obj/item/clothing/accessory/medal/silver/security(src) - new /obj/item/clothing/accessory/medal/gold/captain(src) - new /obj/item/clothing/accessory/medal/gold/heroism(src) \ No newline at end of file + starts_with = list( + /obj/item/clothing/accessory/medal/conduct, + /obj/item/clothing/accessory/medal/bronze_heart, + /obj/item/clothing/accessory/medal/nobel_science, + /obj/item/clothing/accessory/medal/silver/valor, + /obj/item/clothing/accessory/medal/silver/security, + /obj/item/clothing/accessory/medal/gold/captain, + /obj/item/clothing/accessory/medal/gold/heroism + ) diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index 64952046a56..d103fbc6ef2 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -6,17 +6,14 @@ icon = 'icons/obj/food.dmi' icon_state = "donutbox" name = "donut box" - var/startswith = 6 max_storage_space = ITEMSIZE_COST_SMALL * 6 can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut) foldable = /obj/item/stack/material/cardboard + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 6) -/obj/item/weapon/storage/box/donut/New() - ..() - for(var/i=1 to startswith) - new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src) +/obj/item/weapon/storage/box/donut/initialize() + . = ..() update_icon() - return /obj/item/weapon/storage/box/donut/update_icon() overlays.Cut() @@ -26,4 +23,4 @@ i++ /obj/item/weapon/storage/box/donut/empty - startswith = 0 + empty = TRUE diff --git a/code/game/objects/items/weapons/storage/quickdraw.dm b/code/game/objects/items/weapons/storage/quickdraw.dm new file mode 100644 index 00000000000..86d7c76ca2d --- /dev/null +++ b/code/game/objects/items/weapons/storage/quickdraw.dm @@ -0,0 +1,80 @@ +// ----------------------------- +// Quickdraw storage +// ----------------------------- +//These items are pouches and cases made to be kept in belts or pockets to quickly draw objects from +//Largely inspired by the vest pouches on Colonial Marines + +/obj/item/weapon/storage/quickdraw + name = "quickdraw" + desc = "This object should not appear" + + //Quickmode + //When set to 0, this storage will operate as a regular storage, and clicking on it while equipped will open it as a storage + //When set to 1, a click while it is equipped will instead move the first item inside it to your hand + var/quickmode = 0 + +/obj/item/weapon/storage/quickdraw/attack_hand(mob/user as mob) + if(src.loc == user) //If they aren't holding us, we do nothing special + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(quickmode) + var/first_item = contents[1] + if(first_item && !H.get_active_hand()) //Do we have anything to give you? + H.put_in_hands(first_item) + return + + if(H.l_store == src && !H.get_active_hand()) //overrides + src.open(user) + return + if(H.r_store == src && !H.get_active_hand()) + src.open(user) + return + ..() //Nothing special happened, go call the other proc + + +/obj/item/weapon/storage/quickdraw/verb/toggle_quickdraw() + set name = "Switch Quickdraw Mode" + set category = "Object" + + quickmode = !quickmode + switch (quickmode) + if(1) + to_chat(usr, "[src] now draws the first object inside.") + if(0) + to_chat(usr, "[src] now opens as a container.") + +/obj/item/weapon/storage/quickdraw/AltClick(mob/user) + ..() + if(src.loc == user) //Are they carrying us? + toggle_quickdraw() + + +// If we start adding more of these, we'll need to make them their own folder. 'til then, this one should be fine. + +// ----------------------------- +// Syringe case +// ----------------------------- + +/obj/item/weapon/storage/quickdraw/syringe_case + name = "syringe case" + desc = "A small case for safely carrying sharps around." + icon_state = "syringe_case" + + w_class = ITEMSIZE_SMALL + max_w_class = ITEMSIZE_TINY + max_storage_space = ITEMSIZE_TINY * 6 //Capable of holding six syringes + + //Can hold syringes and autoinjectors, but also pills if you really wanted. Syringe-shaped objects like pens and cigarettes also fit, but why would you do that? + can_hold = list(/obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/pen, /obj/item/device/flashlight/pen, /obj/item/clothing/mask/smokable/cigarette) + + quickmode = 1 //Starts in quickdraw mode + //Preloaded for your convenience! + starts_with = list( + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/reagent_containers/syringe + ) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 4d9be129f73..78a2d940ad8 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -184,15 +184,10 @@ anchored = 1.0 density = 0 cant_hold = list(/obj/item/weapon/storage/secure/briefcase) + starts_with = list( + /obj/item/weapon/paper, + /obj/item/weapon/pen + ) - New() - ..() - new /obj/item/weapon/paper(src) - new /obj/item/weapon/pen(src) - - attack_hand(mob/user as mob) - return attack_self(user) - -/obj/item/weapon/storage/secure/safe/HoS/New() - ..() - //new /obj/item/weapon/storage/lockbox/clusterbang(src) This item is currently broken... and probably shouldnt exist to begin with (even though it's cool) +/obj/item/weapon/storage/secure/safe/attack_hand(mob/user as mob) + return attack_self(user) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index eb29aaff41b..03ad1048103 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -35,6 +35,8 @@ var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile. var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile var/use_sound = "rustle" //sound played when used. null for no sound. + var/list/starts_with //Things to spawn on the box on spawn + var/empty //Mapper override to spawn an empty version of a container that usually has stuff /obj/item/weapon/storage/Destroy() close_all() @@ -52,7 +54,7 @@ if(!canremove) return - if (ishuman(usr) || issmall(usr)) //so monkeys can take off their backpacks -- Urist + if (isliving(usr) || isobserver(usr)) if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech. why? return @@ -139,7 +141,7 @@ is_seeing -= user /obj/item/weapon/storage/proc/open(mob/user as mob) - if (src.use_sound) + if (src.use_sound && !isobserver(user)) playsound(src.loc, src.use_sound, 50, 1, -5) orient2hud(user) @@ -352,12 +354,10 @@ //such as when picking up all the items on a tile with one click. /obj/item/weapon/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) if(!istype(W)) return 0 + if(usr) - usr.remove_from_mob(W) - usr.update_icons() //update our overlays - W.forceMove(src) - W.on_enter_storage(src) - if(usr) + usr.remove_from_mob(W,target = src) //If given a target, handles forceMove() + W.on_enter_storage(src) if (usr.client && usr.s_active != src) usr.client.screen -= W W.dropped(usr) @@ -375,6 +375,10 @@ src.orient2hud(usr) if(usr.s_active) usr.s_active.show_to(usr) + else + W.forceMove(src) + W.on_enter_storage(src) + update_icon() return 1 @@ -523,7 +527,8 @@ for(var/obj/item/I in contents) remove_from_storage(I, T) -/obj/item/weapon/storage/New() +/obj/item/weapon/storage/initialize() + . = ..() if(allow_quick_empty) verbs += /obj/item/weapon/storage/verb/quick_empty @@ -535,12 +540,6 @@ else verbs -= /obj/item/weapon/storage/verb/toggle_gathering_mode - spawn(5) - var/total_storage_space = 0 - for(var/obj/item/I in contents) - total_storage_space += I.get_storage_cost() - max_storage_space = max(total_storage_space,max_storage_space) //Prevents spawned containers from being too small for their contents. - src.boxes = new /obj/screen/storage( ) src.boxes.name = "storage" src.boxes.master = src @@ -579,7 +578,22 @@ src.closer.icon_state = "storage_close" src.closer.hud_layerise() orient2hud() - return + + if(LAZYLEN(starts_with) && !empty) + for(var/newtype in starts_with) + var/count = starts_with[newtype] || 1 //Could have left it blank. + while(count) + count-- + new newtype(src) + starts_with = null //Reduce list count. + + calibrate_size() + +/obj/item/weapon/storage/proc/calibrate_size() + var/total_storage_space = 0 + for(var/obj/item/I in contents) + total_storage_space += I.get_storage_cost() + max_storage_space = max(total_storage_space,max_storage_space) //Prevents spawned containers from being too small for their contents. /obj/item/weapon/storage/emp_act(severity) if(!istype(src.loc, /mob/living)) @@ -658,3 +672,60 @@ can_hold[I.type]++ max_w_class = max(I.w_class, max_w_class) max_storage_space += I.get_storage_cost() + +/* + * Trinket Box - READDING SOON + */ +/obj/item/weapon/storage/trinketbox + name = "trinket box" + desc = "A box that can hold small trinkets, such as a ring." + icon = 'icons/obj/items.dmi' + icon_state = "trinketbox" + var/open = 0 + storage_slots = 1 + can_hold = list( + /obj/item/clothing/gloves/ring, + /obj/item/weapon/coin, + /obj/item/clothing/accessory/medal + ) + var/open_state + var/closed_state + +/obj/item/weapon/storage/trinketbox/update_icon() + overlays.Cut() + if(open) + icon_state = open_state + + if(contents.len >= 1) + var/contained_image = null + if(istype(contents[1], /obj/item/clothing/gloves/ring)) + contained_image = "ring_trinket" + else if(istype(contents[1], /obj/item/weapon/coin)) + contained_image = "coin_trinket" + else if(istype(contents[1], /obj/item/clothing/accessory/medal)) + contained_image = "medal_trinket" + if(contained_image) + overlays += contained_image + else + icon_state = closed_state + +/obj/item/weapon/storage/trinketbox/New() + if(!open_state) + open_state = "[initial(icon_state)]_open" + if(!closed_state) + closed_state = "[initial(icon_state)]" + ..() + +/obj/item/weapon/storage/trinketbox/attack_self() + open = !open + update_icon() + ..() + +/obj/item/weapon/storage/trinketbox/examine(mob/user) + ..() + if(open && contents.len) + var/display_item = contents[1] + to_chat(user, "\The [src] contains \the [display_item]!") + +/obj/item/weapon/storage/AllowDrop() + return TRUE diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index ec3f3e26310..c4174eb4c09 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -19,48 +19,50 @@ name = "emergency toolbox" icon_state = "red" item_state_slots = list(slot_r_hand_str = "toolbox_red", slot_l_hand_str = "toolbox_red") - -/obj/item/weapon/storage/toolbox/emergency/New() - ..() - new /obj/item/weapon/crowbar/red(src) - new /obj/item/weapon/extinguisher/mini(src) + starts_with = list( + /obj/item/weapon/crowbar/red, + /obj/item/weapon/extinguisher/mini, + /obj/item/device/radio + ) +/obj/item/weapon/storage/toolbox/emergency/initialize() if(prob(50)) new /obj/item/device/flashlight(src) else new /obj/item/device/flashlight/flare(src) - new /obj/item/device/radio(src) + . = ..() /obj/item/weapon/storage/toolbox/mechanical name = "mechanical toolbox" icon_state = "blue" item_state_slots = list(slot_r_hand_str = "toolbox_blue", slot_l_hand_str = "toolbox_blue") - -/obj/item/weapon/storage/toolbox/mechanical/New() - ..() - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/device/analyzer(src) - new /obj/item/weapon/wirecutters(src) + starts_with = list( + /obj/item/weapon/screwdriver, + /obj/item/weapon/wrench, + /obj/item/weapon/weldingtool, + /obj/item/weapon/crowbar, + /obj/item/device/analyzer, + /obj/item/weapon/wirecutters + ) /obj/item/weapon/storage/toolbox/electrical name = "electrical toolbox" icon_state = "yellow" item_state_slots = list(slot_r_hand_str = "toolbox_yellow", slot_l_hand_str = "toolbox_yellow") - -/obj/item/weapon/storage/toolbox/electrical/New() - ..() - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/device/t_scanner(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/stack/cable_coil/random(src,30) - new /obj/item/stack/cable_coil/random(src,30) + starts_with = list( + /obj/item/weapon/screwdriver, + /obj/item/weapon/wirecutters, + /obj/item/device/t_scanner, + /obj/item/weapon/crowbar, + /obj/item/stack/cable_coil/random_belt, + /obj/item/stack/cable_coil/random_belt + ) +/obj/item/weapon/storage/toolbox/electrical/initialize() + . = ..() if(prob(5)) new /obj/item/clothing/gloves/yellow(src) else new /obj/item/stack/cable_coil/random(src,30) + calibrate_size() /obj/item/weapon/storage/toolbox/syndicate name = "black and red toolbox" @@ -68,26 +70,26 @@ item_state_slots = list(slot_r_hand_str = "toolbox_syndi", slot_l_hand_str = "toolbox_syndi") origin_tech = list(TECH_COMBAT = 1, TECH_ILLEGAL = 1) force = 14 + starts_with = list( + /obj/item/clothing/gloves/yellow, + /obj/item/weapon/screwdriver, + /obj/item/weapon/wrench, + /obj/item/weapon/weldingtool, + /obj/item/weapon/crowbar, + /obj/item/weapon/wirecutters, + /obj/item/device/multitool + ) -/obj/item/weapon/storage/toolbox/syndicate/New() // This is found in maint, so it should have the basics, plus some gloves. - ..() - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/device/multitool(src) - -/obj/item/weapon/storage/toolbox/syndicate/powertools/New() // Available in the uplink and is the 'real' syndie toolbox. - // ..() isn't called or else this box would contain the basic tools, power tools, and duplicate gloves. - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/weapon/screwdriver/power(src) - new /obj/item/weapon/weldingtool/experimental(src) - new /obj/item/weapon/crowbar/power(src) - new /obj/item/device/multitool(src) - new /obj/item/stack/cable_coil/random(src,30) - new /obj/item/device/analyzer(src) +/obj/item/weapon/storage/toolbox/syndicate/powertools + starts_with = list( + /obj/item/clothing/gloves/yellow, + /obj/item/weapon/screwdriver/power, + /obj/item/weapon/weldingtool/experimental, + /obj/item/weapon/crowbar/power, + /obj/item/device/multitool, + /obj/item/stack/cable_coil/random_belt, + /obj/item/device/analyzer + ) /obj/item/weapon/storage/toolbox/lunchbox max_storage_space = ITEMSIZE_COST_SMALL * 4 //slightly smaller than a toolbox @@ -100,8 +102,7 @@ var/filled = FALSE attack_verb = list("lunched") -/obj/item/weapon/storage/toolbox/lunchbox/New() - ..() +/obj/item/weapon/storage/toolbox/lunchbox/initialize() if(filled) var/list/lunches = lunchables_lunches() var/lunch = lunches[pick(lunches)] @@ -114,6 +115,7 @@ var/list/drinks = lunchables_drinks() var/drink = drinks[pick(drinks)] new drink(src) + . = ..() /obj/item/weapon/storage/toolbox/lunchbox/filled filled = TRUE diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index f82feb91dd1..5c0f8373400 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -1,76 +1,66 @@ -/obj/item/weapon/storage/box/syndicate/ - New() - ..() - switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1, "smoothoperator" = 1))) - if("bloodyspai") - new /obj/item/clothing/under/chameleon(src) - new /obj/item/clothing/mask/gas/voice(src) - new /obj/item/weapon/card/id/syndicate(src) - new /obj/item/clothing/shoes/syndigaloshes(src) - return +/obj/item/weapon/storage/box/syndicate/initialize() + switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1, "smoothoperator" = 1))) + if("bloodyspai") + new /obj/item/clothing/under/chameleon(src) + new /obj/item/clothing/mask/gas/voice(src) + new /obj/item/weapon/card/id/syndicate(src) + new /obj/item/clothing/shoes/syndigaloshes(src) - if("stealth") - new /obj/item/weapon/gun/energy/crossbow(src) - new /obj/item/weapon/pen/reagent/paralysis(src) - new /obj/item/device/chameleon(src) - return + if("stealth") + new /obj/item/weapon/gun/energy/crossbow(src) + new /obj/item/weapon/pen/reagent/paralysis(src) + new /obj/item/device/chameleon(src) - if("screwed") - new /obj/effect/spawner/newbomb/timer/syndicate(src) - new /obj/effect/spawner/newbomb/timer/syndicate(src) - new /obj/item/device/powersink(src) - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/weapon/tank/emergency/oxygen/double(src) - return + if("screwed") + new /obj/effect/spawner/newbomb/timer/syndicate(src) + new /obj/effect/spawner/newbomb/timer/syndicate(src) + new /obj/item/device/powersink(src) + new /obj/item/clothing/suit/space/syndicate(src) + new /obj/item/clothing/head/helmet/space/syndicate(src) + new /obj/item/clothing/mask/gas/syndicate(src) + new /obj/item/weapon/tank/emergency/oxygen/double(src) - if("guns") - new /obj/item/weapon/gun/projectile/revolver(src) - new /obj/item/ammo_magazine/s357(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/weapon/plastique(src) - new /obj/item/weapon/plastique(src) - return + if("guns") + new /obj/item/weapon/gun/projectile/revolver(src) + new /obj/item/ammo_magazine/s357(src) + new /obj/item/weapon/card/emag(src) + new /obj/item/weapon/plastique(src) + new /obj/item/weapon/plastique(src) - if("murder") - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/clothing/shoes/syndigaloshes(src) - return + if("murder") + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/clothing/glasses/thermal/syndi(src) + new /obj/item/weapon/card/emag(src) + new /obj/item/clothing/shoes/syndigaloshes(src) - if("freedom") - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/freedom(O) - var/obj/item/weapon/implanter/U = new /obj/item/weapon/implanter(src) - U.imp = new /obj/item/weapon/implant/uplink(U) - return + if("freedom") + var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) + O.imp = new /obj/item/weapon/implant/freedom(O) + var/obj/item/weapon/implanter/U = new /obj/item/weapon/implanter(src) + U.imp = new /obj/item/weapon/implant/uplink(U) - if("hacker") - new /obj/item/device/encryptionkey/syndicate(src) - new /obj/item/weapon/aiModule/syndicate(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/device/encryptionkey/binary(src) - return + if("hacker") + new /obj/item/device/encryptionkey/syndicate(src) + new /obj/item/weapon/aiModule/syndicate(src) + new /obj/item/weapon/card/emag(src) + new /obj/item/device/encryptionkey/binary(src) - if("lordsingulo") - new /obj/item/device/radio/beacon/syndicate(src) - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/weapon/tank/emergency/oxygen/double(src) - new /obj/item/weapon/card/emag(src) - return + if("lordsingulo") + new /obj/item/device/radio/beacon/syndicate(src) + new /obj/item/clothing/suit/space/syndicate(src) + new /obj/item/clothing/head/helmet/space/syndicate(src) + new /obj/item/clothing/mask/gas/syndicate(src) + new /obj/item/weapon/tank/emergency/oxygen/double(src) + new /obj/item/weapon/card/emag(src) - if("smoothoperator") - new /obj/item/weapon/storage/box/syndie_kit/g9mm(src) - new /obj/item/weapon/storage/bag/trash(src) - new /obj/item/weapon/soap/syndie(src) - new /obj/item/bodybag(src) - new /obj/item/clothing/under/suit_jacket(src) - new /obj/item/clothing/shoes/laceup(src) - return + if("smoothoperator") + new /obj/item/weapon/storage/box/syndie_kit/g9mm(src) + new /obj/item/weapon/storage/bag/trash(src) + new /obj/item/weapon/soap/syndie(src) + new /obj/item/bodybag(src) + new /obj/item/clothing/under/suit_jacket(src) + new /obj/item/clothing/shoes/laceup(src) + . = ..() /obj/item/weapon/storage/box/syndie_kit name = "box" @@ -80,118 +70,97 @@ /obj/item/weapon/storage/box/syndie_kit/imp_freedom name = "boxed freedom implant (with injector)" -/obj/item/weapon/storage/box/syndie_kit/imp_freedom/New() - ..() +/obj/item/weapon/storage/box/syndie_kit/imp_freedom/initialize() var/obj/item/weapon/implanter/O = new(src) O.imp = new /obj/item/weapon/implant/freedom(O) O.update() - return + . = ..() /obj/item/weapon/storage/box/syndie_kit/imp_compress name = "box (C)" - -/obj/item/weapon/storage/box/syndie_kit/imp_compress/New() - new /obj/item/weapon/implanter/compressed(src) - ..() - return + starts_with = list(/obj/item/weapon/implanter/compressed) /obj/item/weapon/storage/box/syndie_kit/imp_explosive name = "box (E)" - -/obj/item/weapon/storage/box/syndie_kit/imp_explosive/New() - new /obj/item/weapon/implanter/explosive(src) - ..() - return + starts_with = list(/obj/item/weapon/implanter/explosive) /obj/item/weapon/storage/box/syndie_kit/imp_uplink name = "boxed uplink implant (with injector)" -/obj/item/weapon/storage/box/syndie_kit/imp_uplink/New() - ..() +/obj/item/weapon/storage/box/syndie_kit/imp_uplink/initialize() var/obj/item/weapon/implanter/O = new(src) O.imp = new /obj/item/weapon/implant/uplink(O) O.update() - return + . = ..() /obj/item/weapon/storage/box/syndie_kit/space name = "boxed space suit and helmet" - -/obj/item/weapon/storage/box/syndie_kit/space/New() - ..() - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/weapon/tank/emergency/oxygen/double(src) - return + starts_with = list( + /obj/item/clothing/suit/space/syndicate, + /obj/item/clothing/head/helmet/space/syndicate, + /obj/item/clothing/mask/gas/syndicate, + /obj/item/weapon/tank/emergency/oxygen/double + ) /obj/item/weapon/storage/box/syndie_kit/chameleon name = "chameleon kit" desc = "Comes with all the clothes you need to impersonate most people. Acting lessons sold seperately." - -/obj/item/weapon/storage/box/syndie_kit/chameleon/New() - ..() - new /obj/item/clothing/under/chameleon(src) - new /obj/item/clothing/head/chameleon(src) - new /obj/item/clothing/suit/chameleon(src) - new /obj/item/clothing/shoes/chameleon(src) - new /obj/item/weapon/storage/backpack/chameleon(src) - new /obj/item/clothing/gloves/chameleon(src) - new /obj/item/clothing/mask/chameleon(src) - new /obj/item/clothing/glasses/chameleon(src) - new /obj/item/clothing/accessory/chameleon(src) - new /obj/item/weapon/gun/energy/chameleon(src) + starts_with = list( + /obj/item/clothing/under/chameleon, + /obj/item/clothing/head/chameleon, + /obj/item/clothing/suit/chameleon, + /obj/item/clothing/shoes/chameleon, + /obj/item/weapon/storage/backpack/chameleon, + /obj/item/clothing/gloves/chameleon, + /obj/item/clothing/mask/chameleon, + /obj/item/clothing/glasses/chameleon, + /obj/item/clothing/accessory/chameleon, + /obj/item/weapon/gun/energy/chameleon + ) /obj/item/weapon/storage/box/syndie_kit/clerical name = "clerical kit" desc = "Comes with all you need to fake paperwork. Assumes you have passed basic writing lessons." - -/obj/item/weapon/storage/box/syndie_kit/clerical/New() - ..() - new /obj/item/weapon/stamp/chameleon(src) - new /obj/item/weapon/pen/chameleon(src) - new /obj/item/device/destTagger(src) - new /obj/item/weapon/packageWrap(src) - new /obj/item/weapon/hand_labeler(src) + starts_with = list( + /obj/item/weapon/stamp/chameleon, + /obj/item/weapon/pen/chameleon, + /obj/item/device/destTagger, + /obj/item/weapon/packageWrap, + /obj/item/weapon/hand_labeler + ) /obj/item/weapon/storage/box/syndie_kit/spy name = "spy kit" desc = "For when you want to conduct voyeurism from afar." - -/obj/item/weapon/storage/box/syndie_kit/spy/New() - ..() - new /obj/item/device/camerabug/spy(src) - new /obj/item/device/camerabug/spy(src) - new /obj/item/device/camerabug/spy(src) - new /obj/item/device/camerabug/spy(src) - new /obj/item/device/camerabug/spy(src) - new /obj/item/device/camerabug/spy(src) - new /obj/item/device/bug_monitor/spy(src) + starts_with = list( + /obj/item/device/camerabug/spy = 6, + /obj/item/device/bug_monitor/spy + ) /obj/item/weapon/storage/box/syndie_kit/g9mm name = "\improper Smooth operator" desc = "Compact 9mm with silencer kit." - -/obj/item/weapon/storage/box/syndie_kit/g9mm/New() - ..() - new /obj/item/weapon/gun/projectile/pistol(src) - new /obj/item/weapon/silencer(src) + starts_with = list( + /obj/item/weapon/gun/projectile/pistol, + /obj/item/weapon/silencer + ) /obj/item/weapon/storage/box/syndie_kit/toxin name = "toxin kit" desc = "An apple will not be enough to keep the doctor away after this." - -/obj/item/weapon/storage/box/syndie_kit/toxin/New() - ..() - new /obj/item/weapon/reagent_containers/glass/beaker/vial/random/toxin(src) - new /obj/item/weapon/reagent_containers/syringe(src) + starts_with = list( + /obj/item/weapon/reagent_containers/glass/beaker/vial/random/toxin, + /obj/item/weapon/reagent_containers/syringe + ) /obj/item/weapon/storage/box/syndie_kit/cigarette name = "\improper Tricky smokes" desc = "Comes with the following brands of cigarettes, in this order: 2xFlash, 2xSmoke, 1xMindBreaker, 1xTricordrazine. Avoid mixing them up." -/obj/item/weapon/storage/box/syndie_kit/cigarette/New() - ..() +/obj/item/weapon/storage/box/syndie_kit/cigarette/initialize() + . = ..() var/obj/item/weapon/storage/fancy/cigarettes/pack + pack = new /obj/item/weapon/storage/fancy/cigarettes(src) fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5)) pack.desc += " 'F' has been scribbled on it." @@ -222,6 +191,8 @@ new /obj/item/weapon/flame/lighter/zippo(src) + calibrate_size() + /proc/fill_cigarre_package(var/obj/item/weapon/storage/fancy/cigarettes/C, var/list/reagents) for(var/reagent in reagents) C.reagents.add_reagent(reagent, reagents[reagent] * C.storage_slots) @@ -229,72 +200,52 @@ /obj/item/weapon/storage/box/syndie_kit/ewar_voice name = "Electrowarfare and Voice Synthesiser kit" desc = "Kit for confounding organic and synthetic entities alike." - -/obj/item/weapon/storage/box/syndie_kit/ewar_voice/New() - ..() - new /obj/item/rig_module/electrowarfare_suite(src) - new /obj/item/rig_module/voice(src) - + starts_with = list( + /obj/item/rig_module/electrowarfare_suite, + /obj/item/rig_module/voice + ) /obj/item/weapon/storage/secure/briefcase/money name = "suspicious briefcase" desc = "An ominous briefcase that has the unmistakeable smell of old, stale, cigarette smoke, and gives those who look at it a bad feeling." - - - - -/obj/item/weapon/storage/secure/briefcase/money/New() - ..() - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) - new /obj/item/weapon/spacecash/c1000(src) + starts_with = list(/obj/item/weapon/spacecash/c1000 = 10) /obj/item/weapon/storage/box/syndie_kit/combat_armor name = "combat armor kit" desc = "Contains a full set of combat armor." + starts_with = list( + /obj/item/clothing/head/helmet/combat, + /obj/item/clothing/suit/armor/combat, + /obj/item/clothing/gloves/arm_guard/combat, + /obj/item/clothing/shoes/leg_guard/combat + ) -/obj/item/weapon/storage/box/syndie_kit/combat_armor/New() - ..() - new /obj/item/clothing/head/helmet/combat(src) - new /obj/item/clothing/suit/armor/combat(src) - new /obj/item/clothing/gloves/arm_guard/combat(src) - new /obj/item/clothing/shoes/leg_guard/combat(src) - return +/obj/item/weapon/storage/box/syndie_kit/demolitions + starts_with = list( + /obj/item/weapon/syndie/c4explosive, + /obj/item/weapon/screwdriver + ) -/obj/item/weapon/storage/box/syndie_kit/demolitions/New() - ..() - new /obj/item/weapon/syndie/c4explosive(src) - new /obj/item/weapon/screwdriver(src) - -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy/New() - ..() - new /obj/item/weapon/syndie/c4explosive/heavy(src) - new /obj/item/weapon/screwdriver(src) - -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy/New() - ..() - new /obj/item/weapon/syndie/c4explosive/heavy/super_heavy(src) - new /obj/item/weapon/screwdriver(src) +/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy + starts_with = list( + /obj/item/weapon/syndie/c4explosive/heavy, + /obj/item/weapon/screwdriver + ) +/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy + starts_with = list( + /obj/item/weapon/syndie/c4explosive/heavy/super_heavy, + /obj/item/weapon/screwdriver + ) /obj/item/weapon/storage/secure/briefcase/rifle name = "secure briefcase" - -/obj/item/weapon/storage/secure/briefcase/rifle/New() - ..() - new /obj/item/sniper_rifle_part/barrel(src) - new /obj/item/sniper_rifle_part/stock(src) - new /obj/item/sniper_rifle_part/trigger_group(src) - - for(var/i = 1 to 4) - new /obj/item/ammo_casing/a145(src) + starts_with = list( + /obj/item/sniper_rifle_part/barrel, + /obj/item/sniper_rifle_part/stock, + /obj/item/sniper_rifle_part/trigger_group, + /obj/item/ammo_casing/a145 = 4 + ) /obj/item/weapon/storage/secure/briefcase/fuelrod name = "heavy briefcase" @@ -303,14 +254,12 @@ description_antag = "This case will likely contain a charged fuel rod gun, and a few fuel rods to go with it. It can only hold the fuel rod gun, fuel rods, batteries, a screwdriver, and stock machine parts." force = 12 //Anti-rad lined i.e. Lead, probably gonna hurt a bit if you get bashed with it. can_hold = list(/obj/item/weapon/gun/magnetic/fuelrod, /obj/item/weapon/fuel_assembly, /obj/item/weapon/cell, /obj/item/weapon/stock_parts, /obj/item/weapon/screwdriver) - - -/obj/item/weapon/storage/secure/briefcase/fuelrod/New() - ..() - new /obj/item/weapon/gun/magnetic/fuelrod(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/tritium(src) - new /obj/item/weapon/fuel_assembly/tritium(src) - new /obj/item/weapon/fuel_assembly/phoron(src) - new /obj/item/weapon/screwdriver(src) + starts_with = list( + /obj/item/weapon/gun/magnetic/fuelrod, + /obj/item/weapon/fuel_assembly/deuterium, + /obj/item/weapon/fuel_assembly/deuterium, + /obj/item/weapon/fuel_assembly/tritium, + /obj/item/weapon/fuel_assembly/tritium, + /obj/item/weapon/fuel_assembly/phoron, + /obj/item/weapon/screwdriver + ) diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index 30d81e1ba96..cb376787abd 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -10,6 +10,9 @@ /obj/item/weapon/card, /obj/item/clothing/mask/smokable/cigarette/, /obj/item/device/flashlight/pen, + /obj/item/device/tape, + /obj/item/weapon/cartridge, + /obj/item/device/encryptionkey, /obj/item/seeds, /obj/item/stack/medical, /obj/item/weapon/coin, @@ -18,13 +21,21 @@ /obj/item/weapon/implanter, /obj/item/weapon/flame/lighter, /obj/item/weapon/flame/match, + /obj/item/weapon/forensics, + /obj/item/weapon/glass_extra, + /obj/item/weapon/haircomb, + /obj/item/weapon/hand, + /obj/item/weapon/key, + /obj/item/weapon/lipstick, /obj/item/weapon/paper, /obj/item/weapon/pen, /obj/item/weapon/photo, /obj/item/weapon/reagent_containers/dropper, + /obj/item/weapon/sample, /obj/item/weapon/screwdriver, /obj/item/weapon/stamp, - /obj/item/clothing/accessory/permit + /obj/item/clothing/accessory/permit, + /obj/item/clothing/accessory/badge ) slot_flags = SLOT_ID @@ -118,4 +129,4 @@ name = "women's wallet" desc = "A stylish wallet typically used by women." icon_state = "girl_wallet" - item_state_slots = list(slot_r_hand_str = "wowallet", slot_l_hand_str = "wowallet") \ No newline at end of file + item_state_slots = list(slot_r_hand_str = "wowallet", slot_l_hand_str = "wowallet") diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index f468d1d77e1..268a8d5ad77 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -20,7 +20,8 @@ var/hitcost = 240 /obj/item/weapon/melee/baton/suicide_act(mob/user) - user.visible_message("\The [user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + user.visible_message("\The [user] is putting the live [name] in [TU.his] mouth! It looks like [TU.he] [TU.is] trying to commit suicide.") return (FIRELOSS) /obj/item/weapon/melee/baton/New() diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 96f5e30f693..50468951a49 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -69,8 +69,9 @@ attack_verb = list("drilled") suicide_act(mob/user) - viewers(user) << pick("\The [user] is pressing \the [src] to \his temple and activating it! It looks like \he's trying to commit suicide.", - "\The [user] is pressing \the [src] to \his chest and activating it! It looks like \he's trying to commit suicide.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << pick("\The [user] is pressing \the [src] to [TU.his] temple and activating it! It looks like [TU.hes] trying to commit suicide.", + "\The [user] is pressing \the [src] to [TU.his] chest and activating it! It looks like [TU.hes] trying to commit suicide.") return (BRUTELOSS) /* @@ -91,11 +92,12 @@ origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - + suicide_act(mob/user) - viewers(user) << pick("\The [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\The [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\The [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << pick("\The [user] is slitting [TU.his] wrists with the [src.name]! It looks like [TU.hes] trying to commit suicide.", \ + "\The [user] is slitting [TU.his] throat with the [src.name]! It looks like [TU.hes] trying to commit suicide.", \ + "\The [user] is slitting [TU.his] stomach open with the [src.name]! It looks like [TU.hes] trying to commit seppuku.") return (BRUTELOSS) /* diff --git a/code/game/objects/items/weapons/syndie.dm b/code/game/objects/items/weapons/syndie.dm index 5d0d1f38633..c47489272b3 100644 --- a/code/game/objects/items/weapons/syndie.dm +++ b/code/game/objects/items/weapons/syndie.dm @@ -13,20 +13,29 @@ desc = "A small wrapped package." w_class = ITEMSIZE_NORMAL - var/power = 1 /*Size of the explosion.*/ + var/devastate = 1 + var/heavy_impact = 2 + var/light_impact = 4 + var/flash_range = 5 var/size = "small" /*Used for the icon, this one will make c-4small_0 for the off state.*/ /obj/item/weapon/syndie/c4explosive/heavy icon_state = "c-4large_0" item_state = "radio" desc = "A mysterious package, it's quite heavy." - power = 2 + devastate = 1 + heavy_impact = 3 + light_impact = 5 + flash_range = 7 size = "large" /obj/item/weapon/syndie/c4explosive/heavy/super_heavy name = "large-sized package" desc = "A mysterious package, it's quite exceptionally heavy." - power = 3 + devastate = 2 + heavy_impact = 5 + light_impact = 7 + flash_range = 7 /obj/item/weapon/syndie/c4explosive/New() var/K = rand(1,2000) @@ -43,7 +52,7 @@ for(var/mob/O in hearers(src, null)) O.show_message("\icon[src] The [src.name] beeps! ") sleep(50) - explosion(get_turf(src), power, power*2, power*3, power*4, power*5) + explosion(get_turf(src), devastate, heavy_impact, light_impact, flash_range) for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors. var/turf/simulated/wall/T = get_step(src,dirn) if(locate(/obj/machinery/door/airlock) in T) @@ -54,6 +63,12 @@ T.dismantle_wall(1) qdel(src) +/obj/item/weapon/syndie/c4explosive/attackby(obj/item/weapon/W, mob/user) + if(istype(W, /obj/item/weapon/flame/lighter/zippo/c4detonator)) + var/obj/item/weapon/flame/lighter/zippo/c4detonator/D = W + D.bomb = src + return + ..() /*Detonator, disguised as a lighter*/ /*Click it when closed to open, when open to bring up a prompt asking you if you want to close it or press the button.*/ diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 0ff657e9cc6..efacad49424 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -186,8 +186,8 @@ src.air_contents.adjust_gas("phoron", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) /obj/item/weapon/tank/emergency/phoron/double - name = "double emergency nitrogen tank" - icon_state = "emergency_double_nitrogen" + name = "double emergency phoron tank" + icon_state = "emergency_double_nitro" gauge_icon = "indicator_emergency_double" volume = 10 diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index d17cb21472f..49608c649a2 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -8,7 +8,7 @@ var/list/global/tank_gauge_cache = list() name = "tank" icon = 'icons/obj/tank.dmi' sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/back.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi' ) var/gauge_icon = "indicator_tank" diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm index 04e5aa909bf..83e944f5934 100644 --- a/code/game/objects/items/weapons/tape.dm +++ b/code/game/objects/items/weapons/tape.dm @@ -87,7 +87,7 @@ if(!can_place) return - if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE))) + if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.check_has_mouth() || (H.head && (H.head.body_parts_covered & FACE))) return user.visible_message("\The [user] has taped up \the [H]'s mouth!") @@ -131,7 +131,7 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "tape" w_class = ITEMSIZE_TINY - layer = 4 + plane = MOB_PLANE anchored = 1 //it's sticky, no you cant move it var/obj/item/weapon/stuck = null diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index c0c202a51d3..62b3d9b1bba 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -106,8 +106,9 @@ var/random_color = TRUE suicide_act(mob/user) - viewers(user) << pick("\The [user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.", \ - "\The [user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << pick("\The [user] is stabbing the [src.name] into [TU.his] temple! It looks like [TU.hes] trying to commit suicide.", \ + "\The [user] is stabbing the [src.name] into [TU.his] heart! It looks like [TU.hes] trying to commit suicide.") return(BRUTELOSS) /obj/item/weapon/screwdriver/New() @@ -235,7 +236,7 @@ ..() /obj/item/weapon/wirecutters/attack(mob/living/carbon/C as mob, mob/user as mob) - if(user.a_intent == I_HELP && (C.handcuffed) && (istype(C.handcuffed, /obj/item/weapon/handcuffs/cable))) + if(istype(C) && user.a_intent == I_HELP && (C.handcuffed) && (istype(C.handcuffed, /obj/item/weapon/handcuffs/cable))) usr.visible_message("\The [usr] cuts \the [C]'s restraints with \the [src]!",\ "You cut \the [C]'s restraints with \the [src]!",\ "You hear cable being cut.") diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index 317dba9ba99..27927b81802 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -13,7 +13,8 @@ var/deployed = 0 /obj/item/weapon/beartrap/suicide_act(mob/user) - viewers(user) << "[user] is putting the [src.name] on \his head! It looks like \he's trying to commit suicide." + var/datum/gender/T = gender_datums[user.get_visible_gender()] + viewers(user) << "[user] is putting the [src.name] on [T.his] head! It looks like [T.hes] trying to commit suicide." return (BRUTELOSS) /obj/item/weapon/beartrap/proc/can_use(mob/user) diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm index c2ea991d98d..8d9977cc17f 100644 --- a/code/game/objects/items/weapons/trays.dm +++ b/code/game/objects/items/weapons/trays.dm @@ -52,9 +52,7 @@ if (istype(location, /turf/simulated)) location.add_blood(H) ///Plik plik, the sound of blood - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") + add_attack_logs(user,M,"Hit with [src]") if(prob(15)) M.Weaken(3) @@ -190,7 +188,7 @@ carrying.Add(I) Img.icon = I.icon Img.icon_state = I.icon_state - Img.layer = 30 + I.layer + Img.layer = layer + I.layer*0.01 if(istype(I, /obj/item/weapon/material)) var/obj/item/weapon/material/O = I if(O.applies_material_colour) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 50434de4608..b5ae0912e9f 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -11,15 +11,13 @@ w_class = ITEMSIZE_SMALL suicide_act(mob/user) - viewers(user) << "[user] is impaling \himself with the [src.name]! It looks like \he's trying to commit suicide." + var/datum/gender/T = gender_datums[user.get_visible_gender()] + viewers(user) << "[user] is impaling [T.himself] with the [src.name]! It looks like [T.he] [T.is] trying to commit suicide." return (BRUTELOSS|FIRELOSS) /obj/item/weapon/nullrod/attack(mob/M as mob, mob/living/user as mob) //Paste from old-code to decult with a null rod. - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - - msg_admin_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (JMP)") + add_attack_logs(user,M,"Hit with [src] (nullrod)") user.setClickCooldown(user.get_attack_speed(src)) user.do_attack_animation(M) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 84f9f88602c..3835b2a24bb 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -1,4 +1,6 @@ /obj + layer = OBJ_LAYER + plane = OBJ_PLANE //Used to store information about the contents of the object. var/list/matter var/w_class // Size of the object. @@ -13,6 +15,9 @@ var/armor_penetration = 0 var/show_messages var/preserve_item = 0 //whether this object is preserved when its owner goes into cryo-storage, gateway, etc + var/can_speak = 0 //For MMIs and admin trickery. If an object has a brainmob in its contents, set this to 1 to allow it to speak. + + var/show_examine = TRUE // Does this pop up on a mob when the mob is examined? /obj/Destroy() processing_objects -= src diff --git a/code/game/objects/random/_random.dm b/code/game/objects/random/_random.dm new file mode 100644 index 00000000000..29272a7247e --- /dev/null +++ b/code/game/objects/random/_random.dm @@ -0,0 +1,138 @@ +/obj/random + name = "random object" + desc = "This item type is used to spawn random objects at round-start" + icon = 'icons/misc/mark.dmi' + icon_state = "rup" + var/spawn_nothing_percentage = 0 // this variable determines the likelyhood that this random object will not spawn anything + +// creates a new object and deletes itself +/obj/random/New() + ..() + spawn() + if(istype(src.loc, /obj/structure/loot_pile)) //Spawning from a lootpile is weird, need to wait until we're out of it to do our work. + while(istype(src.loc, /obj/structure/loot_pile)) + sleep(1) + if (!prob(spawn_nothing_percentage)) + spawn_item() + qdel(src) + +// this function should return a specific item to spawn +/obj/random/proc/item_to_spawn() + return 0 + +// creates the random item +/obj/random/proc/spawn_item() + var/build_path = item_to_spawn() + + var/atom/A = new build_path(src.loc) + if(pixel_x || pixel_y) + A.pixel_x = pixel_x + A.pixel_y = pixel_y + +var/list/random_junk_ +var/list/random_useful_ +/proc/get_random_useful_type() + if(!random_useful_) + random_useful_ = subtypesof(/obj/item/weapon/pen/crayon) + random_useful_ += /obj/item/weapon/pen + random_useful_ += /obj/item/weapon/pen/blue + random_useful_ += /obj/item/weapon/pen/red + random_useful_ += /obj/item/weapon/pen/multi + random_useful_ += /obj/item/weapon/storage/box/matches + random_useful_ += /obj/item/stack/material/cardboard + return pick(random_useful_) + +/proc/get_random_junk_type() + if(prob(20)) // Misc. clutter + return /obj/effect/decal/cleanable/generic + if(prob(70)) // Misc. junk + if(!random_junk_) + random_junk_ = subtypesof(/obj/item/trash) + random_junk_ += typesof(/obj/item/weapon/cigbutt) + random_junk_ += /obj/effect/decal/cleanable/spiderling_remains + random_junk_ += /obj/effect/decal/remains/mouse + random_junk_ += /obj/effect/decal/remains/robot + random_junk_ += /obj/item/weapon/paper/crumpled + random_junk_ += /obj/item/inflatable/torn + random_junk_ += /obj/effect/decal/cleanable/molten_item + random_junk_ += /obj/item/weapon/material/shard + + random_junk_ -= /obj/item/trash/plate + random_junk_ -= /obj/item/trash/snack_bowl + random_junk_ -= /obj/item/trash/syndi_cakes + random_junk_ -= /obj/item/trash/tray + return pick(random_junk_) + // Misc. actually useful stuff + return get_random_useful_type() + +///////////////////////////////////////////////////////////////////////// + +/obj/random/single + name = "randomly spawned object" + desc = "This item type is used to randomly spawn a given object at round-start" + icon_state = "x3" + var/spawn_object = null + +/obj/random/single/item_to_spawn() + return ispath(spawn_object) ? spawn_object : text2path(spawn_object) + +//Multiple Object Spawn + +/obj/random/multiple + +/obj/random/multiple/spawn_item() + var/list/things_to_make = item_to_spawn() + for(var/new_type in things_to_make) + new new_type(src.loc) + +/* +// Multi Point Spawn +// Selects one spawn point out of a group of points with the same ID and asks it to generate its items +*/ +var/list/multi_point_spawns + +/obj/random_multi + name = "random object spawn point" + desc = "This item type is used to spawn random objects at round-start. Only one spawn point for a given group id is selected." + icon = 'icons/misc/mark.dmi' + icon_state = "x3" + invisibility = INVISIBILITY_MAXIMUM + var/id // Group id + var/weight // Probability weight for this spawn point + +/obj/random_multi/initialize() + . = ..() + weight = max(1, round(weight)) + + if(!multi_point_spawns) + multi_point_spawns = list() + var/list/spawnpoints = multi_point_spawns[id] + if(!spawnpoints) + spawnpoints = list() + multi_point_spawns[id] = spawnpoints + spawnpoints[src] = weight + +/obj/random_multi/Destroy() + var/list/spawnpoints = multi_point_spawns[id] + spawnpoints -= src + if(!spawnpoints.len) + multi_point_spawns -= id + . = ..() + +/obj/random_multi/proc/generate_items() + return + +/obj/random_multi/single_item + var/item_path // Item type to spawn + +/obj/random_multi/single_item/generate_items() + new item_path(loc) + +/hook/roundstart/proc/generate_multi_spawn_items() + for(var/id in multi_point_spawns) + var/list/spawn_points = multi_point_spawns[id] + var/obj/random_multi/rm = pickweight(spawn_points) + rm.generate_items() + for(var/entry in spawn_points) + qdel(entry) + return 1 \ No newline at end of file diff --git a/code/game/objects/random/guns_and_ammo.dm b/code/game/objects/random/guns_and_ammo.dm new file mode 100644 index 00000000000..a910881a769 --- /dev/null +++ b/code/game/objects/random/guns_and_ammo.dm @@ -0,0 +1,129 @@ +/obj/random/energy + name = "Random Energy Weapon" + desc = "This is a random security weapon." + icon = 'icons/obj/gun.dmi' + icon_state = "energykill100" + +/obj/random/energy/item_to_spawn() + return pick(prob(3);/obj/item/weapon/gun/energy/laser, + prob(4);/obj/item/weapon/gun/energy/gun, + prob(3);/obj/item/weapon/gun/energy/gun/burst, + prob(1);/obj/item/weapon/gun/energy/gun/nuclear, + prob(2);/obj/item/weapon/gun/energy/retro, + prob(2);/obj/item/weapon/gun/energy/lasercannon, + prob(3);/obj/item/weapon/gun/energy/xray, + prob(1);/obj/item/weapon/gun/energy/sniperrifle, + prob(1);/obj/item/weapon/gun/energy/plasmastun, + prob(2);/obj/item/weapon/gun/energy/ionrifle, + prob(2);/obj/item/weapon/gun/energy/ionrifle/pistol, + prob(3);/obj/item/weapon/gun/energy/toxgun, + prob(4);/obj/item/weapon/gun/energy/taser, + prob(2);/obj/item/weapon/gun/energy/crossbow/largecrossbow, + prob(4);/obj/item/weapon/gun/energy/stunrevolver) + +/obj/random/energy/sec + name = "Random Security Energy Weapon" + desc = "This is a random security weapon." + icon = 'icons/obj/gun.dmi' + icon_state = "energykill100" + +/obj/random/energy/sec/item_to_spawn() + return pick(prob(2);/obj/item/weapon/gun/energy/laser, + prob(2);/obj/item/weapon/gun/energy/gun) + +/obj/random/projectile + name = "Random Projectile Weapon" + desc = "This is a random projectile weapon." + icon = 'icons/obj/gun.dmi' + icon_state = "revolver" + +/obj/random/projectile/item_to_spawn() + return pick(prob(3);/obj/item/weapon/gun/projectile/automatic/wt550, + prob(3);/obj/item/weapon/gun/projectile/automatic/mini_uzi, + prob(3);/obj/item/weapon/gun/projectile/automatic/tommygun, + prob(2);/obj/item/weapon/gun/projectile/automatic/c20r, + prob(2);/obj/item/weapon/gun/projectile/automatic/sts35, + prob(2);/obj/item/weapon/gun/projectile/automatic/z8, + prob(4);/obj/item/weapon/gun/projectile/colt, + prob(2);/obj/item/weapon/gun/projectile/deagle, + prob(1);/obj/item/weapon/gun/projectile/deagle/camo, + prob(1);/obj/item/weapon/gun/projectile/deagle/gold, + prob(3);/obj/item/weapon/gun/projectile/derringer, + prob(1);/obj/item/weapon/gun/projectile/heavysniper, + prob(4);/obj/item/weapon/gun/projectile/luger, + prob(3);/obj/item/weapon/gun/projectile/luger/brown, + prob(4);/obj/item/weapon/gun/projectile/sec, + prob(3);/obj/item/weapon/gun/projectile/sec/wood, + prob(4);/obj/item/weapon/gun/projectile/p92x, + prob(3);/obj/item/weapon/gun/projectile/p92x/brown, + prob(4);/obj/item/weapon/gun/projectile/pistol, + prob(5);/obj/item/weapon/gun/projectile/pirate, + prob(2);/obj/item/weapon/gun/projectile/revolver, + prob(4);/obj/item/weapon/gun/projectile/revolver/deckard, + prob(4);/obj/item/weapon/gun/projectile/revolver/detective, + prob(2);/obj/item/weapon/gun/projectile/revolver/judge, + prob(3);/obj/item/weapon/gun/projectile/revolver/lemat, + prob(2);/obj/item/weapon/gun/projectile/revolver/mateba, + prob(4);/obj/item/weapon/gun/projectile/shotgun/doublebarrel, + prob(3);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn, + prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, + prob(2);/obj/item/weapon/gun/projectile/shotgun/pump/combat, + prob(4);/obj/item/weapon/gun/projectile/shotgun/pump/rifle, + prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, + prob(2);/obj/item/weapon/gun/projectile/silenced) + +/obj/random/projectile/sec + name = "Random Security Projectile Weapon" + desc = "This is a random security weapon." + icon = 'icons/obj/gun.dmi' + icon_state = "revolver" + +/obj/random/projectile/sec/item_to_spawn() + return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, + prob(2);/obj/item/weapon/gun/projectile/automatic/wt550, + prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat) + +/obj/random/handgun + name = "Random Handgun" + desc = "This is a random sidearm." + icon = 'icons/obj/gun.dmi' + icon_state = "secgundark" + +/obj/random/handgun/item_to_spawn() + return pick(prob(4);/obj/item/weapon/gun/projectile/sec, + prob(4);/obj/item/weapon/gun/projectile/p92x, + prob(3);/obj/item/weapon/gun/projectile/sec/wood, + prob(3);/obj/item/weapon/gun/projectile/p92x/brown, + prob(3);/obj/item/weapon/gun/projectile/colt, + prob(2);/obj/item/weapon/gun/projectile/luger, + prob(2);/obj/item/weapon/gun/energy/gun, + prob(2);/obj/item/weapon/gun/projectile/pistol, + prob(1);/obj/item/weapon/gun/energy/retro, + prob(1);/obj/item/weapon/gun/projectile/luger/brown) + +/obj/random/handgun/sec + name = "Random Security Handgun" + desc = "This is a random security sidearm." + icon = 'icons/obj/gun.dmi' + icon_state = "secgundark" + +/obj/random/handgun/sec/item_to_spawn() + return pick(prob(3);/obj/item/weapon/gun/projectile/sec, + prob(1);/obj/item/weapon/gun/projectile/sec/wood) + +/obj/random/ammo + name = "Random Ammunition" + desc = "This is random security ammunition." + icon = 'icons/obj/ammo.dmi' + icon_state = "45-10" + +/obj/random/ammo/item_to_spawn() + return pick(prob(6);/obj/item/weapon/storage/box/beanbags, + prob(2);/obj/item/weapon/storage/box/shotgunammo, + prob(4);/obj/item/weapon/storage/box/shotgunshells, + prob(1);/obj/item/weapon/storage/box/stunshells, + prob(2);/obj/item/ammo_magazine/m45, + prob(4);/obj/item/ammo_magazine/m45/rubber, + prob(4);/obj/item/ammo_magazine/m45/flash, + prob(2);/obj/item/ammo_magazine/m9mmt, + prob(6);/obj/item/ammo_magazine/m9mmt/rubber) \ No newline at end of file diff --git a/code/game/objects/random/maintenance.dm b/code/game/objects/random/maintenance.dm new file mode 100644 index 00000000000..e7e45a87916 --- /dev/null +++ b/code/game/objects/random/maintenance.dm @@ -0,0 +1,309 @@ +/obj/random/maintenance //Clutter and loot for maintenance and away missions + name = "random maintenance item" + desc = "This is a random maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/item_to_spawn() + return pick(prob(300);/obj/random/tech_supply, + prob(200);/obj/random/medical, + prob(100);/obj/random/firstaid, + prob(10);/obj/random/contraband, + prob(50);/obj/random/action_figure, + prob(50);/obj/random/plushie, + prob(200);/obj/random/junk, + prob(200);/obj/random/material, + prob(50);/obj/random/toy, + prob(100);/obj/random/tank, + prob(50);/obj/random/soap, + prob(60);/obj/random/drinkbottle, + prob(500);/obj/random/maintenance/clean) + +/obj/random/maintenance/clean +/*Maintenance loot lists without the trash, for use inside things. +Individual items to add to the maintenance list should go here, if you add +something, make sure it's not in one of the other lists.*/ + name = "random clean maintenance item" + desc = "This is a random clean maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/clean/item_to_spawn() + return pick(prob(10);/obj/random/contraband, + prob(2);/obj/item/device/flashlight/flare, + prob(2);/obj/item/device/flashlight/glowstick, + prob(2);/obj/item/device/flashlight/glowstick/blue, + prob(1);/obj/item/device/flashlight/glowstick/orange, + prob(1);/obj/item/device/flashlight/glowstick/red, + prob(1);/obj/item/device/flashlight/glowstick/yellow, + prob(1);/obj/item/device/flashlight/pen, + prob(4);/obj/item/weapon/cell, + prob(4);/obj/item/weapon/cell/device, + prob(3);/obj/item/weapon/cell/high, + prob(2);/obj/item/weapon/cell/super, + prob(5);/obj/random/cigarettes, + prob(3);/obj/item/clothing/mask/gas, + prob(2);/obj/item/clothing/mask/gas/half, + prob(4);/obj/item/clothing/mask/breath, + prob(2);/obj/item/weapon/reagent_containers/glass/rag, + prob(4);/obj/item/weapon/reagent_containers/food/snacks/liquidfood, + prob(2);/obj/item/weapon/storage/secure/briefcase, + prob(4);/obj/item/weapon/storage/briefcase, + prob(5);/obj/item/weapon/storage/backpack, + prob(5);/obj/item/weapon/storage/backpack/satchel/norm, + prob(4);/obj/item/weapon/storage/backpack/satchel, + prob(3);/obj/item/weapon/storage/backpack/dufflebag, + prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie, + prob(5);/obj/item/weapon/storage/box, + prob(3);/obj/item/weapon/storage/box/donkpockets, + prob(2);/obj/item/weapon/storage/box/sinpockets, + prob(1);/obj/item/weapon/storage/box/cups, + prob(3);/obj/item/weapon/storage/box/mousetraps, + prob(3);/obj/item/weapon/storage/wallet, + prob(1);/obj/item/device/paicard, + prob(2);/obj/item/clothing/shoes/galoshes, + prob(1);/obj/item/clothing/shoes/syndigaloshes, + prob(4);/obj/item/clothing/shoes/black, + prob(4);/obj/item/clothing/shoes/laceup, + prob(4);/obj/item/clothing/shoes/black, + prob(4);/obj/item/clothing/shoes/leather, + prob(1);/obj/item/clothing/gloves/yellow, + prob(3);/obj/item/clothing/gloves/botanic_leather, + prob(2);/obj/item/clothing/gloves/sterile/latex, + prob(5);/obj/item/clothing/gloves/white, + prob(5);/obj/item/clothing/gloves/rainbow, + prob(2);/obj/item/clothing/gloves/fyellow, + prob(1);/obj/item/clothing/glasses/sunglasses, + prob(3);/obj/item/clothing/glasses/meson, + prob(2);/obj/item/clothing/glasses/meson/prescription, + prob(1);/obj/item/clothing/glasses/welding, + prob(1);/obj/item/clothing/head/bio_hood/general, + prob(4);/obj/item/clothing/head/hardhat, + prob(3);/obj/item/clothing/head/hardhat/red, + prob(1);/obj/item/clothing/head/ushanka, + prob(2);/obj/item/clothing/head/welding, + prob(4);/obj/item/clothing/suit/storage/hazardvest, + prob(1);/obj/item/clothing/suit/space/emergency, + prob(3);/obj/item/clothing/suit/storage/toggle/bomber, + prob(1);/obj/item/clothing/suit/bio_suit/general, + prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/black, + prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/blue, + prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/red, + prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/yellow, + prob(3);/obj/item/clothing/suit/storage/toggle/brown_jacket, + prob(3);/obj/item/clothing/suit/storage/toggle/leather_jacket, + prob(1);/obj/item/clothing/suit/storage/vest/press, + prob(3);/obj/item/clothing/suit/storage/apron, + prob(4);/obj/item/clothing/under/color/grey, + prob(2);/obj/item/clothing/under/syndicate/tacticool, + prob(2);/obj/item/clothing/under/pants/camo, + prob(1);/obj/item/clothing/under/harness, + prob(1);/obj/item/clothing/under/tactical, + prob(3);/obj/item/clothing/accessory/storage/webbing, + prob(3);/obj/item/weapon/camera_assembly, + prob(4);/obj/item/weapon/caution, + prob(3);/obj/item/weapon/caution/cone, + prob(1);/obj/item/weapon/card/emag_broken, + prob(2);/obj/item/device/camera, + prob(3);/obj/item/device/pda, + prob(3);/obj/item/device/radio/headset) + +/obj/random/maintenance/security +/*Maintenance loot list. This one is for around security areas*/ + name = "random security maintenance item" + desc = "This is a random security maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/security/item_to_spawn() + return pick(prob(320);/obj/random/maintenance/clean, + prob(2);/obj/item/device/flashlight/maglight, + prob(2);/obj/item/device/flash, + prob(1);/obj/item/weapon/cell/device/weapon, + prob(1);/obj/item/clothing/mask/gas/swat, + prob(1);/obj/item/clothing/mask/gas/syndicate, + prob(2);/obj/item/clothing/mask/balaclava, + prob(1);/obj/item/clothing/mask/balaclava/tactical, + prob(3);/obj/item/weapon/storage/backpack/security, + prob(3);/obj/item/weapon/storage/backpack/satchel/sec, + prob(2);/obj/item/weapon/storage/backpack/messenger/sec, + prob(2);/obj/item/weapon/storage/backpack/dufflebag/sec, + prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, + prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, + prob(2);/obj/item/weapon/storage/box/swabs, + prob(2);/obj/item/weapon/storage/belt/security, + prob(1);/obj/item/weapon/grenade/flashbang, + prob(1);/obj/item/weapon/melee/baton, + prob(1);/obj/item/weapon/reagent_containers/spray/pepper, + prob(3);/obj/item/clothing/shoes/boots/jackboots, + prob(1);/obj/item/clothing/shoes/boots/swat, + prob(1);/obj/item/clothing/shoes/boots/combat, + prob(1);/obj/item/clothing/gloves/swat, + prob(1);/obj/item/clothing/gloves/combat, + prob(1);/obj/item/clothing/glasses/sunglasses/big, + prob(2);/obj/item/clothing/glasses/hud/security, + prob(1);/obj/item/clothing/glasses/sunglasses/sechud, + prob(1);/obj/item/clothing/glasses/sunglasses/sechud/aviator, + prob(1);/obj/item/clothing/glasses/sunglasses/sechud/tactical, + prob(3);/obj/item/clothing/head/beret/sec, + prob(3);/obj/item/clothing/head/beret/sec/corporate/officer, + prob(3);/obj/item/clothing/head/beret/sec/navy/officer, + prob(2);/obj/item/clothing/head/helmet, + prob(4);/obj/item/clothing/head/soft/sec, + prob(4);/obj/item/clothing/head/soft/sec/corp, + prob(3);/obj/item/clothing/suit/armor/vest, + prob(2);/obj/item/clothing/suit/armor/vest/security, + prob(2);/obj/item/clothing/suit/storage/vest/officer, + prob(1);/obj/item/clothing/suit/storage/vest/detective, + prob(1);/obj/item/clothing/suit/storage/vest/press, + prob(2);/obj/item/clothing/accessory/storage/black_vest, + prob(2);/obj/item/clothing/accessory/storage/black_drop_pouches, + prob(1);/obj/item/clothing/accessory/holster/leg, + prob(1);/obj/item/clothing/accessory/holster/hip, + prob(1);/obj/item/clothing/accessory/holster/waist, + prob(1);/obj/item/clothing/accessory/holster/armpit, + prob(2);/obj/item/clothing/ears/earmuffs, + prob(2);/obj/item/weapon/handcuffs,) + +/obj/random/maintenance/medical +/*Maintenance loot list. This one is for around medical areas*/ + name = "random medical maintenance item" + desc = "This is a random medical maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/medical/item_to_spawn() + return pick(prob(320);/obj/random/maintenance/clean, + prob(25);/obj/random/medical/lite, + prob(2);/obj/item/clothing/mask/breath/medical, + prob(2);/obj/item/clothing/mask/surgical, + prob(5);/obj/item/weapon/storage/backpack/medic, + prob(5);/obj/item/weapon/storage/backpack/satchel/med, + prob(5);/obj/item/weapon/storage/backpack/messenger/med, + prob(3);/obj/item/weapon/storage/backpack/dufflebag/med, + prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, + prob(2);/obj/item/weapon/storage/box/autoinjectors, + prob(3);/obj/item/weapon/storage/box/beakers, + prob(2);/obj/item/weapon/storage/box/bodybags, + prob(3);/obj/item/weapon/storage/box/syringes, + prob(3);/obj/item/weapon/storage/box/gloves, + prob(2);/obj/item/weapon/storage/belt/medical/emt, + prob(2);/obj/item/weapon/storage/belt/medical, + prob(1);/obj/item/clothing/shoes/boots/combat, + prob(3);/obj/item/clothing/shoes/white, + prob(2);/obj/item/clothing/gloves/sterile/nitrile, + prob(5);/obj/item/clothing/gloves/white, + prob(2);/obj/item/clothing/glasses/hud/health, + prob(1);/obj/item/clothing/glasses/hud/health/prescription, + prob(1);/obj/item/clothing/head/bio_hood/virology, + prob(4);/obj/item/clothing/suit/storage/toggle/labcoat, + prob(1);/obj/item/clothing/suit/bio_suit/general, + prob(2);/obj/item/clothing/under/rank/medical/paramedic, + prob(2);/obj/item/clothing/accessory/storage/black_vest, + prob(2);/obj/item/clothing/accessory/storage/white_vest, + prob(1);/obj/item/clothing/accessory/storage/white_drop_pouches, + prob(1);/obj/item/clothing/accessory/storage/black_drop_pouches, + prob(2);/obj/item/clothing/accessory/stethoscope) + +/obj/random/maintenance/engineering +/*Maintenance loot list. This one is for around medical areas*/ + name = "random engineering maintenance item" + desc = "This is a random engineering maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/engineering/item_to_spawn() + return pick(prob(320);/obj/random/maintenance/clean, + prob(2);/obj/item/device/flashlight/maglight, + prob(3);/obj/item/clothing/mask/gas/half, + prob(2);/obj/item/clothing/mask/balaclava, + prob(2);/obj/item/weapon/storage/briefcase/inflatable, + prob(5);/obj/item/weapon/storage/backpack/industrial, + prob(5);/obj/item/weapon/storage/backpack/satchel/eng, + prob(5);/obj/item/weapon/storage/backpack/messenger/engi, + prob(3);/obj/item/weapon/storage/backpack/dufflebag/eng, + prob(5);/obj/item/weapon/storage/box, + prob(2);/obj/item/weapon/storage/belt/utility/full, + prob(3);/obj/item/weapon/storage/belt/utility, + prob(3);/obj/item/clothing/head/beret/engineering, + prob(3);/obj/item/clothing/head/soft/yellow, + prob(2);/obj/item/clothing/head/orangebandana, + prob(2);/obj/item/clothing/head/hardhat/dblue, + prob(2);/obj/item/clothing/head/hardhat/orange, + prob(1);/obj/item/clothing/glasses/welding, + prob(2);/obj/item/clothing/head/welding, + prob(4);/obj/item/clothing/suit/storage/hazardvest, + prob(2);/obj/item/clothing/under/overalls, + prob(3);/obj/item/clothing/shoes/boots/workboots, + prob(1);/obj/item/clothing/shoes/magboots, + prob(2);/obj/item/clothing/accessory/storage/black_vest, + prob(2);/obj/item/clothing/accessory/storage/brown_vest, + prob(1);/obj/item/clothing/accessory/storage/brown_drop_pouches, + prob(3);/obj/item/clothing/ears/earmuffs, + prob(1);/obj/item/weapon/beartrap, + prob(2);/obj/item/weapon/handcuffs) + +/obj/random/maintenance/research +/*Maintenance loot list. This one is for around medical areas*/ + name = "random research maintenance item" + desc = "This is a random research maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/research/item_to_spawn() + return pick(prob(320);/obj/random/maintenance/clean, + prob(3);/obj/item/device/analyzer/plant_analyzer, + prob(1);/obj/item/device/flash/synthetic, + prob(2);/obj/item/weapon/bucket_sensor, + prob(1);/obj/item/weapon/cell/device/weapon, + prob(5);/obj/item/weapon/storage/backpack/toxins, + prob(5);/obj/item/weapon/storage/backpack/satchel/tox, + prob(5);/obj/item/weapon/storage/backpack/messenger/tox, + prob(2);/obj/item/weapon/storage/excavation, + prob(1);/obj/item/weapon/storage/backpack/holding, + prob(3);/obj/item/weapon/storage/box/beakers, + prob(3);/obj/item/weapon/storage/box/syringes, + prob(3);/obj/item/weapon/storage/box/gloves, + prob(2);/obj/item/clothing/gloves/sterile/latex, + prob(4);/obj/item/clothing/glasses/science, + prob(3);/obj/item/clothing/glasses/material, + prob(1);/obj/item/clothing/head/beret/purple, + prob(1);/obj/item/clothing/head/bio_hood/scientist, + prob(4);/obj/item/clothing/suit/storage/toggle/labcoat, + prob(4);/obj/item/clothing/suit/storage/toggle/labcoat/science, + prob(1);/obj/item/clothing/suit/bio_suit/scientist, + prob(4);/obj/item/clothing/under/rank/scientist, + prob(2);/obj/item/clothing/under/rank/scientist_new) + +/obj/random/maintenance/cargo +/*Maintenance loot list. This one is for around cargo areas*/ + name = "random cargo maintenance item" + desc = "This is a random cargo maintenance item." + icon = 'icons/obj/items.dmi' + icon_state = "gift1" + +/obj/random/maintenance/cargo/item_to_spawn() + return pick(prob(320);/obj/random/maintenance/clean, + prob(3);/obj/item/device/flashlight/lantern, + prob(4);/obj/item/weapon/pickaxe, + prob(5);/obj/item/weapon/storage/backpack/industrial, + prob(5);/obj/item/weapon/storage/backpack/satchel/norm, + prob(3);/obj/item/weapon/storage/backpack/dufflebag, + prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, + prob(1);/obj/item/weapon/storage/toolbox/syndicate, + prob(1);/obj/item/weapon/storage/belt/utility/full, + prob(2);/obj/item/weapon/storage/belt/utility, + prob(4);/obj/item/device/toner, + prob(1);/obj/item/device/destTagger, + prob(3);/obj/item/clothing/glasses/material, + prob(3);/obj/item/clothing/head/soft/yellow, + prob(4);/obj/item/clothing/suit/storage/hazardvest, + prob(3);/obj/item/clothing/suit/storage/apron/overalls, + prob(4);/obj/item/clothing/suit/storage/apron, + prob(2);/obj/item/clothing/under/syndicate/tacticool, + prob(1);/obj/item/clothing/under/syndicate/combat, + prob(2);/obj/item/clothing/accessory/storage/black_vest, + prob(2);/obj/item/clothing/accessory/storage/brown_vest, + prob(3);/obj/item/clothing/ears/earmuffs, + prob(1);/obj/item/weapon/beartrap, + prob(2);/obj/item/weapon/handcuffs,) diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm new file mode 100644 index 00000000000..57ff7acdcdd --- /dev/null +++ b/code/game/objects/random/mapping.dm @@ -0,0 +1,395 @@ +/* +// Least descriptive filename? +// This is where all of the things that aren't really loot should go. +// Barricades, mines, etc. +*/ + +/obj/random/junk //Broken items, or stuff that could be picked up + name = "random junk" + desc = "This is some random junk." + icon = 'icons/obj/trash.dmi' + icon_state = "trashbag3" + +/obj/random/junk/item_to_spawn() + return get_random_junk_type() + +/obj/random/trash //Mostly remains and cleanable decals. Stuff a janitor could clean up + name = "random trash" + desc = "This is some random trash." + icon = 'icons/effects/effects.dmi' + icon_state = "greenglow" + +/obj/random/trash/item_to_spawn() + return pick(/obj/effect/decal/remains/lizard, + /obj/effect/decal/cleanable/blood/gibs/robot, + /obj/effect/decal/cleanable/blood/oil, + /obj/effect/decal/cleanable/blood/oil/streak, + /obj/effect/decal/cleanable/spiderling_remains, + /obj/effect/decal/remains/mouse, + /obj/effect/decal/cleanable/vomit, + /obj/effect/decal/cleanable/blood/splatter, + /obj/effect/decal/cleanable/ash, + /obj/effect/decal/cleanable/generic, + /obj/effect/decal/cleanable/flour, + /obj/effect/decal/cleanable/dirt, + /obj/effect/decal/remains/robot) + +/obj/random/obstruction //Large objects to block things off in maintenance + name = "random obstruction" + desc = "This is a random obstruction." + icon = 'icons/obj/cult.dmi' + icon_state = "cultgirder" + +/obj/random/obstruction/item_to_spawn() + return pick(/obj/structure/barricade, + /obj/structure/girder, + /obj/structure/girder/displaced, + /obj/structure/girder/reinforced, + /obj/structure/grille, + /obj/structure/grille/broken, + /obj/structure/foamedmetal, + /obj/structure/inflatable, + /obj/structure/inflatable/door) + +/obj/random/landmine + name = "Random Land Mine" + desc = "This is a random land mine." + icon = 'icons/obj/weapons.dmi' + icon_state = "uglymine" + spawn_nothing_percentage = 25 + +/obj/random/landmine/item_to_spawn() + return pick(prob(30);/obj/effect/mine, + prob(25);/obj/effect/mine/frag, + prob(25);/obj/effect/mine/emp, + prob(10);/obj/effect/mine/stun, + prob(10);/obj/effect/mine/incendiary,) + +/obj/random_multi/single_item/captains_spare_id + name = "Multi Point - Captain's Spare" + id = "Captain's spare id" + item_path = /obj/item/weapon/card/id/gold/captain/spare + +/obj/random_multi/single_item/sfr_headset + name = "Multi Point - headset" + id = "SFR headset" + item_path = /obj/random/sfr + +// This is in here because it's spawned by the SFR Headset randomizer +/obj/random/sfr + name = "random SFR headset" + desc = "This is a headset spawn." + icon = 'icons/misc/mark.dmi' + icon_state = "rup" + +/obj/random/sfr/item_to_spawn() + return pick(prob(25);/obj/item/device/radio/headset/heads/captain/sfr, + prob(25);/obj/item/device/radio/headset/headset_cargo/alt, + prob(25);/obj/item/device/radio/headset/headset_com/alt, + prob(25);/obj/item/device/radio/headset) + +// Mining Goodies +/obj/random/multiple/minevault + name = "random vault loot" + desc = "Loot for mine vaults." + icon = 'icons/misc/mark.dmi' + icon_state = "rup" + +/obj/random/multiple/minevault/item_to_spawn() + return pick( + prob(5);list( + /obj/item/clothing/mask/smokable/pipe, + /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, + /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/weapon/flame/lighter/zippo, + /obj/structure/closet/crate/hydroponics + ), + prob(5);list( + /obj/item/weapon/pickaxe/drill, + /obj/item/clothing/suit/space/void/mining, + /obj/item/clothing/head/helmet/space/void/mining, + /obj/structure/closet/crate/engineering + ), + prob(5);list( + /obj/item/weapon/pickaxe/drill, + /obj/item/clothing/suit/space/void/mining/alt, + /obj/item/clothing/head/helmet/space/void/mining/alt, + /obj/structure/closet/crate/engineering + ), + prob(5);list( + /obj/item/weapon/reagent_containers/glass/beaker/bluespace, + /obj/item/weapon/reagent_containers/glass/beaker/bluespace, + /obj/item/weapon/reagent_containers/glass/beaker/bluespace, + /obj/structure/closet/crate/science + ), + prob(5);list( + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/item/weapon/ore/gold, + /obj/structure/closet/crate/engineering + ), + prob(5);list( + /obj/item/weapon/pickaxe/drill, + /obj/item/clothing/glasses/material, + /obj/structure/ore_box, + /obj/structure/closet/crate + ), + prob(5);list( + /obj/item/weapon/reagent_containers/glass/beaker/noreact, + /obj/item/weapon/reagent_containers/glass/beaker/noreact, + /obj/item/weapon/reagent_containers/glass/beaker/noreact, + /obj/structure/closet/crate/science + ), + prob(5);list( + /obj/item/weapon/storage/secure/briefcase/money, + /obj/structure/closet/crate/freezer/rations + ), + prob(5);list( + /obj/item/clothing/accessory/tie/horrible, + /obj/item/clothing/accessory/tie/horrible, + /obj/item/clothing/accessory/tie/horrible, + /obj/item/clothing/accessory/tie/horrible, + /obj/item/clothing/accessory/tie/horrible, + /obj/item/clothing/accessory/tie/horrible, + /obj/structure/closet/crate + ), + prob(5);list( + /obj/item/weapon/melee/baton, + /obj/item/weapon/melee/baton, + /obj/item/weapon/melee/baton, + /obj/item/weapon/melee/baton, + /obj/structure/closet/crate + ), + prob(5);list( + /obj/item/clothing/under/shorts/red, + /obj/item/clothing/under/shorts/blue, + /obj/structure/closet/crate + ), + prob(2);list( + /obj/item/weapon/melee/baton/cattleprod, + /obj/item/weapon/melee/baton/cattleprod, + /obj/item/weapon/cell/high, + /obj/item/weapon/cell/high, + /obj/structure/closet/crate + ), + prob(2);list( + /obj/item/latexballon, + /obj/item/latexballon, + /obj/structure/closet/crate + ), + prob(2);list( + /obj/item/toy/syndicateballoon, + /obj/item/toy/syndicateballoon, + /obj/structure/closet/crate + ), + prob(2);list( + /obj/item/weapon/rig/industrial/equipped, + /obj/item/weapon/storage/bag/ore, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/clothing/head/kitty, + /obj/item/clothing/head/kitty, + /obj/item/clothing/head/kitty, + /obj/item/clothing/head/kitty, + /obj/structure/closet/crate + ), + prob(2);list( + /obj/random/coin, + /obj/random/coin, + /obj/random/coin, + /obj/random/coin, + /obj/random/coin, + /obj/structure/closet/crate/plastic + ), + prob(2);list( + /obj/random/multiple/voidsuit, + /obj/random/multiple/voidsuit, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/clothing/suit/space/syndicate/black/red, + /obj/item/clothing/head/helmet/space/syndicate/black/red, + /obj/item/clothing/suit/space/syndicate/black/red, + /obj/item/clothing/head/helmet/space/syndicate/black/red, + /obj/item/weapon/gun/projectile/automatic/mini_uzi, + /obj/item/weapon/gun/projectile/automatic/mini_uzi, + /obj/item/ammo_magazine/m45uzi, + /obj/item/ammo_magazine/m45uzi, + /obj/item/ammo_magazine/m45uzi/empty, + /obj/item/ammo_magazine/m45uzi/empty, + /obj/structure/closet/crate/plastic + ), + prob(2);list( + /obj/item/clothing/suit/ianshirt, + /obj/item/clothing/suit/ianshirt, + /obj/item/weapon/bedsheet/ian, + /obj/structure/closet/crate/plastic + ), + prob(2);list( + /obj/item/clothing/suit/armor/vest, + /obj/item/clothing/suit/armor/vest, + /obj/item/weapon/gun/projectile/garand, + /obj/item/weapon/gun/projectile/garand, + /obj/item/ammo_magazine/m762garand, + /obj/item/ammo_magazine/m762garand, + /obj/structure/closet/crate/plastic + ), + prob(2);list( + /obj/mecha/working/ripley/mining + ), + prob(2);list( + /obj/mecha/working/hoverpod/combatpod + ), + prob(2);list( + /obj/item/weapon/pickaxe/silver, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/pickaxe/drill, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/pickaxe/jackhammer, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/pickaxe/diamond, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/pickaxe/diamonddrill, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/pickaxe/gold, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/pickaxe/plasmacutter, + /obj/item/weapon/storage/bag/ore, + /obj/item/clothing/glasses/material, + /obj/structure/closet/crate/engineering + ), + prob(2);list( + /obj/item/weapon/material/sword/katana, + /obj/item/weapon/material/sword/katana, + /obj/structure/closet/crate + ), + prob(2);list( + /obj/item/weapon/material/sword, + /obj/item/weapon/material/sword, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/clothing/mask/balaclava, + /obj/item/weapon/material/star, + /obj/item/weapon/material/star, + /obj/item/weapon/material/star, + /obj/item/weapon/material/star, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/weed_extract, + /obj/item/xenos_claw, + /obj/structure/closet/crate/science + ), + prob(1);list( + /obj/item/clothing/head/bearpelt, + /obj/item/clothing/under/soviet, + /obj/item/clothing/under/soviet, + /obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial, + /obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/weapon/gun/projectile/revolver/detective, + /obj/item/weapon/gun/projectile/contender, + /obj/item/weapon/gun/projectile/p92x, + /obj/item/weapon/gun/projectile/derringer, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/weapon/melee/cultblade, + /obj/item/clothing/suit/cultrobes, + /obj/item/clothing/head/culthood, + /obj/item/device/soulstone, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/weapon/vampiric, + /obj/item/weapon/vampiric, + /obj/structure/closet/crate/science + ), + prob(1);list( + /obj/item/weapon/archaeological_find + ), + prob(1);list( + /obj/item/weapon/melee/energy/sword, + /obj/item/weapon/melee/energy/sword, + /obj/item/weapon/melee/energy/sword, + /obj/item/weapon/shield/energy, + /obj/item/weapon/shield/energy, + /obj/structure/closet/crate/science + ), + prob(1);list( + /obj/item/weapon/storage/backpack/clown, + /obj/item/clothing/under/rank/clown, + /obj/item/clothing/shoes/clown_shoes, + /obj/item/device/pda/clown, + /obj/item/clothing/mask/gas/clown_hat, + /obj/item/weapon/bikehorn, + /obj/item/toy/waterflower, + /obj/item/weapon/pen/crayon/rainbow, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/clothing/under/mime, + /obj/item/clothing/shoes/black, + /obj/item/device/pda/mime, + /obj/item/clothing/gloves/white, + /obj/item/clothing/mask/gas/mime, + /obj/item/clothing/head/beret, + /obj/item/clothing/suit/suspenders, + /obj/item/weapon/pen/crayon/mime, + /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing, + /obj/structure/closet/crate + ), + prob(1);list( + /obj/item/weapon/storage/belt/champion, + /obj/item/clothing/mask/luchador, + /obj/item/clothing/mask/luchador/rudos, + /obj/item/clothing/mask/luchador/tecnicos, + /obj/structure/closet/crate + ) + ) diff --git a/code/game/objects/random/misc.dm b/code/game/objects/random/misc.dm new file mode 100644 index 00000000000..29b597d460b --- /dev/null +++ b/code/game/objects/random/misc.dm @@ -0,0 +1,490 @@ +/* +// This is going to get so incredibly bloated. +// But this is where all of the "Loot" goes. Anything fun or useful that doesn't deserve its own file, pile in. +*/ + +/obj/random/tool + name = "random tool" + desc = "This is a random tool" + icon = 'icons/obj/tools.dmi' + icon_state = "welder" + +/obj/random/tool/item_to_spawn() + return pick(/obj/item/weapon/screwdriver, + /obj/item/weapon/wirecutters, + /obj/item/weapon/weldingtool, + /obj/item/weapon/weldingtool/largetank, + /obj/item/weapon/crowbar, + /obj/item/weapon/wrench, + /obj/item/device/flashlight, + /obj/item/device/multitool) + +/obj/random/tool/powermaint + name = "random powertool" + desc = "This is a random rare powertool for maintenance" + icon_state = "jaws_pry" + +/obj/random/tool/powermaint/item_to_spawn() + return pick(prob(320);/obj/random/tool, + prob(1);/obj/item/weapon/screwdriver/power, + prob(1);/obj/item/weapon/wirecutters/power, + prob(15);/obj/item/weapon/weldingtool/electric, + prob(5);/obj/item/weapon/weldingtool/experimental) + +/obj/random/tool/power + name = "random powertool" + desc = "This is a random powertool" + icon_state = "jaws_pry" + +/obj/random/tool/power/item_to_spawn() + return pick(/obj/item/weapon/screwdriver/power, + /obj/item/weapon/wirecutters/power, + /obj/item/weapon/weldingtool/electric, + /obj/item/weapon/weldingtool/experimental) + +/obj/random/tool/alien + name = "random alien tool" + desc = "This is a random tool" + icon = 'icons/obj/abductor.dmi' + icon_state = "welder" + +/obj/random/tool/alien/item_to_spawn() + return pick(/obj/item/weapon/screwdriver/alien, + /obj/item/weapon/wirecutters/alien, + /obj/item/weapon/weldingtool/alien, + /obj/item/weapon/crowbar/alien, + /obj/item/weapon/wrench/alien, + /obj/item/stack/cable_coil/alien, + /obj/item/device/multitool/alien) + +/obj/random/technology_scanner + name = "random scanner" + desc = "This is a random technology scanner." + icon = 'icons/obj/device.dmi' + icon_state = "atmos" + +/obj/random/technology_scanner/item_to_spawn() + return pick(prob(5);/obj/item/device/t_scanner, + prob(2);/obj/item/device/radio, + prob(5);/obj/item/device/analyzer) + +/obj/random/powercell + name = "random powercell" + desc = "This is a random powercell." + icon = 'icons/obj/power.dmi' + icon_state = "cell" + +/obj/random/powercell/item_to_spawn() + return pick(prob(40);/obj/item/weapon/cell, + prob(25);/obj/item/weapon/cell/device, + prob(25);/obj/item/weapon/cell/high, + prob(9);/obj/item/weapon/cell/super, + prob(1);/obj/item/weapon/cell/hyper) + + +/obj/random/bomb_supply + name = "bomb supply" + desc = "This is a random bomb supply." + icon = 'icons/obj/assemblies/new_assemblies.dmi' + icon_state = "signaller" + +/obj/random/bomb_supply/item_to_spawn() + return pick(/obj/item/device/assembly/igniter, + /obj/item/device/assembly/prox_sensor, + /obj/item/device/assembly/signaler, + /obj/item/device/assembly/timer, + /obj/item/device/multitool) + + +/obj/random/toolbox + name = "random toolbox" + desc = "This is a random toolbox." + icon = 'icons/obj/storage.dmi' + icon_state = "red" + +/obj/random/toolbox/item_to_spawn() + return pick(prob(6);/obj/item/weapon/storage/toolbox/mechanical, + prob(6);/obj/item/weapon/storage/toolbox/electrical, + prob(2);/obj/item/weapon/storage/toolbox/emergency, + prob(1);/obj/item/weapon/storage/toolbox/syndicate) + + +/obj/random/tech_supply + name = "random tech supply" + desc = "This is a random piece of technology supplies." + icon = 'icons/obj/power.dmi' + icon_state = "cell" + spawn_nothing_percentage = 25 + +/obj/random/tech_supply/item_to_spawn() + return pick(prob(3);/obj/random/powercell, + prob(2);/obj/random/technology_scanner, + prob(1);/obj/item/weapon/packageWrap, + prob(2);/obj/random/bomb_supply, + prob(1);/obj/item/weapon/extinguisher, + prob(1);/obj/item/clothing/gloves/fyellow, + prob(3);/obj/item/stack/cable_coil/random, + prob(2);/obj/random/toolbox, + prob(2);/obj/item/weapon/storage/belt/utility, + prob(1);/obj/item/weapon/storage/belt/utility/full, + prob(5);/obj/random/tool, + prob(2);/obj/item/weapon/tape_roll, + prob(2);/obj/item/taperoll/engineering, + prob(1);/obj/item/taperoll/atmos, + prob(1);/obj/item/device/flashlight/maglight) + +/obj/random/tech_supply/component + name = "random tech component" + desc = "This is a random machine component." + icon = 'icons/obj/items.dmi' + icon_state = "portable_analyzer" + +/obj/random/tech_supply/component/item_to_spawn() + return pick(prob(3);/obj/item/weapon/stock_parts/gear, + prob(2);/obj/item/weapon/stock_parts/console_screen, + prob(1);/obj/item/weapon/stock_parts/spring, + prob(3);/obj/item/weapon/stock_parts/capacitor, + prob(2);/obj/item/weapon/stock_parts/capacitor/adv, + prob(1);/obj/item/weapon/stock_parts/capacitor/super, + prob(3);/obj/item/weapon/stock_parts/manipulator, + prob(2);/obj/item/weapon/stock_parts/manipulator/nano, + prob(1);/obj/item/weapon/stock_parts/manipulator/pico, + prob(3);/obj/item/weapon/stock_parts/matter_bin, + prob(2);/obj/item/weapon/stock_parts/matter_bin/adv, + prob(1);/obj/item/weapon/stock_parts/matter_bin/super, + prob(3);/obj/item/weapon/stock_parts/scanning_module, + prob(2);/obj/item/weapon/stock_parts/scanning_module/adv, + prob(1);/obj/item/weapon/stock_parts/scanning_module/phasic) + +/obj/random/medical + name = "Random Medicine" + desc = "This is a random medical item." + icon = 'icons/obj/items.dmi' + icon_state = "advfirstaid" + +/obj/random/medical/item_to_spawn() + return pick(prob(21);/obj/random/medical/lite, + prob(5);/obj/random/medical/pillbottle, + prob(1);/obj/item/weapon/storage/pill_bottle/tramadol, + prob(1);/obj/item/weapon/storage/pill_bottle/antitox, + prob(1);/obj/item/weapon/storage/pill_bottle/carbon, + prob(3);/obj/item/bodybag/cryobag, + prob(5);/obj/item/weapon/reagent_containers/syringe/antitoxin, + prob(3);/obj/item/weapon/reagent_containers/syringe/antiviral, + prob(5);/obj/item/weapon/reagent_containers/syringe/inaprovaline, + prob(1);/obj/item/weapon/reagent_containers/hypospray, + prob(1);/obj/item/weapon/storage/box/freezer, + prob(2);/obj/item/stack/nanopaste) + +/obj/random/medical/pillbottle + name = "Random Pill Bottle" + desc = "This is a random pill bottle." + icon = 'icons/obj/chemical.dmi' + icon_state = "pill_canister" + +/obj/random/medical/pillbottle/item_to_spawn() + return pick(prob(1);/obj/item/weapon/storage/pill_bottle/spaceacillin, + prob(1);/obj/item/weapon/storage/pill_bottle/dermaline, + prob(1);/obj/item/weapon/storage/pill_bottle/dexalin_plus, + prob(1);/obj/item/weapon/storage/pill_bottle/bicaridine, + prob(1);/obj/item/weapon/storage/pill_bottle/iron) + +/obj/random/medical/lite + name = "Random Medicine" + desc = "This is a random simple medical item." + icon = 'icons/obj/items.dmi' + icon_state = "brutepack" + spawn_nothing_percentage = 25 + +/obj/random/medical/lite/item_to_spawn() + return pick(prob(4);/obj/item/stack/medical/bruise_pack, + prob(4);/obj/item/stack/medical/ointment, + prob(2);/obj/item/stack/medical/advanced/bruise_pack, + prob(2);/obj/item/stack/medical/advanced/ointment, + prob(1);/obj/item/stack/medical/splint, + prob(4);/obj/item/device/healthanalyzer, + prob(1);/obj/item/bodybag, + prob(3);/obj/item/weapon/reagent_containers/hypospray/autoinjector, + prob(2);/obj/item/weapon/storage/pill_bottle/kelotane, + prob(2);/obj/item/weapon/storage/pill_bottle/antitox) + +/obj/random/firstaid + name = "Random First Aid Kit" + desc = "This is a random first aid kit." + icon = 'icons/obj/storage.dmi' + icon_state = "firstaid" + +/obj/random/firstaid/item_to_spawn() + return pick(prob(10);/obj/item/weapon/storage/firstaid/regular, + prob(8);/obj/item/weapon/storage/firstaid/toxin, + prob(8);/obj/item/weapon/storage/firstaid/o2, + prob(6);/obj/item/weapon/storage/firstaid/adv, + prob(8);/obj/item/weapon/storage/firstaid/fire, + prob(1);/obj/item/weapon/storage/firstaid/combat) + +/obj/random/contraband + name = "Random Illegal Item" + desc = "Hot Stuff." + icon = 'icons/obj/items.dmi' + icon_state = "purplecomb" + spawn_nothing_percentage = 50 +/obj/random/contraband/item_to_spawn() + return pick(prob(6);/obj/item/weapon/storage/pill_bottle/tramadol, + prob(8);/obj/item/weapon/haircomb, + prob(4);/obj/item/weapon/storage/pill_bottle/happy, + prob(4);/obj/item/weapon/storage/pill_bottle/zoom, + prob(10);/obj/item/weapon/contraband/poster, + prob(4);/obj/item/weapon/material/butterfly, + prob(6);/obj/item/weapon/material/butterflyblade, + prob(6);/obj/item/weapon/material/butterflyhandle, + prob(6);/obj/item/weapon/material/wirerod, + prob(2);/obj/item/weapon/material/butterfly/switchblade, + prob(2);/obj/item/clothing/gloves/knuckledusters, + prob(1);/obj/item/weapon/material/knife/tacknife, + prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc, + prob(1);/obj/item/weapon/beartrap, + prob(1);/obj/item/weapon/handcuffs, + prob(1);/obj/item/weapon/handcuffs/legcuffs, + prob(2);/obj/item/weapon/reagent_containers/syringe/drugs, + prob(1);/obj/item/weapon/reagent_containers/syringe/steroid) + +/obj/random/cash + name = "random currency" + desc = "LOADSAMONEY!" + icon = 'icons/obj/items.dmi' + icon_state = "spacecash1" + +/obj/random/cash/item_to_spawn() + return pick(prob(320);/obj/random/maintenance/clean, + prob(12);/obj/item/weapon/spacecash/c1, + prob(8);/obj/item/weapon/spacecash/c10, + prob(4);/obj/item/weapon/spacecash/c20, + prob(1);/obj/item/weapon/spacecash/c50, + prob(1);/obj/item/weapon/spacecash/c100) + +/obj/random/soap + name = "Random Soap" + desc = "This is a random bar of soap." + icon = 'icons/obj/items.dmi' + icon_state = "soap" + +/obj/random/soap/item_to_spawn() + return pick(prob(3);/obj/item/weapon/soap, + prob(2);/obj/item/weapon/soap/nanotrasen, + prob(2);/obj/item/weapon/soap/deluxe, + prob(1);/obj/item/weapon/soap/syndie) + + +/obj/random/drinkbottle + name = "random drink" + desc = "This is a random drink." + icon = 'icons/obj/drinks.dmi' + icon_state = "whiskeybottle" + +/obj/random/drinkbottle/item_to_spawn() + return pick(/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, + /obj/item/weapon/reagent_containers/food/drinks/bottle/gin, + /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, + /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, + /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, + /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, + /obj/item/weapon/reagent_containers/food/drinks/bottle/wine, + /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, + /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, + /obj/item/weapon/reagent_containers/food/drinks/bottle/patron) + +/obj/random/material //Random materials for building stuff + name = "random material" + desc = "This is a random material." + icon = 'icons/obj/items.dmi' + icon_state = "sheet-metal" + +/obj/random/material/item_to_spawn() + return pick(/obj/item/stack/material/steel{amount = 10}, + /obj/item/stack/material/glass{amount = 10}, + /obj/item/stack/material/glass/reinforced{amount = 10}, + /obj/item/stack/material/plastic{amount = 10}, + /obj/item/stack/material/wood{amount = 10}, + /obj/item/stack/material/cardboard{amount = 10}, + /obj/item/stack/rods{amount = 10}, + /obj/item/stack/material/plasteel{amount = 10}) + +/obj/random/tank + name = "random tank" + desc = "This is a tank." + icon = 'icons/obj/tank.dmi' + icon_state = "canister" + +/obj/random/tank/item_to_spawn() + return pick(prob(5);/obj/item/weapon/tank/oxygen, + prob(4);/obj/item/weapon/tank/oxygen/yellow, + prob(4);/obj/item/weapon/tank/oxygen/red, + prob(3);/obj/item/weapon/tank/air, + prob(4);/obj/item/weapon/tank/emergency/oxygen, + prob(3);/obj/item/weapon/tank/emergency/oxygen/engi, + prob(2);/obj/item/weapon/tank/emergency/oxygen/double, + prob(1);/obj/item/device/suit_cooling_unit) + +/obj/random/cigarettes + name = "random cigarettes" + desc = "This is a cigarette." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "cigpacket" + +/obj/random/cigarettes/item_to_spawn() + return pick(prob(5);/obj/item/weapon/storage/fancy/cigarettes, + prob(4);/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, + prob(3);/obj/item/weapon/storage/fancy/cigarettes/killthroat, + prob(3);/obj/item/weapon/storage/fancy/cigarettes/luckystars, + prob(3);/obj/item/weapon/storage/fancy/cigarettes/jerichos, + prob(3);/obj/item/weapon/storage/fancy/cigarettes/menthols, + prob(3);/obj/item/weapon/storage/fancy/cigarettes/carcinomas, + prob(3);/obj/item/weapon/storage/fancy/cigarettes/professionals, + prob(1);/obj/item/weapon/storage/fancy/cigar, + prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar, + prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, + prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar/havana) + +/obj/random/coin + name = "random coin" + desc = "This is a coin spawn." + icon = 'icons/misc/mark.dmi' + icon_state = "rup" + +/obj/random/coin/item_to_spawn() + return pick(prob(5);/obj/item/weapon/coin/silver, + prob(3);/obj/item/weapon/coin/iron, + prob(4);/obj/item/weapon/coin/gold, + prob(3);/obj/item/weapon/coin/phoron, + prob(1);/obj/item/weapon/coin/uranium, + prob(2);/obj/item/weapon/coin/platinum, + prob(1);/obj/item/weapon/coin/diamond) + +/obj/random/action_figure + name = "random action figure" + desc = "This is a random action figure." + icon = 'icons/obj/toy.dmi' + icon_state = "assistant" + +/obj/random/action_figure/item_to_spawn() + return pick(/obj/item/toy/figure/cmo, + /obj/item/toy/figure/assistant, + /obj/item/toy/figure/atmos, + /obj/item/toy/figure/bartender, + /obj/item/toy/figure/borg, + /obj/item/toy/figure/gardener, + /obj/item/toy/figure/captain, + /obj/item/toy/figure/cargotech, + /obj/item/toy/figure/ce, + /obj/item/toy/figure/chaplain, + /obj/item/toy/figure/chef, + /obj/item/toy/figure/chemist, + /obj/item/toy/figure/clown, + /obj/item/toy/figure/corgi, + /obj/item/toy/figure/detective, + /obj/item/toy/figure/dsquad, + /obj/item/toy/figure/engineer, + /obj/item/toy/figure/geneticist, + /obj/item/toy/figure/hop, + /obj/item/toy/figure/hos, + /obj/item/toy/figure/qm, + /obj/item/toy/figure/janitor, + /obj/item/toy/figure/agent, + /obj/item/toy/figure/librarian, + /obj/item/toy/figure/md, + /obj/item/toy/figure/mime, + /obj/item/toy/figure/miner, + /obj/item/toy/figure/ninja, + /obj/item/toy/figure/wizard, + /obj/item/toy/figure/rd, + /obj/item/toy/figure/roboticist, + /obj/item/toy/figure/scientist, + /obj/item/toy/figure/syndie, + /obj/item/toy/figure/secofficer, + /obj/item/toy/figure/warden, + /obj/item/toy/figure/psychologist, + /obj/item/toy/figure/paramedic, + /obj/item/toy/figure/ert) + +/obj/random/plushie + name = "random plushie" + desc = "This is a random plushie." + icon = 'icons/obj/toy.dmi' + icon_state = "nymphplushie" + +/obj/random/plushie/item_to_spawn() + return pick(/obj/item/toy/plushie/nymph, + /obj/item/toy/plushie/mouse, + /obj/item/toy/plushie/kitten, + /obj/item/toy/plushie/lizard, + /obj/item/toy/plushie/black_cat, + /obj/item/toy/plushie/black_fox, + /obj/item/toy/plushie/blue_fox, + /obj/random/carp_plushie, + /obj/item/toy/plushie/coffee_fox, + /obj/item/toy/plushie/corgi, + /obj/item/toy/plushie/crimson_fox, + /obj/item/toy/plushie/deer, + /obj/item/toy/plushie/girly_corgi, + /obj/item/toy/plushie/grey_cat, + /obj/item/toy/plushie/marble_fox, + /obj/item/toy/plushie/octopus, + /obj/item/toy/plushie/orange_cat, + /obj/item/toy/plushie/orange_fox, + /obj/item/toy/plushie/pink_fox, + /obj/item/toy/plushie/purple_fox, + /obj/item/toy/plushie/red_fox, + /obj/item/toy/plushie/robo_corgi, + /obj/item/toy/plushie/siamese_cat, + /obj/item/toy/plushie/spider, + /obj/item/toy/plushie/tabby_cat, + /obj/item/toy/plushie/tuxedo_cat, + /obj/item/toy/plushie/white_cat) + +/obj/random/plushielarge + name = "random large plushie" + desc = "This is a randomn large plushie." + icon = 'icons/obj/toy.dmi' + icon_state = "droneplushie" + +/obj/random/plushielarge/item_to_spawn() + return pick(/obj/structure/plushie/ian, + /obj/structure/plushie/drone, + /obj/structure/plushie/carp, + /obj/structure/plushie/beepsky) + +/obj/random/toy + name = "random toy" + desc = "This is a random toy." + icon = 'icons/obj/toy.dmi' + icon_state = "ship" + +/obj/random/toy/item_to_spawn() + return pick(/obj/item/toy/bosunwhistle, + /obj/item/toy/plushie/therapy/red, + /obj/item/toy/plushie/therapy/purple, + /obj/item/toy/plushie/therapy/blue, + /obj/item/toy/plushie/therapy/yellow, + /obj/item/toy/plushie/therapy/orange, + /obj/item/toy/plushie/therapy/green, + /obj/item/toy/cultsword, + /obj/item/toy/katana, + /obj/item/toy/snappop, + /obj/item/toy/sword, + /obj/item/toy/balloon, + /obj/item/toy/crossbow, + /obj/item/toy/blink, + /obj/item/toy/waterflower, + /obj/item/toy/eight_ball, + /obj/item/toy/eight_ball/conch, + /obj/item/toy/prize/ripley, + /obj/item/toy/prize/fireripley, + /obj/item/toy/prize/deathripley, + /obj/item/toy/prize/gygax, + /obj/item/toy/prize/durand, + /obj/item/toy/prize/honk, + /obj/item/toy/prize/marauder, + /obj/item/toy/prize/seraph, + /obj/item/toy/prize/mauler, + /obj/item/toy/prize/odysseus, + /obj/item/toy/prize/phazon) \ No newline at end of file diff --git a/code/game/objects/random/mob.dm b/code/game/objects/random/mob.dm new file mode 100644 index 00000000000..2043ef02400 --- /dev/null +++ b/code/game/objects/random/mob.dm @@ -0,0 +1,159 @@ +/* + * Random Mobs + */ + +/obj/random/mob + name = "Random Animal" + desc = "This is a random animal." + icon = 'icons/mob/animal.dmi' + icon_state = "chicken_white" + + var/overwrite_hostility = 0 + + var/mob_faction = null + var/mob_returns_home = 0 + var/mob_wander = 1 + var/mob_wander_distance = 3 + var/mob_hostile = 0 + var/mob_retaliate = 0 + +/obj/random/mob/item_to_spawn() + return pick(prob(10);/mob/living/simple_animal/lizard, + prob(6);/mob/living/simple_animal/retaliate/diyaab, + prob(10);/mob/living/simple_animal/cat/fluff, + prob(6);/mob/living/simple_animal/cat/kitten, + prob(10);/mob/living/simple_animal/corgi, + prob(6);/mob/living/simple_animal/corgi/puppy, + prob(10);/mob/living/simple_animal/crab, + prob(10);/mob/living/simple_animal/chicken, + prob(6);/mob/living/simple_animal/chick, + prob(10);/mob/living/simple_animal/cow, + prob(6);/mob/living/simple_animal/retaliate/goat, + prob(10);/mob/living/simple_animal/penguin, + prob(10);/mob/living/simple_animal/mouse, + prob(10);/mob/living/simple_animal/yithian, + prob(10);/mob/living/simple_animal/tindalos, + prob(10);/mob/living/simple_animal/corgi/tamaskan, + prob(3);/mob/living/simple_animal/parrot, + prob(1);/mob/living/simple_animal/giant_crab) + +/obj/random/mob/spawn_item() //These should only ever have simple mobs. + var/build_path = item_to_spawn() + + var/mob/living/simple_animal/M = new build_path(src.loc) + M.ai_inactive = 1 //Don't fight eachother while we're still setting up! + if(mob_faction) + M.faction = mob_faction + M.returns_home = mob_returns_home + M.wander = mob_wander + M.wander_distance = mob_wander_distance + if(overwrite_hostility) + M.hostile = mob_hostile + M.retaliate = mob_retaliate + M.ai_inactive = 0 //Now you can kill eachother if your faction didn't override. + + if(pixel_x || pixel_y) + M.pixel_x = pixel_x + M.pixel_y = pixel_y + +/obj/random/mob/sif + name = "Random Sif Animal" + desc = "This is a random cold weather animal." + icon_state = "penguin" + + mob_returns_home = 1 + mob_wander_distance = 10 + +/obj/random/mob/sif/item_to_spawn() + return pick(prob(30);/mob/living/simple_animal/retaliate/diyaab, + prob(15);/mob/living/simple_animal/crab, + prob(15);/mob/living/simple_animal/penguin, + prob(15);/mob/living/simple_animal/mouse, + prob(15);/mob/living/simple_animal/corgi/tamaskan, + prob(2);/mob/living/simple_animal/hostile/giant_spider/frost, + prob(1);/mob/living/simple_animal/hostile/goose, + prob(20);/mob/living/simple_animal/giant_crab) + +/obj/random/mob/sif/hostile + name = "Random Hostile Sif Animal" + desc = "This is a random hostile cold weather animal." + icon_state = "frost" + +/obj/random/mob/sif/hostile/item_to_spawn() + return pick(prob(22);/mob/living/simple_animal/hostile/savik, + prob(33);/mob/living/simple_animal/hostile/giant_spider/frost, + prob(45);/mob/living/simple_animal/hostile/shantak) + +/obj/random/mob/spider + name = "Random Spider" //Spiders should patrol where they spawn. + desc = "This is a random boring spider." + icon_state = "guard" + + mob_returns_home = 1 + mob_wander_distance = 4 + +/obj/random/mob/spider/item_to_spawn() + return pick(prob(22);/mob/living/simple_animal/hostile/giant_spider/nurse, + prob(33);/mob/living/simple_animal/hostile/giant_spider/hunter, + prob(45);/mob/living/simple_animal/hostile/giant_spider) + +/obj/random/mob/spider/mutant + name = "Random Mutant Spider" + desc = "This is a random mutated spider." + icon_state = "phoron" + +/obj/random/mob/spider/mutant/item_to_spawn() + return pick(prob(5);/obj/random/mob/spider, + prob(10);/mob/living/simple_animal/hostile/giant_spider/webslinger, + prob(10);/mob/living/simple_animal/hostile/giant_spider/carrier, + prob(33);/mob/living/simple_animal/hostile/giant_spider/lurker, + prob(33);/mob/living/simple_animal/hostile/giant_spider/tunneler, + prob(40);/mob/living/simple_animal/hostile/giant_spider/pepper, + prob(20);/mob/living/simple_animal/hostile/giant_spider/thermic, + prob(40);/mob/living/simple_animal/hostile/giant_spider/electric, + prob(1);/mob/living/simple_animal/hostile/giant_spider/phorogenic, + prob(40);/mob/living/simple_animal/hostile/giant_spider/frost) + +/obj/random/mob/robotic + name = "Random Robot Mob" + desc = "This is a random robot." + icon_state = "drone_dead" + + overwrite_hostility = 1 + + mob_faction = "malf_drone" + mob_returns_home = 1 + mob_wander = 1 + mob_wander_distance = 5 + mob_hostile = 1 + mob_retaliate = 1 + +/obj/random/mob/robotic/item_to_spawn() //Hivebots have a total number of 'lots' equal to the lesser drone, at 60. + return pick(prob(60);/mob/living/simple_animal/hostile/malf_drone/lesser, + prob(50);/mob/living/simple_animal/hostile/malf_drone, + prob(15);/mob/living/simple_animal/hostile/mecha/malf_drone, + prob(10);/mob/living/simple_animal/hostile/hivebot, + prob(15);/mob/living/simple_animal/hostile/hivebot/swarm, + prob(10);/mob/living/simple_animal/hostile/hivebot/range, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/rapid, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/ion, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/laser, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/strong, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/guard) + +/obj/random/mob/robotic/hivebot + name = "Random Hivebot" + desc = "This is a random hivebot." + icon_state = "drone3" + + mob_faction = "hivebot" + +/obj/random/mob/robotic/hivebot/item_to_spawn() + return pick(prob(10);/mob/living/simple_animal/hostile/hivebot, + prob(15);/mob/living/simple_animal/hostile/hivebot/swarm, + prob(10);/mob/living/simple_animal/hostile/hivebot/range, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/rapid, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/ion, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/laser, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/strong, + prob(5);/mob/living/simple_animal/hostile/hivebot/range/guard) diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm deleted file mode 100644 index 8be7b4621d4..00000000000 --- a/code/game/objects/random/random.dm +++ /dev/null @@ -1,1109 +0,0 @@ -/obj/random - name = "random object" - desc = "This item type is used to spawn random objects at round-start" - icon = 'icons/misc/mark.dmi' - icon_state = "rup" - var/spawn_nothing_percentage = 0 // this variable determines the likelyhood that this random object will not spawn anything - - -// creates a new object and deletes itself -/obj/random/New() - ..() - if (!prob(spawn_nothing_percentage)) - spawn_item() - qdel(src) - - -// this function should return a specific item to spawn -/obj/random/proc/item_to_spawn() - return 0 - - -// creates the random item -/obj/random/proc/spawn_item() - var/build_path = item_to_spawn() - - var/atom/A = new build_path(src.loc) - if(pixel_x || pixel_y) - A.pixel_x = pixel_x - A.pixel_y = pixel_y - - -/obj/random/single - name = "randomly spawned object" - desc = "This item type is used to randomly spawn a given object at round-start" - icon_state = "x3" - var/spawn_object = null - -/obj/random/single/item_to_spawn() - return ispath(spawn_object) ? spawn_object : text2path(spawn_object) - - -/obj/random/tool - name = "random tool" - desc = "This is a random tool" - icon = 'icons/obj/items.dmi' - icon_state = "welder" - -/obj/random/tool/item_to_spawn() - return pick(/obj/item/weapon/screwdriver, - /obj/item/weapon/wirecutters, - /obj/item/weapon/weldingtool, - /obj/item/weapon/weldingtool/largetank, - /obj/item/weapon/crowbar, - /obj/item/weapon/wrench, - /obj/item/device/flashlight, - /obj/item/device/multitool) - -/obj/random/technology_scanner - name = "random scanner" - desc = "This is a random technology scanner." - icon = 'icons/obj/device.dmi' - icon_state = "atmos" - -/obj/random/technology_scanner/item_to_spawn() - return pick(prob(5);/obj/item/device/t_scanner, - prob(2);/obj/item/device/radio, - prob(5);/obj/item/device/analyzer) - -/obj/random/powercell - name = "random powercell" - desc = "This is a random powercell." - icon = 'icons/obj/power.dmi' - icon_state = "cell" - -/obj/random/powercell/item_to_spawn() - return pick(prob(40);/obj/item/weapon/cell, - prob(25);/obj/item/weapon/cell/device, - prob(25);/obj/item/weapon/cell/high, - prob(9);/obj/item/weapon/cell/super, - prob(1);/obj/item/weapon/cell/hyper) - - -/obj/random/bomb_supply - name = "bomb supply" - desc = "This is a random bomb supply." - icon = 'icons/obj/assemblies/new_assemblies.dmi' - icon_state = "signaller" - -/obj/random/bomb_supply/item_to_spawn() - return pick(/obj/item/device/assembly/igniter, - /obj/item/device/assembly/prox_sensor, - /obj/item/device/assembly/signaler, - /obj/item/device/assembly/timer, - /obj/item/device/multitool) - - -/obj/random/toolbox - name = "random toolbox" - desc = "This is a random toolbox." - icon = 'icons/obj/storage.dmi' - icon_state = "red" - -/obj/random/toolbox/item_to_spawn() - return pick(prob(6);/obj/item/weapon/storage/toolbox/mechanical, - prob(6);/obj/item/weapon/storage/toolbox/electrical, - prob(2);/obj/item/weapon/storage/toolbox/emergency, - prob(1);/obj/item/weapon/storage/toolbox/syndicate) - - -/obj/random/tech_supply - name = "random tech supply" - desc = "This is a random piece of technology supplies." - icon = 'icons/obj/power.dmi' - icon_state = "cell" - spawn_nothing_percentage = 25 - -/obj/random/tech_supply/item_to_spawn() - return pick(prob(3);/obj/random/powercell, - prob(2);/obj/random/technology_scanner, - prob(1);/obj/item/weapon/packageWrap, - prob(2);/obj/random/bomb_supply, - prob(1);/obj/item/weapon/extinguisher, - prob(1);/obj/item/clothing/gloves/fyellow, - prob(3);/obj/item/stack/cable_coil/random, - prob(2);/obj/random/toolbox, - prob(2);/obj/item/weapon/storage/belt/utility, - prob(1);/obj/item/weapon/storage/belt/utility/full, - prob(5);/obj/random/tool, - prob(2);/obj/item/weapon/tape_roll, - prob(2);/obj/item/taperoll/engineering, - prob(1);/obj/item/taperoll/atmos, - prob(1);/obj/item/device/flashlight/maglight) - -/obj/random/medical - name = "Random Medicine" - desc = "This is a random medical item." - icon = 'icons/obj/items.dmi' - icon_state = "traumakit" - -/obj/random/medical/item_to_spawn() - return pick(prob(21);/obj/random/medical/lite, - prob(5);/obj/random/medical/pillbottle, - prob(1);/obj/item/weapon/storage/pill_bottle/tramadol, - prob(1);/obj/item/weapon/storage/pill_bottle/antitox, - prob(1);/obj/item/weapon/storage/pill_bottle/carbon, - prob(3);/obj/item/bodybag/cryobag, - prob(5);/obj/item/weapon/reagent_containers/syringe/antitoxin, - prob(3);/obj/item/weapon/reagent_containers/syringe/antiviral, - prob(5);/obj/item/weapon/reagent_containers/syringe/inaprovaline, - prob(1);/obj/item/weapon/reagent_containers/hypospray, - prob(1);/obj/item/weapon/storage/box/freezer, - prob(2);/obj/item/stack/nanopaste) - -/obj/random/medical/pillbottle - name = "Random Pill Bottle" - desc = "This is a random pill bottle." - icon = 'icons/obj/chemical.dmi' - icon_state = "pill_canister" - -/obj/random/medical/pillbottle/item_to_spawn() - return pick(prob(1);/obj/item/weapon/storage/pill_bottle/spaceacillin, - prob(1);/obj/item/weapon/storage/pill_bottle/dermaline, - prob(1);/obj/item/weapon/storage/pill_bottle/dexalin_plus, - prob(1);/obj/item/weapon/storage/pill_bottle/bicaridine, - prob(1);/obj/item/weapon/storage/pill_bottle/iron) - -/obj/random/medical/lite - name = "Random Medicine" - desc = "This is a random simple medical item." - icon = 'icons/obj/items.dmi' - icon_state = "brutepack" - spawn_nothing_percentage = 25 - -/obj/random/medical/lite/item_to_spawn() - return pick(prob(4);/obj/item/stack/medical/bruise_pack, - prob(4);/obj/item/stack/medical/ointment, - prob(2);/obj/item/stack/medical/advanced/bruise_pack, - prob(2);/obj/item/stack/medical/advanced/ointment, - prob(1);/obj/item/stack/medical/splint, - prob(4);/obj/item/device/healthanalyzer, - prob(1);/obj/item/bodybag, - prob(3);/obj/item/weapon/reagent_containers/hypospray/autoinjector, - prob(2);/obj/item/weapon/storage/pill_bottle/kelotane, - prob(2);/obj/item/weapon/storage/pill_bottle/antitox) - -/obj/random/firstaid - name = "Random First Aid Kit" - desc = "This is a random first aid kit." - icon = 'icons/obj/storage.dmi' - icon_state = "firstaid" - -/obj/random/firstaid/item_to_spawn() - return pick(prob(4);/obj/item/weapon/storage/firstaid/regular, - prob(3);/obj/item/weapon/storage/firstaid/toxin, - prob(3);/obj/item/weapon/storage/firstaid/o2, - prob(2);/obj/item/weapon/storage/firstaid/adv, - prob(3);/obj/item/weapon/storage/firstaid/fire, - prob(1);/obj/item/weapon/storage/firstaid/combat) - -/obj/random/contraband - name = "Random Illegal Item" - desc = "Hot Stuff." - icon = 'icons/obj/items.dmi' - icon_state = "purplecomb" - spawn_nothing_percentage = 50 -/obj/random/contraband/item_to_spawn() - return pick(prob(6);/obj/item/weapon/storage/pill_bottle/tramadol, - prob(8);/obj/item/weapon/haircomb, - prob(4);/obj/item/weapon/storage/pill_bottle/happy, - prob(4);/obj/item/weapon/storage/pill_bottle/zoom, - prob(10);/obj/item/weapon/contraband/poster, - prob(4);/obj/item/weapon/material/butterfly, - prob(6);/obj/item/weapon/material/butterflyblade, - prob(6);/obj/item/weapon/material/butterflyhandle, - prob(6);/obj/item/weapon/material/wirerod, - prob(2);/obj/item/weapon/material/butterfly/switchblade, - prob(2);/obj/item/weapon/material/knuckledusters, - prob(1);/obj/item/weapon/material/knife/tacknife, - prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc, - prob(1);/obj/item/weapon/beartrap, - prob(1);/obj/item/weapon/handcuffs, - prob(1);/obj/item/weapon/handcuffs/legcuffs, - prob(2);/obj/item/weapon/reagent_containers/syringe/drugs, - prob(1);/obj/item/weapon/reagent_containers/syringe/steroid) - -/obj/random/soap - name = "Random Soap" - desc = "This is a random bar of soap." - icon = 'icons/obj/items.dmi' - icon_state = "soap" - -/obj/random/soap/item_to_spawn() - return pick(prob(3);/obj/item/weapon/soap, - prob(2);/obj/item/weapon/soap/nanotrasen, - prob(2);/obj/item/weapon/soap/deluxe, - prob(1);/obj/item/weapon/soap/syndie,) - - -/obj/random/drinkbottle - name = "random drink" - desc = "This is a random drink." - icon = 'icons/obj/drinks.dmi' - icon_state = "whiskeybottle" - -/obj/random/drinkbottle/item_to_spawn() - return pick(/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, - /obj/item/weapon/reagent_containers/food/drinks/bottle/gin, - /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, - /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla, - /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe, - /obj/item/weapon/reagent_containers/food/drinks/bottle/wine, - /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac, - /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, - /obj/item/weapon/reagent_containers/food/drinks/bottle/patron) - -/obj/random/energy - name = "Random Energy Weapon" - desc = "This is a random security weapon." - icon = 'icons/obj/gun.dmi' - icon_state = "energykill100" - -/obj/random/energy/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/energy/laser, - prob(4);/obj/item/weapon/gun/energy/gun, - prob(3);/obj/item/weapon/gun/energy/gun/burst, - prob(1);/obj/item/weapon/gun/energy/gun/nuclear, - prob(2);/obj/item/weapon/gun/energy/retro, - prob(2);/obj/item/weapon/gun/energy/lasercannon, - prob(3);/obj/item/weapon/gun/energy/xray, - prob(1);/obj/item/weapon/gun/energy/sniperrifle, - prob(1);/obj/item/weapon/gun/energy/plasmastun, - prob(2);/obj/item/weapon/gun/energy/ionrifle, - prob(2);/obj/item/weapon/gun/energy/ionrifle/pistol, - prob(3);/obj/item/weapon/gun/energy/toxgun, - prob(4);/obj/item/weapon/gun/energy/taser, - prob(2);/obj/item/weapon/gun/energy/crossbow/largecrossbow, - prob(4);/obj/item/weapon/gun/energy/stunrevolver) - -/obj/random/energy/sec - name = "Random Security Energy Weapon" - desc = "This is a random security weapon." - icon = 'icons/obj/gun.dmi' - icon_state = "energykill100" - -/obj/random/energy/sec/item_to_spawn() - return pick(prob(2);/obj/item/weapon/gun/energy/laser, - prob(2);/obj/item/weapon/gun/energy/gun) - -/obj/random/projectile - name = "Random Projectile Weapon" - desc = "This is a random projectile weapon." - icon = 'icons/obj/gun.dmi' - icon_state = "revolver" - -/obj/random/projectile/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/projectile/automatic/wt550, - prob(3);/obj/item/weapon/gun/projectile/automatic/mini_uzi, - prob(3);/obj/item/weapon/gun/projectile/automatic/tommygun, - prob(2);/obj/item/weapon/gun/projectile/automatic/c20r, - prob(2);/obj/item/weapon/gun/projectile/automatic/sts35, - prob(2);/obj/item/weapon/gun/projectile/automatic/z8, - prob(4);/obj/item/weapon/gun/projectile/colt, - prob(2);/obj/item/weapon/gun/projectile/deagle, - prob(1);/obj/item/weapon/gun/projectile/deagle/camo, - prob(1);/obj/item/weapon/gun/projectile/deagle/gold, - prob(3);/obj/item/weapon/gun/projectile/derringer, - prob(1);/obj/item/weapon/gun/projectile/heavysniper, - prob(4);/obj/item/weapon/gun/projectile/luger, - prob(3);/obj/item/weapon/gun/projectile/luger/brown, - prob(4);/obj/item/weapon/gun/projectile/sec, - prob(3);/obj/item/weapon/gun/projectile/sec/wood, - prob(4);/obj/item/weapon/gun/projectile/p92x, - prob(3);/obj/item/weapon/gun/projectile/p92x/brown, - prob(4);/obj/item/weapon/gun/projectile/pistol, - prob(5);/obj/item/weapon/gun/projectile/pirate, - prob(2);/obj/item/weapon/gun/projectile/revolver, - prob(4);/obj/item/weapon/gun/projectile/revolver/deckard, - prob(4);/obj/item/weapon/gun/projectile/revolver/detective, - prob(2);/obj/item/weapon/gun/projectile/revolver/judge, - prob(3);/obj/item/weapon/gun/projectile/revolver/lemat, - prob(2);/obj/item/weapon/gun/projectile/revolver/mateba, - prob(4);/obj/item/weapon/gun/projectile/shotgun/doublebarrel, - prob(3);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn, - prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, - prob(2);/obj/item/weapon/gun/projectile/shotgun/pump/combat, - prob(4);/obj/item/weapon/gun/projectile/shotgun/pump/rifle, - prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever, - prob(2);/obj/item/weapon/gun/projectile/silenced) - -/obj/random/projectile/sec - name = "Random Security Projectile Weapon" - desc = "This is a random security weapon." - icon = 'icons/obj/gun.dmi' - icon_state = "revolver" - -/obj/random/projectile/sec/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump, - prob(2);/obj/item/weapon/gun/projectile/automatic/wt550, - prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat) - -/obj/random/handgun - name = "Random Handgun" - desc = "This is a random sidearm." - icon = 'icons/obj/gun.dmi' - icon_state = "secgundark" - -/obj/random/handgun/item_to_spawn() - return pick(prob(4);/obj/item/weapon/gun/projectile/sec, - prob(4);/obj/item/weapon/gun/projectile/p92x, - prob(3);/obj/item/weapon/gun/projectile/sec/wood, - prob(3);/obj/item/weapon/gun/projectile/p92x/brown, - prob(3);/obj/item/weapon/gun/projectile/colt, - prob(2);/obj/item/weapon/gun/projectile/luger, - prob(2);/obj/item/weapon/gun/energy/gun, - prob(2);/obj/item/weapon/gun/projectile/pistol, - prob(1);/obj/item/weapon/gun/energy/retro, - prob(1);/obj/item/weapon/gun/projectile/luger/brown) - -/obj/random/handgun/sec - name = "Random Security Handgun" - desc = "This is a random security sidearm." - icon = 'icons/obj/gun.dmi' - icon_state = "secgundark" - -/obj/random/handgun/sec/item_to_spawn() - return pick(prob(3);/obj/item/weapon/gun/projectile/sec, - prob(1);/obj/item/weapon/gun/projectile/sec/wood) - -/obj/random/ammo - name = "Random Ammunition" - desc = "This is random security ammunition." - icon = 'icons/obj/ammo.dmi' - icon_state = "45-10" - -/obj/random/ammo/item_to_spawn() - return pick(prob(6);/obj/item/weapon/storage/box/beanbags, - prob(2);/obj/item/weapon/storage/box/shotgunammo, - prob(4);/obj/item/weapon/storage/box/shotgunshells, - prob(1);/obj/item/weapon/storage/box/stunshells, - prob(2);/obj/item/ammo_magazine/m45, - prob(4);/obj/item/ammo_magazine/m45/rubber, - prob(4);/obj/item/ammo_magazine/m45/flash, - prob(2);/obj/item/ammo_magazine/m9mmt, - prob(6);/obj/item/ammo_magazine/m9mmt/rubber) - - -/obj/random/action_figure - name = "random action figure" - desc = "This is a random action figure." - icon = 'icons/obj/toy.dmi' - icon_state = "assistant" - -/obj/random/action_figure/item_to_spawn() - return pick(/obj/item/toy/figure/cmo, - /obj/item/toy/figure/assistant, - /obj/item/toy/figure/atmos, - /obj/item/toy/figure/bartender, - /obj/item/toy/figure/borg, - /obj/item/toy/figure/gardener, - /obj/item/toy/figure/captain, - /obj/item/toy/figure/cargotech, - /obj/item/toy/figure/ce, - /obj/item/toy/figure/chaplain, - /obj/item/toy/figure/chef, - /obj/item/toy/figure/chemist, - /obj/item/toy/figure/clown, - /obj/item/toy/figure/corgi, - /obj/item/toy/figure/detective, - /obj/item/toy/figure/dsquad, - /obj/item/toy/figure/engineer, - /obj/item/toy/figure/geneticist, - /obj/item/toy/figure/hop, - /obj/item/toy/figure/hos, - /obj/item/toy/figure/qm, - /obj/item/toy/figure/janitor, - /obj/item/toy/figure/agent, - /obj/item/toy/figure/librarian, - /obj/item/toy/figure/md, - /obj/item/toy/figure/mime, - /obj/item/toy/figure/miner, - /obj/item/toy/figure/ninja, - /obj/item/toy/figure/wizard, - /obj/item/toy/figure/rd, - /obj/item/toy/figure/roboticist, - /obj/item/toy/figure/scientist, - /obj/item/toy/figure/syndie, - /obj/item/toy/figure/secofficer, - /obj/item/toy/figure/warden, - /obj/item/toy/figure/psychologist, - /obj/item/toy/figure/paramedic, - /obj/item/toy/figure/ert) - -/obj/random/plushie - name = "random plushie" - desc = "This is a random plushie." - icon = 'icons/obj/toy.dmi' - icon_state = "nymphplushie" - -/obj/random/plushie/item_to_spawn() - return pick(/obj/structure/plushie/ian, - /obj/structure/plushie/drone, - /obj/structure/plushie/carp, - /obj/structure/plushie/beepsky, - /obj/item/toy/plushie/nymph, - /obj/item/toy/plushie/mouse, - /obj/item/toy/plushie/kitten, - /obj/item/toy/plushie/lizard) - -/obj/random/junk //Broken items, or stuff that could be picked up - name = "random junk" - desc = "This is some random junk." - icon = 'icons/obj/trash.dmi' - icon_state = "trashbag3" - -/obj/random/junk/item_to_spawn() - return get_random_junk_type() - -/obj/random/trash //Mostly remains and cleanable decals. Stuff a janitor could clean up - name = "random trash" - desc = "This is some random trash." - icon = 'icons/effects/effects.dmi' - icon_state = "greenglow" - -/obj/random/trash/item_to_spawn() - return pick(/obj/effect/decal/remains/lizard, - /obj/effect/decal/cleanable/blood/gibs/robot, - /obj/effect/decal/cleanable/blood/oil, - /obj/effect/decal/cleanable/blood/oil/streak, - /obj/effect/decal/cleanable/spiderling_remains, - /obj/effect/decal/remains/mouse, - /obj/effect/decal/cleanable/vomit, - /obj/effect/decal/cleanable/blood/splatter, - /obj/effect/decal/cleanable/ash, - /obj/effect/decal/cleanable/generic, - /obj/effect/decal/cleanable/flour, - /obj/effect/decal/cleanable/dirt, - /obj/effect/decal/remains/robot) - -/obj/random/obstruction //Large objects to block things off in maintenance - name = "random obstruction" - desc = "This is a random obstruction." - icon = 'icons/obj/cult.dmi' - icon_state = "cultgirder" - -/obj/random/obstruction/item_to_spawn() - return pick(/obj/structure/barricade, - /obj/structure/girder, - /obj/structure/girder/displaced, - /obj/structure/girder/reinforced, - /obj/structure/grille, - /obj/structure/grille/broken, - /obj/structure/foamedmetal, - /obj/structure/inflatable, - /obj/structure/inflatable/door) - -/obj/random/material //Random materials for building stuff - name = "random material" - desc = "This is a random material." - icon = 'icons/obj/items.dmi' - icon_state = "sheet-metal" - -/obj/random/material/item_to_spawn() - return pick(/obj/item/stack/material/steel{amount = 10}, - /obj/item/stack/material/glass{amount = 10}, - /obj/item/stack/material/glass/reinforced{amount = 10}, - /obj/item/stack/material/plastic{amount = 10}, - /obj/item/stack/material/wood{amount = 10}, - /obj/item/stack/material/cardboard{amount = 10}, - /obj/item/stack/rods{amount = 10}, - /obj/item/stack/material/plasteel{amount = 10}) - -/obj/random/toy - name = "random toy" - desc = "This is a random toy." - icon = 'icons/obj/toy.dmi' - icon_state = "ship" - -/obj/random/toy/item_to_spawn() - return pick(/obj/item/toy/bosunwhistle, - /obj/item/toy/plushie/therapy/red, - /obj/item/toy/plushie/therapy/purple, - /obj/item/toy/plushie/therapy/blue, - /obj/item/toy/plushie/therapy/yellow, - /obj/item/toy/plushie/therapy/orange, - /obj/item/toy/plushie/therapy/green, - /obj/item/toy/cultsword, - /obj/item/toy/katana, - /obj/item/toy/snappop, - /obj/item/toy/sword, - /obj/item/toy/balloon, - /obj/item/toy/crossbow, - /obj/item/toy/blink, - /obj/item/toy/waterflower, - /obj/item/toy/prize/ripley, - /obj/item/toy/prize/fireripley, - /obj/item/toy/prize/deathripley, - /obj/item/toy/prize/gygax, - /obj/item/toy/prize/durand, - /obj/item/toy/prize/honk, - /obj/item/toy/prize/marauder, - /obj/item/toy/prize/seraph, - /obj/item/toy/prize/mauler, - /obj/item/toy/prize/odysseus, - /obj/item/toy/prize/phazon) - -/obj/random/tank - name = "random tank" - desc = "This is a tank." - icon = 'icons/obj/tank.dmi' - icon_state = "canister" - -/obj/random/tank/item_to_spawn() - return pick(prob(5);/obj/item/weapon/tank/oxygen, - prob(4);/obj/item/weapon/tank/oxygen/yellow, - prob(4);/obj/item/weapon/tank/oxygen/red, - prob(3);/obj/item/weapon/tank/air, - prob(4);/obj/item/weapon/tank/emergency/oxygen, - prob(3);/obj/item/weapon/tank/emergency/oxygen/engi, - prob(2);/obj/item/weapon/tank/emergency/oxygen/double, - prob(1);/obj/item/device/suit_cooling_unit) - -/obj/random/cigarettes - name = "random cigarettes" - desc = "This is a cigarette." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "cigpacket" - -/obj/random/cigarettes/item_to_spawn() - return pick(prob(5);/obj/item/weapon/storage/fancy/cigarettes, - prob(4);/obj/item/weapon/storage/fancy/cigarettes/dromedaryco, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/killthroat, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/luckystars, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/jerichos, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/menthols, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/carcinomas, - prob(3);/obj/item/weapon/storage/fancy/cigarettes/professionals, - prob(1);/obj/item/weapon/storage/fancy/cigar, - prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar, - prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba, - prob(1);/obj/item/clothing/mask/smokable/cigarette/cigar/havana) - -/obj/random/maintenance //Clutter and loot for maintenance and away missions - name = "random maintenance item" - desc = "This is a random maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/item_to_spawn() - return pick(prob(300);/obj/random/tech_supply, - prob(200);/obj/random/medical, - prob(100);/obj/random/firstaid, - prob(10);/obj/random/contraband, - prob(50);/obj/random/action_figure, - prob(50);/obj/random/plushie, - prob(200);/obj/random/junk, - prob(200);/obj/random/material, - prob(50);/obj/random/toy, - prob(100);/obj/random/tank, - prob(50);/obj/random/soap, - prob(60);/obj/random/drinkbottle, - prob(500);/obj/random/maintenance/clean) - -/obj/random/maintenance/clean -/*Maintenance loot lists without the trash, for use inside things. -Individual items to add to the maintenance list should go here, if you add -something, make sure it's not in one of the other lists.*/ - name = "random clean maintenance item" - desc = "This is a random clean maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/clean/item_to_spawn() - return pick(prob(10);/obj/random/contraband, - prob(2);/obj/item/device/flashlight/flare, - prob(2);/obj/item/device/flashlight/glowstick, - prob(2);/obj/item/device/flashlight/glowstick/blue, - prob(1);/obj/item/device/flashlight/glowstick/orange, - prob(1);/obj/item/device/flashlight/glowstick/red, - prob(1);/obj/item/device/flashlight/glowstick/yellow, - prob(1);/obj/item/device/flashlight/pen, - prob(4);/obj/item/weapon/cell, - prob(4);/obj/item/weapon/cell/device, - prob(3);/obj/item/weapon/cell/high, - prob(2);/obj/item/weapon/cell/super, - prob(5);/obj/random/cigarettes, - prob(3);/obj/item/clothing/mask/gas, - prob(2);/obj/item/clothing/mask/gas/half, - prob(4);/obj/item/clothing/mask/breath, - prob(2);/obj/item/weapon/reagent_containers/glass/rag, - prob(4);/obj/item/weapon/reagent_containers/food/snacks/liquidfood, - prob(2);/obj/item/weapon/storage/secure/briefcase, - prob(4);/obj/item/weapon/storage/briefcase, - prob(5);/obj/item/weapon/storage/backpack, - prob(5);/obj/item/weapon/storage/backpack/satchel/norm, - prob(4);/obj/item/weapon/storage/backpack/satchel, - prob(3);/obj/item/weapon/storage/backpack/dufflebag, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie, - prob(5);/obj/item/weapon/storage/box, - prob(3);/obj/item/weapon/storage/box/donkpockets, - prob(2);/obj/item/weapon/storage/box/sinpockets, - prob(1);/obj/item/weapon/storage/box/cups, - prob(3);/obj/item/weapon/storage/box/mousetraps, - prob(3);/obj/item/weapon/storage/box/engineer, - prob(3);/obj/item/weapon/storage/wallet, - prob(1);/obj/item/device/paicard, - prob(2);/obj/item/clothing/shoes/galoshes, - prob(1);/obj/item/clothing/shoes/syndigaloshes, - prob(4);/obj/item/clothing/shoes/black, - prob(4);/obj/item/clothing/shoes/laceup, - prob(4);/obj/item/clothing/shoes/black, - prob(4);/obj/item/clothing/shoes/leather, - prob(1);/obj/item/clothing/gloves/yellow, - prob(3);/obj/item/clothing/gloves/botanic_leather, - prob(2);/obj/item/clothing/gloves/sterile/latex, - prob(5);/obj/item/clothing/gloves/white, - prob(5);/obj/item/clothing/gloves/rainbow, - prob(2);/obj/item/clothing/gloves/fyellow, - prob(1);/obj/item/clothing/glasses/sunglasses, - prob(3);/obj/item/clothing/glasses/meson, - prob(2);/obj/item/clothing/glasses/meson/prescription, - prob(1);/obj/item/clothing/glasses/welding, - prob(1);/obj/item/clothing/head/bio_hood/general, - prob(4);/obj/item/clothing/head/hardhat, - prob(3);/obj/item/clothing/head/hardhat/red, - prob(1);/obj/item/clothing/head/ushanka, - prob(2);/obj/item/clothing/head/welding, - prob(4);/obj/item/clothing/suit/storage/hazardvest, - prob(1);/obj/item/clothing/suit/space/emergency, - prob(3);/obj/item/clothing/suit/storage/toggle/bomber, - prob(1);/obj/item/clothing/suit/bio_suit/general, - prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/black, - prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/blue, - prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/red, - prob(3);/obj/item/clothing/suit/storage/toggle/hoodie/yellow, - prob(3);/obj/item/clothing/suit/storage/toggle/brown_jacket, - prob(3);/obj/item/clothing/suit/storage/toggle/leather_jacket, - prob(1);/obj/item/clothing/suit/storage/vest/press, - prob(3);/obj/item/clothing/suit/storage/apron, - prob(4);/obj/item/clothing/under/color/grey, - prob(2);/obj/item/clothing/under/syndicate/tacticool, - prob(2);/obj/item/clothing/under/pants/camo, - prob(1);/obj/item/clothing/under/harness, - prob(1);/obj/item/clothing/under/tactical, - prob(3);/obj/item/clothing/accessory/storage/webbing, - prob(4);/obj/item/weapon/spacecash/c1, - prob(3);/obj/item/weapon/spacecash/c10, - prob(3);/obj/item/weapon/spacecash/c20, - prob(1);/obj/item/weapon/spacecash/c50, - prob(1);/obj/item/weapon/spacecash/c100, - prob(3);/obj/item/weapon/camera_assembly, - prob(4);/obj/item/weapon/caution, - prob(3);/obj/item/weapon/caution/cone, - prob(1);/obj/item/weapon/card/emag_broken, - prob(2);/obj/item/device/camera, - prob(3);/obj/item/device/pda, - prob(3);/obj/item/device/radio/headset) - -/obj/random/maintenance/security -/*Maintenance loot list. This one is for around security areas*/ - name = "random security maintenance item" - desc = "This is a random security maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/security/item_to_spawn() - return pick(prob(320);/obj/random/maintenance/clean, - prob(2);/obj/item/device/flashlight/maglight, - prob(2);/obj/item/device/flash, - prob(1);/obj/item/weapon/cell/device/weapon, - prob(1);/obj/item/clothing/mask/gas/swat, - prob(1);/obj/item/clothing/mask/gas/syndicate, - prob(2);/obj/item/clothing/mask/balaclava, - prob(1);/obj/item/clothing/mask/balaclava/tactical, - prob(3);/obj/item/weapon/storage/backpack/security, - prob(3);/obj/item/weapon/storage/backpack/satchel/sec, - prob(2);/obj/item/weapon/storage/backpack/messenger/sec, - prob(2);/obj/item/weapon/storage/backpack/dufflebag/sec, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, - prob(2);/obj/item/weapon/storage/box/swabs, - prob(2);/obj/item/weapon/storage/belt/security, - prob(1);/obj/item/weapon/grenade/flashbang, - prob(1);/obj/item/weapon/melee/baton, - prob(1);/obj/item/weapon/reagent_containers/spray/pepper, - prob(3);/obj/item/clothing/shoes/boots/jackboots, - prob(1);/obj/item/clothing/shoes/boots/swat, - prob(1);/obj/item/clothing/shoes/boots/combat, - prob(1);/obj/item/clothing/gloves/swat, - prob(1);/obj/item/clothing/gloves/combat, - prob(1);/obj/item/clothing/glasses/sunglasses/big, - prob(2);/obj/item/clothing/glasses/hud/security, - prob(1);/obj/item/clothing/glasses/sunglasses/sechud, - prob(1);/obj/item/clothing/glasses/sunglasses/sechud/aviator, - prob(1);/obj/item/clothing/glasses/sunglasses/sechud/tactical, - prob(3);/obj/item/clothing/head/beret/sec, - prob(3);/obj/item/clothing/head/beret/sec/corporate/officer, - prob(3);/obj/item/clothing/head/beret/sec/navy/officer, - prob(2);/obj/item/clothing/head/helmet, - prob(4);/obj/item/clothing/head/soft/sec, - prob(4);/obj/item/clothing/head/soft/sec/corp, - prob(3);/obj/item/clothing/suit/armor/vest, - prob(2);/obj/item/clothing/suit/armor/vest/security, - prob(2);/obj/item/clothing/suit/storage/vest/officer, - prob(1);/obj/item/clothing/suit/storage/vest/detective, - prob(1);/obj/item/clothing/suit/storage/vest/press, - prob(2);/obj/item/clothing/accessory/storage/black_vest, - prob(2);/obj/item/clothing/accessory/storage/black_drop_pouches, - prob(1);/obj/item/clothing/accessory/holster/leg, - prob(1);/obj/item/clothing/accessory/holster/hip, - prob(1);/obj/item/clothing/accessory/holster/waist, - prob(1);/obj/item/clothing/accessory/holster/armpit, - prob(2);/obj/item/clothing/ears/earmuffs, - prob(2);/obj/item/weapon/handcuffs,) - -/obj/random/maintenance/medical -/*Maintenance loot list. This one is for around medical areas*/ - name = "random medical maintenance item" - desc = "This is a random medical maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/medical/item_to_spawn() - return pick(prob(320);/obj/random/maintenance/clean, - prob(25);/obj/random/medical/lite, - prob(2);/obj/item/clothing/mask/breath/medical, - prob(2);/obj/item/clothing/mask/surgical, - prob(5);/obj/item/weapon/storage/backpack/medic, - prob(5);/obj/item/weapon/storage/backpack/satchel/med, - prob(5);/obj/item/weapon/storage/backpack/messenger/med, - prob(3);/obj/item/weapon/storage/backpack/dufflebag/med, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, - prob(2);/obj/item/weapon/storage/box/autoinjectors, - prob(3);/obj/item/weapon/storage/box/beakers, - prob(2);/obj/item/weapon/storage/box/bodybags, - prob(3);/obj/item/weapon/storage/box/syringes, - prob(3);/obj/item/weapon/storage/box/gloves, - prob(2);/obj/item/weapon/storage/belt/medical/emt, - prob(2);/obj/item/weapon/storage/belt/medical, - prob(1);/obj/item/clothing/shoes/boots/combat, - prob(3);/obj/item/clothing/shoes/white, - prob(2);/obj/item/clothing/gloves/sterile/nitrile, - prob(5);/obj/item/clothing/gloves/white, - prob(2);/obj/item/clothing/glasses/hud/health, - prob(1);/obj/item/clothing/glasses/hud/health/prescription, - prob(1);/obj/item/clothing/head/bio_hood/virology, - prob(4);/obj/item/clothing/suit/storage/toggle/labcoat, - prob(1);/obj/item/clothing/suit/bio_suit/general, - prob(2);/obj/item/clothing/under/rank/medical/paramedic, - prob(2);/obj/item/clothing/accessory/storage/black_vest, - prob(2);/obj/item/clothing/accessory/storage/white_vest, - prob(1);/obj/item/clothing/accessory/storage/white_drop_pouches, - prob(1);/obj/item/clothing/accessory/storage/black_drop_pouches, - prob(2);/obj/item/clothing/accessory/stethoscope) - -/obj/random/maintenance/engineering -/*Maintenance loot list. This one is for around medical areas*/ - name = "random engineering maintenance item" - desc = "This is a random engineering maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/engineering/item_to_spawn() - return pick(prob(320);/obj/random/maintenance/clean, - prob(2);/obj/item/device/flashlight/maglight, - prob(3);/obj/item/clothing/mask/gas/half, - prob(2);/obj/item/clothing/mask/balaclava, - prob(2);/obj/item/weapon/storage/briefcase/inflatable, - prob(5);/obj/item/weapon/storage/backpack/industrial, - prob(5);/obj/item/weapon/storage/backpack/satchel/eng, - prob(5);/obj/item/weapon/storage/backpack/messenger/engi, - prob(3);/obj/item/weapon/storage/backpack/dufflebag/eng, - prob(5);/obj/item/weapon/storage/box, - prob(3);/obj/item/weapon/storage/box/engineer, - prob(2);/obj/item/weapon/storage/belt/utility/full, - prob(3);/obj/item/weapon/storage/belt/utility, - prob(3);/obj/item/clothing/head/beret/engineering, - prob(3);/obj/item/clothing/head/soft/yellow, - prob(2);/obj/item/clothing/head/orangebandana, - prob(2);/obj/item/clothing/head/hardhat/dblue, - prob(2);/obj/item/clothing/head/hardhat/orange, - prob(1);/obj/item/clothing/glasses/welding, - prob(2);/obj/item/clothing/head/welding, - prob(4);/obj/item/clothing/suit/storage/hazardvest, - prob(2);/obj/item/clothing/under/overalls, - prob(3);/obj/item/clothing/shoes/boots/workboots, - prob(1);/obj/item/clothing/shoes/magboots, - prob(2);/obj/item/clothing/accessory/storage/black_vest, - prob(2);/obj/item/clothing/accessory/storage/brown_vest, - prob(1);/obj/item/clothing/accessory/storage/brown_drop_pouches, - prob(3);/obj/item/clothing/ears/earmuffs, - prob(1);/obj/item/weapon/beartrap, - prob(2);/obj/item/weapon/handcuffs) - -/obj/random/maintenance/research -/*Maintenance loot list. This one is for around medical areas*/ - name = "random research maintenance item" - desc = "This is a random research maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/research/item_to_spawn() - return pick(prob(320);/obj/random/maintenance/clean, - prob(3);/obj/item/device/analyzer/plant_analyzer, - prob(1);/obj/item/device/flash/synthetic, - prob(2);/obj/item/weapon/bucket_sensor, - prob(1);/obj/item/weapon/cell/device/weapon, - prob(5);/obj/item/weapon/storage/backpack/toxins, - prob(5);/obj/item/weapon/storage/backpack/satchel/tox, - prob(5);/obj/item/weapon/storage/backpack/messenger/tox, - prob(2);/obj/item/weapon/storage/excavation, - prob(1);/obj/item/weapon/storage/backpack/holding, - prob(3);/obj/item/weapon/storage/box/beakers, - prob(3);/obj/item/weapon/storage/box/syringes, - prob(3);/obj/item/weapon/storage/box/gloves, - prob(2);/obj/item/clothing/gloves/sterile/latex, - prob(4);/obj/item/clothing/glasses/science, - prob(3);/obj/item/clothing/glasses/material, - prob(1);/obj/item/clothing/head/beret/purple, - prob(1);/obj/item/clothing/head/bio_hood/scientist, - prob(4);/obj/item/clothing/suit/storage/toggle/labcoat, - prob(4);/obj/item/clothing/suit/storage/toggle/labcoat/science, - prob(1);/obj/item/clothing/suit/bio_suit/scientist, - prob(4);/obj/item/clothing/under/rank/scientist, - prob(2);/obj/item/clothing/under/rank/scientist_new) - -/obj/random/maintenance/cargo -/*Maintenance loot list. This one is for around cargo areas*/ - name = "random cargo maintenance item" - desc = "This is a random cargo maintenance item." - icon = 'icons/obj/items.dmi' - icon_state = "gift1" - -/obj/random/maintenance/cargo/item_to_spawn() - return pick(prob(320);/obj/random/maintenance/clean, - prob(3);/obj/item/device/flashlight/lantern, - prob(4);/obj/item/weapon/pickaxe, - prob(5);/obj/item/weapon/storage/backpack/industrial, - prob(5);/obj/item/weapon/storage/backpack/satchel/norm, - prob(3);/obj/item/weapon/storage/backpack/dufflebag, - prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, - prob(1);/obj/item/weapon/storage/toolbox/syndicate, - prob(1);/obj/item/weapon/storage/belt/utility/full, - prob(2);/obj/item/weapon/storage/belt/utility, - prob(4);/obj/item/device/toner, - prob(1);/obj/item/device/destTagger, - prob(3);/obj/item/clothing/glasses/material, - prob(3);/obj/item/clothing/head/soft/yellow, - prob(4);/obj/item/clothing/suit/storage/hazardvest, - prob(3);/obj/item/clothing/suit/storage/apron/overalls, - prob(4);/obj/item/clothing/suit/storage/apron, - prob(2);/obj/item/clothing/under/syndicate/tacticool, - prob(1);/obj/item/clothing/under/syndicate/combat, - prob(2);/obj/item/clothing/accessory/storage/black_vest, - prob(2);/obj/item/clothing/accessory/storage/brown_vest, - prob(3);/obj/item/clothing/ears/earmuffs, - prob(1);/obj/item/weapon/beartrap, - prob(2);/obj/item/weapon/handcuffs,) - -/obj/random/rigsuit - name = "Random rigsuit" - desc = "This is a random rigsuit." - icon = 'icons/obj/rig_modules.dmi' - icon_state = "generic" - -/obj/random/rigsuit/item_to_spawn() - return pick(prob(4);/obj/item/weapon/rig/light/hacker, - prob(5);/obj/item/weapon/rig/industrial, - prob(5);/obj/item/weapon/rig/eva, - prob(4);/obj/item/weapon/rig/light/stealth, - prob(3);/obj/item/weapon/rig/hazard, - prob(1);/obj/item/weapon/rig/merc/empty) - -var/list/random_junk_ -var/list/random_useful_ -/proc/get_random_useful_type() - if(!random_useful_) - random_useful_ = subtypesof(/obj/item/weapon/pen/crayon) - random_useful_ += /obj/item/weapon/pen - random_useful_ += /obj/item/weapon/pen/blue - random_useful_ += /obj/item/weapon/pen/red - random_useful_ += /obj/item/weapon/pen/multi - random_useful_ += /obj/item/weapon/storage/box/matches - random_useful_ += /obj/item/stack/material/cardboard - return pick(random_useful_) - -/proc/get_random_junk_type() - if(prob(20)) // Misc. clutter - return /obj/effect/decal/cleanable/generic - if(prob(70)) // Misc. junk - if(!random_junk_) - random_junk_ = subtypesof(/obj/item/trash) - random_junk_ += typesof(/obj/item/weapon/cigbutt) - random_junk_ += /obj/effect/decal/cleanable/spiderling_remains - random_junk_ += /obj/effect/decal/remains/mouse - random_junk_ += /obj/effect/decal/remains/robot - random_junk_ += /obj/item/weapon/paper/crumpled - random_junk_ += /obj/item/inflatable/torn - random_junk_ += /obj/effect/decal/cleanable/molten_item - random_junk_ += /obj/item/weapon/material/shard - - random_junk_ -= /obj/item/trash/plate - random_junk_ -= /obj/item/trash/snack_bowl - random_junk_ -= /obj/item/trash/syndi_cakes - random_junk_ -= /obj/item/trash/tray - return pick(random_junk_) - // Misc. actually useful stuff - return get_random_useful_type() - -/* - Selects one spawn point out of a group of points with the same ID and asks it to generate its items -*/ -var/list/multi_point_spawns - -/obj/random_multi - name = "random object spawn point" - desc = "This item type is used to spawn random objects at round-start. Only one spawn point for a given group id is selected." - icon = 'icons/misc/mark.dmi' - icon_state = "x3" - invisibility = INVISIBILITY_MAXIMUM - var/id // Group id - var/weight // Probability weight for this spawn point - -/obj/random_multi/initialize() - ..() - weight = max(1, round(weight)) - - if(!multi_point_spawns) - multi_point_spawns = list() - var/list/spawnpoints = multi_point_spawns[id] - if(!spawnpoints) - spawnpoints = list() - multi_point_spawns[id] = spawnpoints - spawnpoints[src] = weight - -/obj/random_multi/Destroy() - var/list/spawnpoints = multi_point_spawns[id] - spawnpoints -= src - if(!spawnpoints.len) - multi_point_spawns -= id - . = ..() - -/obj/random_multi/proc/generate_items() - return - -/obj/random_multi/single_item - var/item_path // Item type to spawn - -/obj/random_multi/single_item/generate_items() - new item_path(loc) - -/hook/roundstart/proc/generate_multi_spawn_items() - for(var/id in multi_point_spawns) - var/list/spawn_points = multi_point_spawns[id] - var/obj/random_multi/rm = pickweight(spawn_points) - rm.generate_items() - for(var/entry in spawn_points) - qdel(entry) - return 1 - -/obj/random_multi/single_item/captains_spare_id - name = "Multi Point - Captain's Spare" - id = "Captain's spare id" - item_path = /obj/item/weapon/card/id/gold/captain/spare - -//Multiple Object Spawn - -/obj/random/multiple - -/obj/random/multiple/spawn_item() - var/list/things_to_make = item_to_spawn() - for(var/new_type in things_to_make) - new new_type(src.loc) - -/obj/random/multiple/voidsuit - name = "Random Voidsuit" - desc = "This is a random voidsuit." - icon = 'icons/obj/clothing/suits.dmi' - icon_state = "void" - -/obj/random/multiple/voidsuit/item_to_spawn() - return pick( - prob(5);list( - /obj/item/clothing/suit/space/void, - /obj/item/clothing/head/helmet/space/void - ), - prob(5);list( - /obj/item/clothing/suit/space/void/atmos, - /obj/item/clothing/head/helmet/space/void/atmos - ), - prob(5);list( - /obj/item/clothing/suit/space/void/atmos/alt, - /obj/item/clothing/head/helmet/space/void/atmos/alt - ), - prob(5);list( - /obj/item/clothing/suit/space/void/engineering, - /obj/item/clothing/head/helmet/space/void/engineering - ), - prob(5);list( - /obj/item/clothing/suit/space/void/engineering/alt, - /obj/item/clothing/head/helmet/space/void/engineering/alt - ), - prob(5);list( - /obj/item/clothing/suit/space/void/engineering/construction, - /obj/item/clothing/head/helmet/space/void/engineering/construction - ), - prob(5);list( - /obj/item/clothing/suit/space/void/engineering/salvage, - /obj/item/clothing/head/helmet/space/void/engineering/salvage - ), - prob(5);list( - /obj/item/clothing/suit/space/void/medical, - /obj/item/clothing/head/helmet/space/void/medical - ), - prob(5);list( - /obj/item/clothing/suit/space/void/medical/alt, - /obj/item/clothing/head/helmet/space/void/medical/alt - ), - prob(5);list( - /obj/item/clothing/suit/space/void/medical/bio, - /obj/item/clothing/head/helmet/space/void/medical/bio - ), - prob(5);list( - /obj/item/clothing/suit/space/void/medical/emt, - /obj/item/clothing/head/helmet/space/void/medical/emt - ), - prob(5);list( - /obj/item/clothing/suit/space/void/merc, - /obj/item/clothing/head/helmet/space/void/merc - ), - prob(5);list( - /obj/item/clothing/suit/space/void/mining, - /obj/item/clothing/head/helmet/space/void/mining - ), - prob(5);list( - /obj/item/clothing/suit/space/void/mining/alt, - /obj/item/clothing/head/helmet/space/void/mining/alt - ), - prob(5);list( - /obj/item/clothing/suit/space/void/security, - /obj/item/clothing/head/helmet/space/void/security - ), - prob(5);list( - /obj/item/clothing/suit/space/void/security/alt, - /obj/item/clothing/head/helmet/space/void/security/alt - ), - prob(5);list( - /obj/item/clothing/suit/space/void/security/riot, - /obj/item/clothing/head/helmet/space/void/security/riot - ) - ) - -/obj/random/multiple/voidsuit/mining - name = "Random Mining Voidsuit" - desc = "This is a random mining voidsuit." - icon = 'icons/obj/clothing/suits.dmi' - icon_state = "rig-mining" - -/obj/random/multiple/voidsuit/mining/item_to_spawn() - return pick( - prob(5);list( - /obj/item/clothing/suit/space/void/mining, - /obj/item/clothing/head/helmet/space/void/mining - ), - prob(1);list( - /obj/item/clothing/suit/space/void/mining/alt, - /obj/item/clothing/head/helmet/space/void/mining/alt - ) - ) \ No newline at end of file diff --git a/code/game/objects/random/spacesuits.dm b/code/game/objects/random/spacesuits.dm new file mode 100644 index 00000000000..cb4ec6d4e9c --- /dev/null +++ b/code/game/objects/random/spacesuits.dm @@ -0,0 +1,113 @@ + +// Spaceproof clothing sets go in here + +/obj/random/multiple/voidsuit + name = "Random Voidsuit" + desc = "This is a random voidsuit." + icon = 'icons/obj/clothing/suits.dmi' + icon_state = "void" + +/obj/random/multiple/voidsuit/item_to_spawn() + return pick( + prob(5);list( + /obj/item/clothing/suit/space/void, + /obj/item/clothing/head/helmet/space/void + ), + prob(5);list( + /obj/item/clothing/suit/space/void/atmos, + /obj/item/clothing/head/helmet/space/void/atmos + ), + prob(5);list( + /obj/item/clothing/suit/space/void/atmos/alt, + /obj/item/clothing/head/helmet/space/void/atmos/alt + ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering, + /obj/item/clothing/head/helmet/space/void/engineering + ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering/alt, + /obj/item/clothing/head/helmet/space/void/engineering/alt + ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering/construction, + /obj/item/clothing/head/helmet/space/void/engineering/construction + ), + prob(5);list( + /obj/item/clothing/suit/space/void/engineering/salvage, + /obj/item/clothing/head/helmet/space/void/engineering/salvage + ), + prob(5);list( + /obj/item/clothing/suit/space/void/medical, + /obj/item/clothing/head/helmet/space/void/medical + ), + prob(5);list( + /obj/item/clothing/suit/space/void/medical/alt, + /obj/item/clothing/head/helmet/space/void/medical/alt + ), + prob(5);list( + /obj/item/clothing/suit/space/void/medical/bio, + /obj/item/clothing/head/helmet/space/void/medical/bio + ), + prob(5);list( + /obj/item/clothing/suit/space/void/medical/emt, + /obj/item/clothing/head/helmet/space/void/medical/emt + ), + prob(5);list( + /obj/item/clothing/suit/space/void/merc, + /obj/item/clothing/head/helmet/space/void/merc + ), + prob(5);list( + /obj/item/clothing/suit/space/void/mining, + /obj/item/clothing/head/helmet/space/void/mining + ), + prob(5);list( + /obj/item/clothing/suit/space/void/mining/alt, + /obj/item/clothing/head/helmet/space/void/mining/alt + ), + prob(5);list( + /obj/item/clothing/suit/space/void/security, + /obj/item/clothing/head/helmet/space/void/security + ), + prob(5);list( + /obj/item/clothing/suit/space/void/security/alt, + /obj/item/clothing/head/helmet/space/void/security/alt + ), + prob(5);list( + /obj/item/clothing/suit/space/void/security/riot, + /obj/item/clothing/head/helmet/space/void/security/riot + ) + ) + +/obj/random/multiple/voidsuit/mining + name = "Random Mining Voidsuit" + desc = "This is a random mining voidsuit." + icon = 'icons/obj/clothing/suits.dmi' + icon_state = "rig-mining" + +/obj/random/multiple/voidsuit/mining/item_to_spawn() + return pick( + prob(5);list( + /obj/item/clothing/suit/space/void/mining, + /obj/item/clothing/head/helmet/space/void/mining + ), + prob(1);list( + /obj/item/clothing/suit/space/void/mining/alt, + /obj/item/clothing/head/helmet/space/void/mining/alt + ) + ) + + +/obj/random/rigsuit + name = "Random rigsuit" + desc = "This is a random rigsuit." + icon = 'icons/obj/rig_modules.dmi' + icon_state = "generic" + +/obj/random/rigsuit/item_to_spawn() + return pick(prob(4);/obj/item/weapon/rig/light/hacker, + prob(5);/obj/item/weapon/rig/industrial, + prob(5);/obj/item/weapon/rig/eva, + prob(4);/obj/item/weapon/rig/light/stealth, + prob(3);/obj/item/weapon/rig/hazard, + prob(1);/obj/item/weapon/rig/merc/empty) \ No newline at end of file diff --git a/code/game/objects/structures/alien_props.dm b/code/game/objects/structures/alien_props.dm index cb791ec54b8..eb8ae9d19f3 100644 --- a/code/game/objects/structures/alien_props.dm +++ b/code/game/objects/structures/alien_props.dm @@ -69,7 +69,7 @@ var/static/list/possible_tech = list(TECH_MATERIAL, TECH_ENGINEERING, TECH_PHORON, TECH_POWER, TECH_BIO, TECH_COMBAT, TECH_MAGNET, TECH_DATA) /obj/item/prop/alien/junk/initialize() - ..() + . = ..() icon_state = pick(possible_states) var/list/techs = possible_tech.Copy() origin_tech = list() diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 5c3542015c5..9b3d866d2bf 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -10,7 +10,8 @@ LINEN BINS icon = 'icons/obj/items.dmi' icon_state = "sheet" slot_flags = SLOT_BACK - layer = 4.0 + plane = MOB_PLANE + layer = BELOW_MOB_LAYER throwforce = 1 throw_speed = 1 throw_range = 2 @@ -19,9 +20,9 @@ LINEN BINS /obj/item/weapon/bedsheet/attack_self(mob/user as mob) user.drop_item() if(layer == initial(layer)) - layer = MOB_LAYER + 0.1 + layer = ABOVE_MOB_LAYER else - layer = initial(layer) + reset_plane_and_layer() add_fingerprint(user) return diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index 1952ddea4fd..390ddc88a3c 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -10,6 +10,8 @@ var/next_fuel_consumption = 0 // world.time of when next item in fuel list gets eatten to sustain the fire. var/grill = FALSE var/material/material + var/set_temperature = T0C + 30 //K + var/heating_power = 80000 /obj/structure/bonfire/New(newloc, material_name) ..(newloc) @@ -186,9 +188,9 @@ if(burning) var/state switch(get_fuel_amount()) - if(0 to 4) + if(0 to 4.5) state = "bonfire_warm" - if(5 to 10) + if(4.6 to 10) state = "bonfire_hot" var/image/I = image(icon, state) I.appearance_flags = RESET_COLOR @@ -223,6 +225,23 @@ if(!grill) burn() + if(burning) + var/W = get_fuel_amount() + if(W >= 5) + var/datum/gas_mixture/env = loc.return_air() + if(env && abs(env.temperature - set_temperature) > 0.1) + var/transfer_moles = 0.25 * env.total_moles + var/datum/gas_mixture/removed = env.remove(transfer_moles) + + if(removed) + var/heat_transfer = removed.get_thermal_energy_change(set_temperature) + if(heat_transfer > 0) + heat_transfer = min(heat_transfer , heating_power) + + removed.add_thermal_energy(heat_transfer) + + env.merge(removed) + /obj/structure/bonfire/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ignite() @@ -235,4 +254,163 @@ M.pixel_y += 13 else // Just unbuckled someone M.pixel_y -= 13 - update_icon() \ No newline at end of file + update_icon() + +/obj/structure/fireplace //more like a space heater than a bonfire. A cozier alternative to both. + name = "fireplace" + desc = "The sound of the crackling hearth reminds you of home." + icon = 'icons/obj/structures.dmi' + icon_state = "fireplace" + density = TRUE + anchored = TRUE + var/burning = FALSE + var/next_fuel_consumption = 0 + var/set_temperature = T0C + 20 //K + var/heating_power = 40000 + +/obj/structure/fireplace/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/stack/material/wood) || istype(W, /obj/item/stack/material/log) ) + add_fuel(W, user) + + else if(W.is_hot()) + ignite() + else + return ..() + +/obj/structure/fireplace/attack_hand(mob/user) + if(get_fuel_amount()) + remove_fuel(user) + +/obj/structure/fireplace/proc/get_fuel_amount() + var/F = 0 + for(var/A in contents) + if(istype(A, /obj/item/stack/material/wood)) + F += 0.5 + if(istype(A, /obj/item/stack/material/log)) + F += 1.0 + return F + +/obj/structure/fireplace/proc/remove_fuel(mob/user) + if(get_fuel_amount()) + var/atom/movable/AM = pop(contents) + AM.forceMove(get_turf(src)) + to_chat(user, "You take \the [AM] out of \the [src] before it has a chance to burn away.") + update_icon() + +/obj/structure/fireplace/proc/add_fuel(atom/movable/new_fuel, mob/user) + if(get_fuel_amount() >= 10) + to_chat(user, "\The [src] already has enough fuel!") + return FALSE + if(istype(new_fuel, /obj/item/stack/material/wood) || istype(new_fuel, /obj/item/stack/material/log) ) + var/obj/item/stack/F = new_fuel + var/obj/item/stack/S = F.split(1) + if(S) + S.forceMove(src) + to_chat(user, "You add \the [new_fuel] to \the [src].") + update_icon() + return TRUE + return FALSE + else + to_chat(user, "\The [src] needs raw wood to burn, \a [new_fuel] won't work.") + return FALSE + +/obj/structure/fireplace/proc/consume_fuel(var/obj/item/stack/consumed_fuel) + if(!istype(consumed_fuel)) + qdel(consumed_fuel) // Don't know, don't care. + return FALSE + + if(istype(consumed_fuel, /obj/item/stack/material/log)) + next_fuel_consumption = world.time + 2 MINUTES + qdel(consumed_fuel) + update_icon() + return TRUE + + else if(istype(consumed_fuel, /obj/item/stack/material/wood)) // One log makes two planks of wood. + next_fuel_consumption = world.time + 1 MINUTE + qdel(consumed_fuel) + update_icon() + return TRUE + return FALSE + +/obj/structure/fireplace/proc/check_oxygen() + var/datum/gas_mixture/G = loc.return_air() + if(G.gas["oxygen"] < 1) + return FALSE + return TRUE + +/obj/structure/fireplace/proc/extinguish() + if(burning) + burning = FALSE + update_icon() + processing_objects -= src + visible_message("\The [src] stops burning.") + +/obj/structure/fireplace/proc/ignite() + if(!burning && get_fuel_amount()) + burning = TRUE + update_icon() + processing_objects += src + visible_message("\The [src] starts burning!") + +/obj/structure/fireplace/proc/burn() + var/turf/current_location = get_turf(src) + current_location.hotspot_expose(1000, 500) + for(var/A in current_location) + if(A == src) + continue + if(isobj(A)) + var/obj/O = A + O.fire_act(null, 1000, 500) + +/obj/structure/fireplace/update_icon() + overlays.Cut() + if(burning) + var/state + switch(get_fuel_amount()) + if(0 to 3.5) + state = "fireplace_warm" + if(3.6 to 6.5) + state = "fireplace_hot" + if(6.6 to 10) + state = "fireplace_intense" //don't need to throw a corpse inside to make it burn hotter. + var/image/I = image(icon, state) + I.appearance_flags = RESET_COLOR + overlays += I + + var/light_strength = max(get_fuel_amount() / 2, 2) + set_light(light_strength, light_strength, "#FF9933") + else + set_light(0) + +/obj/structure/fireplace/process() + if(!check_oxygen()) + extinguish() + return + if(world.time >= next_fuel_consumption) + if(!consume_fuel(pop(contents))) + extinguish() + return + + if(burning) + var/W = get_fuel_amount() + if(W >= 5) + var/datum/gas_mixture/env = loc.return_air() + if(env && abs(env.temperature - set_temperature) > 0.1) + var/transfer_moles = 0.25 * env.total_moles + var/datum/gas_mixture/removed = env.remove(transfer_moles) + + if(removed) + var/heat_transfer = removed.get_thermal_energy_change(set_temperature) + if(heat_transfer > 0) + heat_transfer = min(heat_transfer , heating_power) + + removed.add_thermal_energy(heat_transfer) + + env.merge(removed) + +/obj/structure/fireplace/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + ignite() + +/obj/structure/fireplace/water_act(amount) + if(prob(amount * 10)) + extinguish() \ No newline at end of file diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index 9bceee8f6e3..d9f3340bdd9 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -11,12 +11,13 @@ anchored = 1.0 /obj/structure/catwalk/initialize() + . = ..() for(var/obj/structure/catwalk/O in range(1)) O.update_icon() for(var/obj/structure/catwalk/C in get_turf(src)) if(C != src) warning("Duplicate [type] in [loc] ([x], [y], [z])") - qdel(C) + return INITIALIZE_HINT_QDEL update_icon() /obj/structure/catwalk/Destroy() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 690bba95f89..e25553d3611 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -24,7 +24,7 @@ var/list/will_contain /obj/structure/closet/initialize() - ..() + . = ..() if(will_contain) create_objects_in_loc(src, will_contain) @@ -415,3 +415,6 @@ /obj/structure/closet/onDropInto(var/atom/movable/AM) return + +/obj/structure/closet/AllowDrop() + return TRUE diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm index 7c54614aa7a..4074230d8d7 100644 --- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm +++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm @@ -38,7 +38,7 @@ ..() new /obj/item/clothing/suit/bio_suit/security(src) new /obj/item/clothing/head/bio_hood/security(src) - + new /obj/item/weapon/gun/energy/taser/xeno/sec(src) /obj/structure/closet/l3closet/janitor icon_state = "bio_janitor" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index eb2ab38b522..103867ef88a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -67,3 +67,34 @@ new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src) new /obj/item/clothing/shoes/boots/winter/supply(src) return + +/obj/structure/closet/secure_closet/miner + name = "miner's equipment" + icon_state = "miningsec1" + icon_closed = "miningsec" + icon_locked = "miningsec1" + icon_opened = "miningsecopen" + icon_broken = "miningsecbroken" + icon_off = "miningsecoff" + req_access = list(access_mining) + +/obj/structure/closet/secure_closet/miner/New() + ..() + sleep(2) + if(prob(50)) + new /obj/item/weapon/storage/backpack/industrial(src) + else + new /obj/item/weapon/storage/backpack/satchel/eng(src) + new /obj/item/device/radio/headset/headset_mine(src) + new /obj/item/clothing/under/rank/miner(src) + new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/shoes/black(src) + new /obj/item/device/analyzer(src) + new /obj/item/weapon/storage/bag/ore(src) + new /obj/item/device/flashlight/lantern(src) + new /obj/item/weapon/shovel(src) + new /obj/item/weapon/pickaxe(src) + new /obj/item/clothing/glasses/material(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/miner(src) + new /obj/item/clothing/shoes/boots/winter/mining(src) + new /obj/item/stack/marker_beacon/thirty(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm index f9f77fa684c..f4f24e8d50d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm @@ -1,6 +1,6 @@ /obj/structure/closet/secure_closet/guncabinet name = "gun cabinet" - req_access = list(access_armory) + req_one_access = list(access_armory) icon = 'icons/obj/guncabinet.dmi' icon_state = "base" icon_off ="base" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index ba806cc33b9..518a59251da 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -10,7 +10,7 @@ req_access = list(access_medical) - New() +/obj/structure/closet/secure_closet/medical1/New() ..() new /obj/item/weapon/storage/box/autoinjectors(src) new /obj/item/weapon/storage/box/syringes(src) @@ -38,7 +38,7 @@ req_access = list(access_surgery) - New() +/obj/structure/closet/secure_closet/medical2/New() ..() new /obj/item/weapon/tank/anesthetic(src) new /obj/item/weapon/tank/anesthetic(src) @@ -60,63 +60,63 @@ icon_broken = "securemedbroken" icon_off = "securemedoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) - else - new /obj/item/weapon/storage/backpack/satchel/med(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/under/rank/nursesuit (src) - new /obj/item/clothing/head/nursehat (src) - switch(pick("blue", "green", "purple", "black", "navyblue")) - if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) - if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) - if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) - if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) - if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - switch(pick("blue", "green", "purple", "black", "navyblue")) - if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) - if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) - if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) - if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) - if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/under/rank/medical(src) - new /obj/item/clothing/under/rank/nurse(src) - new /obj/item/clothing/under/rank/orderly(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/suit/storage/toggle/fr_jacket(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/weapon/cartridge/medical(src) - new /obj/item/device/radio/headset/headset_med(src) - new /obj/item/device/radio/headset/headset_med/alt(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - new /obj/item/clothing/shoes/boots/winter/medical(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/weapon/storage/box/freezer(src) - return +/obj/structure/closet/secure_closet/medical3/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/medic(src) + else + new /obj/item/weapon/storage/backpack/satchel/med(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/med(src) + new /obj/item/clothing/under/rank/nursesuit (src) + new /obj/item/clothing/head/nursehat (src) + switch(pick("blue", "green", "purple", "black", "navyblue")) + if ("blue") + new /obj/item/clothing/under/rank/medical/scrubs(src) + new /obj/item/clothing/head/surgery/blue(src) + if ("green") + new /obj/item/clothing/under/rank/medical/scrubs/green(src) + new /obj/item/clothing/head/surgery/green(src) + if ("purple") + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) + new /obj/item/clothing/head/surgery/purple(src) + if ("black") + new /obj/item/clothing/under/rank/medical/scrubs/black(src) + new /obj/item/clothing/head/surgery/black(src) + if ("navyblue") + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) + new /obj/item/clothing/head/surgery/navyblue(src) + switch(pick("blue", "green", "purple", "black", "navyblue")) + if ("blue") + new /obj/item/clothing/under/rank/medical/scrubs(src) + new /obj/item/clothing/head/surgery/blue(src) + if ("green") + new /obj/item/clothing/under/rank/medical/scrubs/green(src) + new /obj/item/clothing/head/surgery/green(src) + if ("purple") + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) + new /obj/item/clothing/head/surgery/purple(src) + if ("black") + new /obj/item/clothing/under/rank/medical/scrubs/black(src) + new /obj/item/clothing/head/surgery/black(src) + if ("navyblue") + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) + new /obj/item/clothing/head/surgery/navyblue(src) + new /obj/item/clothing/under/rank/medical(src) + new /obj/item/clothing/under/rank/nurse(src) + new /obj/item/clothing/under/rank/orderly(src) + new /obj/item/clothing/suit/storage/toggle/labcoat(src) + new /obj/item/clothing/suit/storage/toggle/fr_jacket(src) + new /obj/item/clothing/shoes/white(src) + new /obj/item/weapon/cartridge/medical(src) + new /obj/item/device/radio/headset/headset_med(src) + new /obj/item/device/radio/headset/headset_med/alt(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) + new /obj/item/clothing/shoes/boots/winter/medical(src) + new /obj/item/weapon/storage/box/freezer(src) + new /obj/item/weapon/storage/box/freezer(src) + new /obj/item/weapon/storage/box/freezer(src) + return /obj/structure/closet/secure_closet/paramedic name = "paramedic locker" @@ -130,7 +130,7 @@ req_access = list(access_medical_equip) - New() +/obj/structure/closet/secure_closet/paramedic/New() ..() new /obj/item/weapon/storage/backpack/dufflebag/emt(src) new /obj/item/weapon/storage/box/autoinjectors(src) @@ -167,50 +167,50 @@ icon_broken = "cmosecurebroken" icon_off = "cmosecureoff" - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) - else - new /obj/item/weapon/storage/backpack/satchel/med(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/suit/bio_suit/cmo(src) - new /obj/item/clothing/head/bio_hood/cmo(src) - new /obj/item/clothing/shoes/white(src) - switch(pick("blue", "green", "purple", "black", "navyblue")) - if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) - if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) - if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) - if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) - if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/under/rank/chief_medical_officer(src) - new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) - new /obj/item/weapon/cartridge/cmo(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/clothing/shoes/brown (src) - new /obj/item/device/radio/headset/heads/cmo(src) - new /obj/item/device/radio/headset/heads/cmo/alt(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/reagent_containers/hypospray/vial(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - new /obj/item/clothing/shoes/boots/winter/medical(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/taperoll/medical(src) - return +/obj/structure/closet/secure_closet/CMO/New() + ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/medic(src) + else + new /obj/item/weapon/storage/backpack/satchel/med(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag/med(src) + new /obj/item/clothing/suit/bio_suit/cmo(src) + new /obj/item/clothing/head/bio_hood/cmo(src) + new /obj/item/clothing/shoes/white(src) + switch(pick("blue", "green", "purple", "black", "navyblue")) + if ("blue") + new /obj/item/clothing/under/rank/medical/scrubs(src) + new /obj/item/clothing/head/surgery/blue(src) + if ("green") + new /obj/item/clothing/under/rank/medical/scrubs/green(src) + new /obj/item/clothing/head/surgery/green(src) + if ("purple") + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) + new /obj/item/clothing/head/surgery/purple(src) + if ("black") + new /obj/item/clothing/under/rank/medical/scrubs/black(src) + new /obj/item/clothing/head/surgery/black(src) + if ("navyblue") + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) + new /obj/item/clothing/head/surgery/navyblue(src) + new /obj/item/clothing/under/rank/chief_medical_officer(src) + new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) + new /obj/item/weapon/cartridge/cmo(src) + new /obj/item/clothing/gloves/sterile/latex(src) + new /obj/item/clothing/shoes/brown (src) + new /obj/item/device/radio/headset/heads/cmo(src) + new /obj/item/device/radio/headset/heads/cmo/alt(src) + new /obj/item/device/flash(src) + new /obj/item/weapon/reagent_containers/hypospray/vial(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) + new /obj/item/clothing/shoes/boots/winter/medical(src) + new /obj/item/weapon/storage/box/freezer(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/taperoll/medical(src) + return @@ -219,7 +219,7 @@ req_access = list(access_surgery) - New() +/obj/structure/closet/secure_closet/animal/New() ..() new /obj/item/device/assembly/signaler(src) new /obj/item/device/radio/electropack(src) @@ -241,7 +241,7 @@ req_access = list(access_chemistry) - New() +/obj/structure/closet/secure_closet/chemical/New() ..() new /obj/item/weapon/storage/box/pillbottles(src) new /obj/item/weapon/storage/box/pillbottles(src) @@ -268,7 +268,7 @@ req_access = list(access_psychiatrist) - New() +/obj/structure/closet/secure_closet/psych/New() ..() new /obj/item/clothing/under/rank/psych(src) new /obj/item/clothing/under/rank/psych/turtleneck(src) @@ -316,9 +316,25 @@ /obj/structure/closet/secure_closet/medical_wall/pills name = "pill cabinet" - New() +/obj/structure/closet/secure_closet/medical_wall/pills/New() ..() new /obj/item/weapon/storage/pill_bottle/tramadol(src) new /obj/item/weapon/storage/pill_bottle/antitox(src) new /obj/item/weapon/storage/pill_bottle/carbon(src) - new /obj/random/medical/pillbottle(src) \ No newline at end of file + new /obj/random/medical/pillbottle(src) + return + +/obj/structure/closet/secure_closet/medical_wall/anesthetics + name = "anesthetics wall closet" + desc = "Used to knock people out." + req_access = list(access_surgery) + +/obj/structure/closet/secure_closet/medical_wall/anesthetics/New() + ..() + new /obj/item/weapon/tank/anesthetic(src) + new /obj/item/weapon/tank/anesthetic(src) + new /obj/item/weapon/tank/anesthetic(src) + new /obj/item/clothing/mask/breath/medical(src) + new /obj/item/clothing/mask/breath/medical(src) + new /obj/item/clothing/mask/breath/medical(src) + return \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 83aa687957a..cf70a40920c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -103,12 +103,13 @@ if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/sec(src) new /obj/item/clothing/head/helmet/HoS(src) + new /obj/item/clothing/head/helmet/HoS/hat(src) new /obj/item/clothing/suit/storage/vest/hos(src) new /obj/item/clothing/under/rank/head_of_security/jensen(src) new /obj/item/clothing/under/rank/head_of_security/corp(src) new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src) new /obj/item/clothing/suit/storage/vest/hoscoat(src) - new /obj/item/clothing/head/helmet/HoS/dermal(src) + new /obj/item/clothing/head/helmet/dermal(src) new /obj/item/weapon/cartridge/hos(src) new /obj/item/device/radio/headset/heads/hos(src) new /obj/item/device/radio/headset/heads/hos/alt(src) @@ -161,7 +162,9 @@ new /obj/item/clothing/under/rank/warden/corp(src) new /obj/item/clothing/suit/storage/vest/wardencoat(src) new /obj/item/clothing/suit/storage/vest/wardencoat/alt(src) + new /obj/item/clothing/head/helmet/dermal(src) new /obj/item/clothing/head/helmet/warden(src) + new /obj/item/clothing/head/helmet/warden/hat(src) new /obj/item/weapon/cartridge/security(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/device/radio/headset/headset_sec/alt(src) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index c0d27cad1cf..c4e9ece866d 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -6,7 +6,7 @@ density = 1 /obj/structure/largecrate/initialize() - ..() + . = ..() for(var/obj/I in src.loc) if(I.density || I.anchored || I == src || !I.simulated) continue diff --git a/code/game/objects/structures/dogbed.dm b/code/game/objects/structures/dogbed.dm new file mode 100644 index 00000000000..bf9a65f8ebb --- /dev/null +++ b/code/game/objects/structures/dogbed.dm @@ -0,0 +1,8 @@ +/obj/structure/dogbed + name = "dog bed" + desc = "A bed made especially for dogs, or other similarly sized pets." + icon = 'icons/obj/furniture.dmi' + icon_state = "dogbed" + can_buckle = 1 + buckle_dir = SOUTH + buckle_lying = 1 \ No newline at end of file diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index f63290c0104..87957b4d4d9 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -320,3 +320,10 @@ if(2) name = "near finished " name += "[glass == 1 ? "window " : ""][istext(glass) ? "[glass] airlock" : base_name] assembly ([created_name])" + +// Airlock frames are indestructable, so bullets hitting them would always be stopped. +// To fix this, airlock assemblies will sometimes let bullets pass through, since generally the sprite shows them partially open. +/obj/structure/door_assembly/bullet_act(var/obj/item/projectile/P) + if(prob(40)) // Chance for the frame to let the bullet keep going. + return PROJECTILE_CONTINUE + return ..() diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index e9aa2672762..c95b5af2c93 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -306,7 +306,7 @@ /obj/structure/flora/sif/subterranean/initialize() icon_state = "[initial(icon_state)][rand(1,2)]" - ..() + . = ..() /obj/structure/flora/sif/eyes name = "mysterious bulbs" @@ -315,4 +315,4 @@ /obj/structure/flora/sif/eyes/initialize() icon_state = "[initial(icon_state)][rand(1,3)]" - ..() \ No newline at end of file + . = ..() \ No newline at end of file diff --git a/code/game/objects/structures/flora/trees.dm b/code/game/objects/structures/flora/trees.dm index b01c3ace965..ef58518e489 100644 --- a/code/game/objects/structures/flora/trees.dm +++ b/code/game/objects/structures/flora/trees.dm @@ -18,6 +18,10 @@ return ..() if(is_stump) + if(istype(W,/obj/item/weapon/shovel)) + if(do_after(user, 5 SECONDS)) + visible_message("\The [user] digs up \the [src] stump with \the [W].") + qdel(src) return visible_message("\The [user] hits \the [src] with \the [W]!") @@ -47,13 +51,19 @@ animate(transform=null, pixel_x=init_px, time=6, easing=ELASTIC_EASING) // Used when the tree gets hurt. -/obj/structure/flora/tree/proc/adjust_health(var/amount) +/obj/structure/flora/tree/proc/adjust_health(var/amount, var/is_ranged = FALSE) if(is_stump) return + // Bullets and lasers ruin some of the wood + if(is_ranged && product_amount > 0) + var/wood = initial(product_amount) + product_amount -= round(wood * (abs(amount)/max_health)) + health = between(0, health + amount, max_health) if(health <= 0) die() + return // Called when the tree loses all health, for whatever reason. /obj/structure/flora/tree/proc/die() @@ -73,6 +83,7 @@ return is_stump = TRUE + density = FALSE icon_state = "[base_state]_stump" overlays.Cut() // For the Sif tree and other future glowy trees. set_light(0) @@ -80,6 +91,9 @@ /obj/structure/flora/tree/ex_act(var/severity) adjust_health(-(max_health / severity)) +/obj/structure/flora/tree/bullet_act(var/obj/item/projectile/Proj) + if(Proj.get_structure_damage()) + adjust_health(-Proj.get_structure_damage(), TRUE) /obj/structure/flora/tree/get_description_interaction() var/list/results = list() diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm index 9eeefeee618..16dcd2ddb75 100644 --- a/code/game/objects/structures/ghost_pods/ghost_pods.dm +++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm @@ -7,14 +7,17 @@ var/icon_state_opened = null // Icon to switch to when 'used'. var/used = FALSE var/busy = FALSE // Don't spam ghosts by spamclicking. + var/needscharger //For drone pods that want their pod to turn into a charger. // Call this to get a ghost volunteer. -/obj/structure/ghost_pod/proc/trigger() +/obj/structure/ghost_pod/proc/trigger(var/alert, var/adminalert) if(!ghost_query_type) return FALSE if(busy) return FALSE + visible_message(alert) + log_and_message_admins(adminalert) busy = TRUE var/datum/ghost_query/Q = new ghost_query_type() var/list/winner = Q.query() @@ -22,8 +25,10 @@ if(winner.len) var/mob/observer/dead/D = winner[1] create_occupant(D) - new /obj/machinery/recharge_station/ghost_pod_recharger(src.loc) - del(src) + icon_state = icon_state_opened + if(needscharger) + new /obj/machinery/recharge_station/ghost_pod_recharger(src.loc) + del(src) return TRUE else return FALSE @@ -41,7 +46,7 @@ /obj/structure/ghost_pod/manual/attack_hand(var/mob/living/user) if(!used) if(confirm_before_open) - if(alert(user, "Are you sure you want to open \the [src]?", "Confirm", "No", "Yes") == "No") + if(alert(user, "Are you sure you want to touch \the [src]?", "Confirm", "No", "Yes") == "No") return trigger() @@ -55,7 +60,7 @@ var/delay_to_try_again = 20 MINUTES // How long to wait if first attempt fails. Set to 0 to never try again. /obj/structure/ghost_pod/automatic/initialize() - ..() + . = ..() spawn(delay_to_self_open) if(src) trigger() diff --git a/code/game/objects/structures/ghost_pods/silicon.dm b/code/game/objects/structures/ghost_pods/silicon.dm index a204437bc32..1e7210a1ec3 100644 --- a/code/game/objects/structures/ghost_pods/silicon.dm +++ b/code/game/objects/structures/ghost_pods/silicon.dm @@ -10,11 +10,10 @@ density = TRUE ghost_query_type = /datum/ghost_query/lost_drone confirm_before_open = TRUE + needscharger = TRUE /obj/structure/ghost_pod/manual/lost_drone/trigger() - ..() - visible_message("\The [src] appears to be attempting to restart the robot contained inside.") - log_and_message_admins("is attempting to open \a [src].") + ..("\The [src] appears to be attempting to restart the robot contained inside.", "is attempting to open \a [src].") /obj/structure/ghost_pod/manual/lost_drone/create_occupant(var/mob/M) density = FALSE @@ -45,6 +44,7 @@ icon_state_opened = "borg_pod_opened" density = TRUE ghost_query_type = /datum/ghost_query/gravekeeper_drone + needscharger = TRUE /obj/structure/ghost_pod/automatic/gravekeeper_drone/create_occupant(var/mob/M) density = FALSE @@ -58,4 +58,54 @@ R.ckey = M.ckey visible_message("As \the [src] opens, the eyes of the robot flicker as it is activated.") R.Namepick() + ..() + +/obj/structure/ghost_pod/manual/corgi + name = "glowing rune" + desc = "This rune slowly lights up and goes dim in a repeating pattern, like a slow heartbeat. It's almost as if it's calling out to you to touch it..." + description_info = "This will summon some manner of creature through quite dubious means. The creature will be controlled by a player." + icon_state = "corgirune" + icon_state_opened = "corgirune-inert" + density = FALSE + anchored = TRUE + ghost_query_type = /datum/ghost_query/corgi_rune + confirm_before_open = TRUE + +/obj/structure/ghost_pod/manual/corgi/trigger() + ..("\The [usr] places their hand on the rune!", "is attempting to summon a corgi.") + +/obj/structure/ghost_pod/manual/corgi/create_occupant(var/mob/M) + density = FALSE + var/mob/living/simple_animal/corgi/R = new(get_turf(src)) + if(M.mind) + M.mind.transfer_to(R) + to_chat(M, "You are a Corgi! Woof!") + R.ckey = M.ckey + visible_message("With a bright flash of light, \the [src] disappears, and in its place stands a small corgi.") + log_and_message_admins("successfully touched \a [src] and summoned a corgi.") + ..() + +/obj/structure/ghost_pod/manual/cursedblade + name = "abandoned blade" + desc = "A red crystal blade that someone jammed deep into a stone. If you try hard enough, you might be able to remove it." + icon_state = "soulblade-embedded" + icon_state_opened = "soulblade-released" + density = TRUE + anchored = TRUE + ghost_query_type = /datum/ghost_query/cursedblade + confirm_before_open = TRUE + +/obj/structure/ghost_pod/manual/cursedblade/trigger() + ..("\The [usr] attempts to pull out the sword!", "is activating a cursed blade.") + +/obj/structure/ghost_pod/manual/cursedblade/create_occupant(var/mob/M) + density = FALSE + var/obj/item/weapon/melee/cursedblade/R = new(get_turf(src)) + to_chat(M, "You are a Cursed Sword, discovered by a hapless explorer. \ + You were once an explorer yourself, when one day you discovered a strange sword made from a red crystal. As soon as you touched it,\ + your body was reduced to ashes and your soul was cursed to remain trapped in the blade forever. \ + Now it is up to you to decide whether you want to be a faithful companion, or a bitter prisoner of the blade.") + R.ghost_inhabit(M) + visible_message("The blade shines brightly for a brief moment as [usr] pulls it out of the stone!") + log_and_message_admins("successfully acquired a cursed sword.") ..() \ No newline at end of file diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 29b7d89ab79..a22bbae0d25 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -2,13 +2,69 @@ icon_state = "girder" anchored = 1 density = 1 - layer = 2 + plane = PLATING_PLANE w_class = ITEMSIZE_HUGE var/state = 0 var/health = 200 + var/max_health = 200 + var/displaced_health = 50 + var/current_damage = 0 var/cover = 50 //how much cover the girder provides against projectiles. + var/default_material = DEFAULT_WALL_MATERIAL + var/material/girder_material var/material/reinf_material var/reinforcing = 0 + var/applies_material_colour = 1 + +/obj/structure/girder/New(var/newloc, var/material_key) + ..(newloc) + if(!material_key) + material_key = default_material + set_material(material_key) + update_icon() + +/obj/structure/girder/Destroy() + if(girder_material.products_need_process()) + processing_objects -= src + . = ..() + +/obj/structure/girder/process() + if(!radiate()) + processing_objects -= src + return + +/obj/structure/girder/proc/radiate() + var/total_radiation = girder_material.radioactivity + (reinf_material ? reinf_material.radioactivity / 2 : 0) + if(!total_radiation) + return + + radiation_repository.radiate(src, total_radiation) + return total_radiation + + +/obj/structure/girder/proc/set_material(var/new_material) + girder_material = get_material_by_name(new_material) + if(!girder_material) + qdel(src) + name = "[girder_material.display_name] [initial(name)]" + max_health = round(girder_material.integrity) //Should be 150 with default integrity (steel). Weaker than ye-olden Girders now. + health = max_health + displaced_health = round(max_health/4) + if(applies_material_colour) + color = girder_material.icon_colour + if(girder_material.products_need_process()) //Am I radioactive or some other? Process me! + processing_objects |= src + else if(src in processing_objects) //If I happened to be radioactive or s.o. previously, and am not now, stop processing. + processing_objects -= src + +/obj/structure/girder/get_material() + return girder_material + +/obj/structure/girder/update_icon() + if(anchored) + icon_state = "girder" + else + icon_state = "displaced" /obj/structure/girder/displaced icon_state = "displaced" @@ -16,6 +72,17 @@ health = 50 cover = 25 +/obj/structure/girder/displaced/New(var/newloc, var/material_key) + ..(newloc, material_key) + displace() + +/obj/structure/girder/proc/displace() + name = "displaced [girder_material.display_name] [initial(name)]" + icon_state = "displaced" + anchored = 0 + health = (displaced_health - round(current_damage / 4)) + cover = 25 + /obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) if(!damage || !wallbreaker) return 0 @@ -36,6 +103,25 @@ if(!istype(Proj, /obj/item/projectile/beam)) damage *= 0.4 //non beams do reduced damage + else if(girder_material && girder_material.reflectivity >= 0.5) // Reflect lasers. + var/new_damage = damage * girder_material.reflectivity + var/outgoing_damage = damage - new_damage + damage = round(new_damage) + Proj.damage = outgoing_damage + + visible_message("\The [src] reflects \the [Proj]!") + + // Find a turf near or on the original location to bounce to + var/new_x = Proj.starting.x + pick(0, 0, 0, -1, 1, -2, 2) + var/new_y = Proj.starting.y + pick(0, 0, 0, -1, 1, -2, 2) + //var/turf/curloc = get_turf(src) + var/turf/curloc = get_step(src, get_dir(src, Proj.starting)) + + Proj.penetrating += 1 // Needed for the beam to get out of the girder. + + // redirect the projectile + Proj.redirect(new_x, new_y, curloc, null) + health -= damage ..() if(health <= 0) @@ -47,9 +133,10 @@ dismantle() /obj/structure/girder/proc/reset_girder() + name = "[girder_material.display_name] [initial(name)]" anchored = 1 cover = initial(cover) - health = min(health,initial(health)) + health = min(max_health - current_damage,max_health) state = 0 icon_state = initial(icon_state) reinforcing = 0 @@ -60,62 +147,59 @@ if(istype(W, /obj/item/weapon/wrench) && state == 0) if(anchored && !reinf_material) playsound(src, W.usesound, 100, 1) - user << "Now disassembling the girder..." - if(do_after(user,40 * W.toolspeed)) + to_chat(user, "Now disassembling the girder...") + if(do_after(user,(35 + round(max_health/50)) * W.toolspeed)) if(!src) return - user << "You dissasembled the girder!" + to_chat(user, "You dissasembled the girder!") dismantle() else if(!anchored) playsound(src, W.usesound, 100, 1) - user << "Now securing the girder..." + to_chat(user, "Now securing the girder...") if(do_after(user, 40 * W.toolspeed, src)) - user << "You secured the girder!" + to_chat(user, "You secured the girder!") reset_girder() else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - user << "Now slicing apart the girder..." + to_chat(user, "Now slicing apart the girder...") if(do_after(user,30 * W.toolspeed)) if(!src) return - user << "You slice apart the girder!" + to_chat(user, "You slice apart the girder!") dismantle() else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - user << "You drill through the girder!" + to_chat(user, "You drill through the girder!") dismantle() else if(istype(W, /obj/item/weapon/screwdriver)) if(state == 2) playsound(src, W.usesound, 100, 1) - user << "Now unsecuring support struts..." + to_chat(user, "Now unsecuring support struts...") if(do_after(user,40 * W.toolspeed)) if(!src) return - user << "You unsecured the support struts!" + to_chat(user, "You unsecured the support struts!") state = 1 else if(anchored && !reinf_material) playsound(src, W.usesound, 100, 1) reinforcing = !reinforcing - user << "\The [src] can now be [reinforcing? "reinforced" : "constructed"]!" + to_chat(user, "\The [src] can now be [reinforcing? "reinforced" : "constructed"]!") else if(istype(W, /obj/item/weapon/wirecutters) && state == 1) playsound(src, W.usesound, 100, 1) - user << "Now removing support struts..." + to_chat(user, "Now removing support struts...") if(do_after(user,40 * W.toolspeed)) if(!src) return - user << "You removed the support struts!" + to_chat(user, "You removed the support struts!") reinf_material.place_dismantled_product(get_turf(src)) reinf_material = null reset_girder() else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored) playsound(src, W.usesound, 100, 1) - user << "Now dislodging the girder..." + to_chat(user, "Now dislodging the girder...") if(do_after(user, 40 * W.toolspeed)) if(!src) return - user << "You dislodged the girder!" - icon_state = "displaced" - anchored = 0 - health = 50 - cover = 25 + to_chat(user, "You dislodged the girder!") + displace() else if(istype(W, /obj/item/stack/material)) if(reinforcing && !reinf_material) @@ -130,14 +214,16 @@ /obj/structure/girder/proc/take_damage(var/damage) health -= damage - if(health <= 0) dismantle() + else + current_damage = current_damage + damage //Rather than calculate this every time we need to use it, just calculate it here and save it. + /obj/structure/girder/proc/construct_wall(obj/item/stack/material/S, mob/user) var/amount_to_use = reinf_material ? 1 : 2 if(S.get_amount() < amount_to_use) - user << "There isn't enough material here to construct a wall." + to_chat(user, "There isn't enough material here to construct a wall.") return 0 var/material/M = name_to_material[S.default_type] @@ -148,24 +234,24 @@ add_hiddenprint(usr) if(M.integrity < 50) - user << "This material is too soft for use in wall construction." + to_chat(user, "This material is too soft for use in wall construction.") return 0 - user << "You begin adding the plating..." + to_chat(user, "You begin adding the plating...") if(!do_after(user,40) || !S.use(amount_to_use)) return 1 //once we've gotten this far don't call parent attackby() if(anchored) - user << "You added the plating!" + to_chat(user, "You added the plating!") else - user << "You create a false wall! Push on it to open or close the passage." + to_chat(user, "You create a false wall! Push on it to open or close the passage.") wall_fake = 1 var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(/turf/simulated/wall) var/turf/simulated/wall/T = get_turf(src) - T.set_material(M, reinf_material) + T.set_material(M, reinf_material, girder_material) if(wall_fake) T.can_open = 1 T.add_hiddenprint(usr) @@ -174,22 +260,22 @@ /obj/structure/girder/proc/reinforce_with_material(obj/item/stack/material/S, mob/user) //if the verb is removed this can be renamed. if(reinf_material) - user << "\The [src] is already reinforced." + to_chat(user, "\The [src] is already reinforced.") return 0 if(S.get_amount() < 1) - user << "There isn't enough material here to reinforce the girder." + to_chat(user, "There isn't enough material here to reinforce the girder.") return 0 var/material/M = name_to_material[S.default_type] if(!istype(M) || M.integrity < 50) - user << "You cannot reinforce \the [src] with that; it is too soft." + to_chat(user, "You cannot reinforce \the [src] with that; it is too soft.") return 0 - user << "Now reinforcing..." + to_chat(user, "Now reinforcing...") if (!do_after(user,40) || !S.use(1)) return 1 //don't call parent attackby() past this point - user << "You added reinforcement!" + to_chat(user, "You added reinforcement!") reinf_material = M reinforce_girder() @@ -197,13 +283,13 @@ /obj/structure/girder/proc/reinforce_girder() cover = reinf_material.hardness - health = 500 + health = health + round(reinf_material.integrity/2) state = 2 icon_state = "reinforced" reinforcing = 0 /obj/structure/girder/proc/dismantle() - new /obj/item/stack/material/steel(get_turf(src)) + girder_material.place_dismantled_product(get_turf(src)) qdel(src) /obj/structure/girder/attack_hand(mob/user as mob) @@ -235,6 +321,8 @@ icon_state= "cultgirder" health = 250 cover = 70 + girder_material = DEFAULT_WALL_MATERIAL + applies_material_colour = 0 /obj/structure/girder/cult/dismantle() new /obj/effect/decal/remains/human(get_turf(src)) @@ -243,18 +331,18 @@ /obj/structure/girder/cult/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src, W.usesound, 100, 1) - user << "Now disassembling the girder..." + to_chat(user, "Now disassembling the girder...") if(do_after(user,40 * W.toolspeed)) - user << "You dissasembled the girder!" + to_chat(user, "You dissasembled the girder!") dismantle() else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - user << "Now slicing apart the girder..." + to_chat(user, "Now slicing apart the girder...") if(do_after(user,30 * W.toolspeed)) - user << "You slice apart the girder!" + to_chat(user, "You slice apart the girder!") dismantle() else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - user << "You drill through the girder!" + to_chat(user, "You drill through the girder!") new /obj/effect/decal/remains/human(get_turf(src)) dismantle() diff --git a/code/game/objects/structures/gravemarker.dm b/code/game/objects/structures/gravemarker.dm index a10cd0bf6ea..e20591b9399 100644 --- a/code/game/objects/structures/gravemarker.dm +++ b/code/game/objects/structures/gravemarker.dm @@ -8,7 +8,7 @@ throwpass = 1 climbable = 1 - layer = 3.1 //Above dirt piles + layer = ABOVE_JUNK_LAYER //Maybe make these calculate based on material? var/health = 100 diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index aec6ce94c19..ee809999163 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -7,7 +7,7 @@ anchored = 1 flags = CONDUCT pressure_resistance = 5*ONE_ATMOSPHERE - layer = 2.9 + layer = UNDER_JUNK_LAYER explosion_resistance = 1 var/health = 10 var/destroyed = 0 @@ -104,7 +104,7 @@ playsound(src, W.usesound, 100, 1) anchored = !anchored user.visible_message("[user] [anchored ? "fastens" : "unfastens"] the grille.", \ - "You have [anchored ? "fastened the grille to" : "unfastened the grill from"] the floor.") + "You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor.") return //window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM diff --git a/code/game/objects/structures/holoplant.dm b/code/game/objects/structures/holoplant.dm new file mode 100644 index 00000000000..1f6473ebdc0 --- /dev/null +++ b/code/game/objects/structures/holoplant.dm @@ -0,0 +1,105 @@ +/obj/machinery/holoplant + name = "holoplant" + desc = "One of those Ward-Takahashi holoplants! Give your space a bit of the comfort of being outdoors, by buying this blue buddy. A rugged case guarantees that your flower will outlive you, and variety of plant types won't let you to get bored along the way!" + icon = 'icons/obj/holoplants.dmi' + icon_state = "holopot" + light_color = "#3C94C5" + anchored = TRUE + idle_power_usage = 0 + active_power_usage = 5 + var/interference = FALSE + var/icon/plant = null + var/global/list/possible_plants = list( + "plant-1", + "plant-10", + "plant-09", + "plant-15", + "plant-13" + ) + +/obj/machinery/holoplant/initialize() + . = ..() + activate() + +/obj/machinery/holoplant/attack_hand(var/mob/living/user) + if(!istype(user) || interference) + return + + if(!anchored) + to_chat(user,"\The [src] must be anchored before activation!") + return + + if(!plant) + activate() + else + deactivate() + +/obj/machinery/holoplant/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(default_unfasten_wrench(user, O, 10)) + deactivate() + return + + . = ..() + +/obj/machinery/holoplant/proc/activate() + if(!anchored || stat & (NOPOWER|BROKEN)) + return + + plant = prepare_icon(emagged ? "emagged" : null) + overlays += plant + set_light(2) + use_power = 2 + +/obj/machinery/holoplant/proc/deactivate() + overlays -= plant + qdel_null(plant) + set_light(0) + use_power = 0 + +/obj/machinery/holoplant/power_change() + ..() + if(stat & NOPOWER) + deactivate() + else + activate() + +/obj/machinery/holoplant/proc/flicker() + interference = TRUE + spawn(0) + overlays -= plant + set_light(0) + sleep(rand(2,4)) + overlays += plant + set_light(2) + sleep(rand(2,4)) + overlays -= plant + set_light(0) + sleep(rand(2,4)) + overlays += plant + set_light(2) + interference = FALSE + +/obj/machinery/holoplant/proc/prepare_icon(var/state) + if(!state) + state = pick(possible_plants) + var/plant_icon = icon(icon, state) + return getHologramIcon(plant_icon, 0) + +/obj/machinery/holoplant/emag_act() + if(emagged) + return + + emagged = TRUE + if(plant) + deactivate() + activate() + +/obj/machinery/holoplant/Crossed(var/mob/living/L) + if(!interference && plant && istype(L)) + flicker() + + +/obj/machinery/holoplant/shipped + anchored = FALSE +/obj/machinery/holoplant/shipped/initialize() + . = ..() \ No newline at end of file diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 42b78841695..53323bb4b90 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -19,7 +19,8 @@ to_chat(user, "The spike already has something on it, finish collecting its meat first!") else if(spike(G.affecting)) - visible_message("[user] has forced [G.affecting] onto the spike, killing \him instantly!") + var/datum/gender/T = gender_datums[G.affecting.get_visible_gender()] + visible_message("[user] has forced [G.affecting] onto the spike, killing [T.him] instantly!") var/mob/M = G.affecting M.forceMove(src) qdel(G) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index ac231eb947a..d9ec122c555 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -6,19 +6,19 @@ density = 0 anchored = 1.0 w_class = ITEMSIZE_NORMAL - layer = 2.3 //under pipes + plane = PLATING_PLANE // flags = CONDUCT /obj/structure/lattice/initialize() - ..() + . = ..() if(!(istype(src.loc, /turf/space) || istype(src.loc, /turf/simulated/open) || istype(src.loc, /turf/simulated/mineral))) - qdel(src) - return + return INITIALIZE_HINT_QDEL for(var/obj/structure/lattice/LAT in src.loc) if(LAT != src) - qdel(LAT) + crash_with("Found multiple lattices at '[log_info_line(loc)]'") + return INITIALIZE_HINT_QDEL icon = 'icons/obj/smoothlattice.dmi' icon_state = "latticeblank" updateOverlays() diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm index de9a8036242..353dbe31a72 100644 --- a/code/game/objects/structures/loot_piles.dm +++ b/code/game/objects/structures/loot_piles.dm @@ -22,6 +22,8 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh density = FALSE anchored = TRUE + var/list/icon_states_to_use = list() // List of icon states the pile can choose from on initialization. If empty or null, it will stay the initial icon_state. + var/list/searched_by = list() // Keys that have searched this loot pile, with values of searched time. var/allow_multiple_looting = FALSE // If true, the same person can loot multiple times. Mostly for debugging. var/busy = FALSE // Used so you can't spamclick to loot. @@ -113,13 +115,10 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh var/path = pick(rare_loot) return new path(src) - -/obj/structure/loot_pile/maint - var/list/icon_states_to_use = list() - -/obj/structure/loot_pile/maint/initialize() - icon_state = pick(icon_states_to_use) - ..() +/obj/structure/loot_pile/initialize() + if(icon_states_to_use && icon_states_to_use.len) + icon_state = pick(icon_states_to_use) + . = ..() // Has large amounts of possible items, most of which may or may not be useful. /obj/structure/loot_pile/maint/junk @@ -278,7 +277,6 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/weapon/storage/box/donut, /obj/item/weapon/storage/box/donut/empty, /obj/item/weapon/storage/box/evidence, - /obj/item/weapon/storage/box/engineer, /obj/item/weapon/storage/box/lights/mixed, /obj/item/weapon/storage/box/lights/tubes, /obj/item/weapon/storage/box/lights/bulbs, @@ -439,7 +437,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh // Base type for alien piles. /obj/structure/loot_pile/surface/alien name = "alien pod" - desc = "A pod which looks bigger on the inside. Something quiet shiny might be inside?" + desc = "A pod which looks bigger on the inside. Something quite shiny might be inside?" icon_state = "alien_pile1" /obj/structure/loot_pile/surface/alien @@ -522,3 +520,313 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/clothing/suit/armor/alien/tank, /obj/item/clothing/head/helmet/alien/tank, ) + +/obj/structure/loot_pile/surface/bones + name = "bone pile" + desc = "A pile of various dusty bones. Your graverobbing instincts tell you there might be valuables here." + icon = 'icons/obj/bones.dmi' + icon_state = "bonepile" + delete_on_depletion = TRUE + + common_loot = list( + /obj/item/weapon/bone, + /obj/item/weapon/bone/skull, + /obj/item/weapon/bone/skull/tajaran, + /obj/item/weapon/bone/skull/unathi, + /obj/item/weapon/bone/skull/unknown, + /obj/item/weapon/bone/leg, + /obj/item/weapon/bone/arm, + /obj/item/weapon/bone/ribs, + ) + uncommon_loot = list( + /obj/item/weapon/coin/gold, + /obj/item/weapon/coin/silver, + /obj/item/weapon/deck/tarot, + /obj/item/weapon/flame/lighter/zippo/gold, + /obj/item/weapon/flame/lighter/zippo/black, + /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/weapon/material/knife/tacknife/combatknife, + /obj/item/weapon/material/knife/machete/hatchet, + /obj/item/weapon/material/knife/butch, + /obj/item/weapon/storage/wallet/random, + /obj/item/clothing/accessory/bracelet/material/gold, + /obj/item/clothing/accessory/bracelet/material/silver, + /obj/item/clothing/accessory/locket, + /obj/item/clothing/accessory/poncho/blue, + /obj/item/clothing/shoes/boots/cowboy, + /obj/item/clothing/suit/storage/toggle/bomber, + /obj/item/clothing/under/frontier, + /obj/item/clothing/under/overalls, + /obj/item/clothing/under/pants/classicjeans/ripped, + /obj/item/clothing/under/sl_suit + ) + rare_loot = list( + /obj/item/weapon/storage/belt/utility/alien/full, + /obj/item/weapon/gun/projectile/revolver, + /obj/item/weapon/gun/projectile/sec, + /obj/item/weapon/gun/launcher/crossbow + ) + +// Subtype for mecha and mecha accessories. These might not always be on the surface. +/obj/structure/loot_pile/mecha + name = "pod wreckage" + desc = "The ruins of some unfortunate pod. Perhaps something is salvageable." + icon = 'icons/mecha/mecha.dmi' + icon_state = "engineering_pod-broken" + density = TRUE + + chance_uncommon = 20 + chance_rare = 10 + + loot_depletion = TRUE + loot_left = 9 + + common_loot = list( + /obj/random/tool, + /obj/random/tool, + /obj/random/tool, + /obj/random/tool, + /obj/item/stack/cable_coil/random, + /obj/random/tank, + /obj/random/tech_supply/component, + /obj/random/tech_supply/component, + /obj/random/tech_supply/component, + /obj/effect/decal/remains/lizard, + /obj/effect/decal/remains/mouse, + /obj/effect/decal/remains/robot, + /obj/item/stack/material/steel{amount = 40} + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, + /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp, + /obj/item/mecha_parts/mecha_equipment/tool/drill, + /obj/item/mecha_parts/mecha_equipment/generator + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser, + /obj/item/mecha_parts/mecha_equipment/generator/nuclear, + /obj/item/mecha_parts/mecha_equipment/tool/jetpack + ) + +//Stuff you may find attached to a ripley. +/obj/structure/loot_pile/mecha/ripley + name = "ripley wreckage" + desc = "The ruins of some unfortunate ripley. Perhaps something is salvageable." + icon_states_to_use = list("ripley-broken", "firefighter-broken", "ripley-broken-old") + + common_loot = list( + /obj/random/tool, + /obj/item/stack/cable_coil/random, + /obj/random/tank, + /obj/random/tech_supply/component, + /obj/item/stack/material/steel{amount = 25}, + /obj/item/stack/material/glass{amount = 10}, + /obj/item/stack/material/plasteel{amount = 5}, + /obj/item/mecha_parts/chassis/ripley, + /obj/item/mecha_parts/part/ripley_torso, + /obj/item/mecha_parts/part/ripley_left_arm, + /obj/item/mecha_parts/part/ripley_right_arm, + /obj/item/mecha_parts/part/ripley_left_leg, + /obj/item/mecha_parts/part/ripley_right_leg, + /obj/item/device/kit/paint/ripley, + /obj/item/device/kit/paint/ripley/flames_red, + /obj/item/device/kit/paint/ripley/flames_blue + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp, + /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill, + /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster, + /obj/item/mecha_parts/mecha_equipment/tool/extinguisher, + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/gravcatapult, + /obj/item/mecha_parts/mecha_equipment/tool/rcd, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer/rigged + ) + +//Death-Ripley, same common, but more combat-exosuit-based +/obj/structure/loot_pile/mecha/deathripley + name = "strange ripley wreckage" + icon_state = "deathripley-broken" + + common_loot = list( + /obj/random/tool, + /obj/item/stack/cable_coil/random, + /obj/random/tank, + /obj/random/tech_supply/component, + /obj/item/stack/material/steel{amount = 40}, + /obj/item/stack/material/glass{amount = 20}, + /obj/item/stack/material/plasteel{amount = 10}, + /obj/item/mecha_parts/chassis/ripley, + /obj/item/mecha_parts/part/ripley_torso, + /obj/item/mecha_parts/part/ripley_left_arm, + /obj/item/mecha_parts/part/ripley_right_arm, + /obj/item/mecha_parts/part/ripley_left_leg, + /obj/item/mecha_parts/part/ripley_right_leg, + /obj/item/device/kit/paint/ripley/death + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/tool/safety_clamp, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, + /obj/item/mecha_parts/mecha_equipment/repair_droid, + /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/tool/rcd, + /obj/item/mecha_parts/mecha_equipment/wormhole_generator, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer/rigged + ) + +/obj/structure/loot_pile/mecha/odysseus + name = "odysseus wreckage" + desc = "The ruins of some unfortunate odysseus. Perhaps something is salvageable." + icon_state = "odysseus-broken" + + common_loot = list( + /obj/random/tool, + /obj/item/stack/cable_coil/random, + /obj/random/tank, + /obj/random/tech_supply/component, + /obj/item/stack/material/steel{amount = 25}, + /obj/item/stack/material/glass{amount = 10}, + /obj/item/stack/material/plasteel{amount = 5}, + /obj/item/mecha_parts/chassis/odysseus, + /obj/item/mecha_parts/part/odysseus_head, + /obj/item/mecha_parts/part/odysseus_torso, + /obj/item/mecha_parts/part/odysseus_left_arm, + /obj/item/mecha_parts/part/odysseus_right_arm, + /obj/item/mecha_parts/part/odysseus_left_leg, + /obj/item/mecha_parts/part/odysseus_right_leg + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/tool/sleeper, + /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flare, + /obj/item/mecha_parts/mecha_equipment/tool/extinguisher, + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/gravcatapult, + /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster, + /obj/item/mecha_parts/mecha_equipment/shocker + ) + +/obj/structure/loot_pile/mecha/gygax + name = "gygax wreckage" + desc = "The ruins of some unfortunate gygax. Perhaps something is salvageable." + icon_state = "gygax-broken" + + common_loot = list( + /obj/random/tool, + /obj/item/stack/cable_coil/random, + /obj/random/tank, + /obj/random/tech_supply/component, + /obj/item/stack/material/steel{amount = 25}, + /obj/item/stack/material/glass{amount = 10}, + /obj/item/stack/material/plasteel{amount = 5}, + /obj/item/mecha_parts/chassis/gygax, + /obj/item/mecha_parts/part/gygax_head, + /obj/item/mecha_parts/part/gygax_torso, + /obj/item/mecha_parts/part/gygax_left_arm, + /obj/item/mecha_parts/part/gygax_right_arm, + /obj/item/mecha_parts/part/gygax_left_leg, + /obj/item/mecha_parts/part/gygax_right_leg, + /obj/item/mecha_parts/part/gygax_armour + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/shocker, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser, + /obj/item/device/kit/paint/gygax, + /obj/item/device/kit/paint/gygax/darkgygax, + /obj/item/device/kit/paint/gygax/recitence + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg, + /obj/item/mecha_parts/mecha_equipment/repair_droid, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy + ) + +/obj/structure/loot_pile/mecha/durand + name = "durand wreckage" + desc = "The ruins of some unfortunate durand. Perhaps something is salvageable." + icon_state = "durand-broken" + + common_loot = list( + /obj/random/tool, + /obj/item/stack/cable_coil/random, + /obj/random/tank, + /obj/random/tech_supply/component, + /obj/item/stack/material/steel{amount = 25}, + /obj/item/stack/material/glass{amount = 10}, + /obj/item/stack/material/plasteel{amount = 5}, + /obj/item/mecha_parts/chassis/durand, + /obj/item/mecha_parts/part/durand_head, + /obj/item/mecha_parts/part/durand_torso, + /obj/item/mecha_parts/part/durand_left_arm, + /obj/item/mecha_parts/part/durand_right_arm, + /obj/item/mecha_parts/part/durand_left_leg, + /obj/item/mecha_parts/part/durand_right_leg, + /obj/item/mecha_parts/part/durand_armour + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/shocker, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser, + /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster, + /obj/item/device/kit/paint/durand, + /obj/item/device/kit/paint/durand/seraph, + /obj/item/device/kit/paint/durand/phazon + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot, + /obj/item/mecha_parts/mecha_equipment/repair_droid, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy + ) + +/obj/structure/loot_pile/mecha/phazon + name = "phazon wreckage" + desc = "The ruins of some unfortunate phazon. Perhaps something is salvageable." + icon_state = "phazon-broken" + + common_loot = list( + /obj/item/weapon/storage/toolbox/syndicate/powertools, + /obj/item/stack/material/plasteel{amount = 20}, + /obj/item/stack/material/durasteel{amount = 10}, + /obj/item/mecha_parts/chassis/phazon, + /obj/item/mecha_parts/part/phazon_head, + /obj/item/mecha_parts/part/phazon_torso, + /obj/item/mecha_parts/part/phazon_left_arm, + /obj/item/mecha_parts/part/phazon_right_arm, + /obj/item/mecha_parts/part/phazon_left_leg, + /obj/item/mecha_parts/part/phazon_right_leg + ) + + uncommon_loot = list( + /obj/item/mecha_parts/mecha_equipment/shocker, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer/rigged, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy, + /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster + ) + + rare_loot = list( + /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion, + /obj/item/mecha_parts/mecha_equipment/repair_droid, + /obj/item/mecha_parts/mecha_equipment/teleporter + ) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 2030167b867..1e8237cdfd0 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -123,10 +123,10 @@ /obj/structure/mirror/raider/attack_hand(var/mob/living/carbon/human/user) if(istype(get_area(src),/area/syndicate_mothership)) - if(istype(user) && user.mind && user.mind.special_role == "Raider" && user.species.name != "Vox" && is_alien_whitelisted(user, "Vox")) + if(istype(user) && user.mind && user.mind.special_role == "Raider" && user.species.name != SPECIES_VOX && is_alien_whitelisted(user, SPECIES_VOX)) var/choice = input("Do you wish to become a true Vox of the Shoal? This is not reversible.") as null|anything in list("No","Yes") if(choice && choice == "Yes") - var/mob/living/carbon/human/vox/vox = new(get_turf(src),"Vox") + var/mob/living/carbon/human/vox/vox = new(get_turf(src),SPECIES_VOX) vox.gender = user.gender raiders.equip(vox) if(user.mind) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index d795d53e3d6..d0324c98bf1 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -148,7 +148,7 @@ icon = 'icons/obj/stationobjs.dmi' icon_state = "morguet" density = 1 - layer = 2.0 + plane = TURF_PLANE var/obj/structure/morgue/connected = null anchored = 1 throwpass = 1 @@ -306,10 +306,6 @@ if (C.can_feel_pain()) C.emote("scream") - //Logging for this causes runtimes resulting in the cremator locking up. Commenting it out until that's figured out. - //M.attack_log += "\[[time_stamp()]\] Has been cremated by [user]/[user.ckey]" //No point in this when the mob's about to be deleted - //user.attack_log +="\[[time_stamp()]\] Cremated [M]/[M.ckey]" - //log_attack("\[[time_stamp()]\] [user]/[user.ckey] cremated [M]/[M.ckey]") M.death(1) M.ghostize() qdel(M) diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 75052f7b86c..0a26e568ecd 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -26,6 +26,7 @@ I.loc = src notices++ icon_state = "nboard0[notices]" + . = ..() //attaching papers!! /obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob) diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm index 1acafd5726b..e67750b8f30 100644 --- a/code/game/objects/structures/railing.dm +++ b/code/game/objects/structures/railing.dm @@ -6,7 +6,7 @@ density = 1 throwpass = 1 climbable = 1 - layer = 3.2 //Just above doors + layer = WINDOW_LAYER anchored = 1 flags = ON_BORDER icon_state = "railing0" @@ -24,7 +24,7 @@ verbs += /obj/structure/proc/climb_on /obj/structure/railing/initialize() - ..() + . = ..() if(src.anchored) update_icon(0) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index b2c5e93cb84..37edb603c1d 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -31,13 +31,13 @@ FLOOR SAFES /obj/structure/safe/initialize() + . = ..() for(var/obj/item/I in loc) if(space >= maxspace) return if(I.w_class + space <= maxspace) space += I.w_class - I.loc = src - + I.forceMove(src) /obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear) if(user && canhear) @@ -172,10 +172,11 @@ obj/structure/safe/ex_act(severity) icon_state = "floorsafe" density = 0 level = 1 //underfloor - layer = 2.5 + plane = TURF_PLANE + layer = ABOVE_UTILITY /obj/structure/safe/floor/initialize() - ..() + . = ..() var/turf/T = loc if(istype(T) && !T.is_plating()) hide(1) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 6f739870cc6..33c6d6501cb 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -3,7 +3,7 @@ anchored = 1 opacity = 0 density = 0 - layer = 3.5 + layer = ABOVE_JUNK_LAYER w_class = ITEMSIZE_NORMAL /obj/structure/sign/ex_act(severity) @@ -156,6 +156,9 @@ /obj/structure/sign/warning/docking_area name = "\improper KEEP CLEAR: DOCKING AREA" + +/obj/structure/sign/warning/evac + name = "\improper KEEP CLEAR: EVAC DOCKING AREA" icon_state = "evac" /obj/structure/sign/warning/engineering_access diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index 2aa58488b6a..4f430d3ec68 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -198,4 +198,14 @@ ..(newloc, MAT_SIFWOOD) /obj/structure/simple_door/resin/New(var/newloc,var/material_name) - ..(newloc, "resin") \ No newline at end of file + ..(newloc, "resin") + +/obj/structure/simple_door/cult/New(var/newloc,var/material_name) + ..(newloc, "cult") + +/obj/structure/simple_door/cult/TryToSwitchState(atom/user) + if(isliving(user)) + var/mob/living/L = user + if(!iscultist(L) && !istype(L, /mob/living/simple_animal/construct)) + return + ..() diff --git a/code/game/objects/structures/snowman.dm b/code/game/objects/structures/snowman.dm new file mode 100644 index 00000000000..b3947621b9a --- /dev/null +++ b/code/game/objects/structures/snowman.dm @@ -0,0 +1,24 @@ +/obj/structure/snowman + name = "snowman" + icon = 'icons/obj/snowman.dmi' + icon_state = "snowman" + desc = "A happy little snowman smiles back at you!" + anchored = 1 + +/obj/structure/snowman/attack_hand(mob/user as mob) + if(user.a_intent == I_HURT) + user << "In one hit, [src] easily crumples into a pile of snow. You monster." + var/turf/simulated/floor/F = get_turf(src) + if (istype(F)) + new /obj/item/stack/material/snow(F) + qdel(src) + +/obj/structure/snowman/borg + name = "snowborg" + icon_state = "snowborg" + desc = "A snowy little robot. It even has a monitor for a head." + +/obj/structure/snowman/spider + name = "snow spider" + icon_state = "snowspider" + desc = "An impressively crafted snow spider. Not nearly as creepy as the real thing." \ No newline at end of file diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index ed9c4e0301a..390e3c84b9c 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -47,15 +47,17 @@ if(isnull(stool_cache[cache_key])) var/image/I = image(icon, "[base_icon]_armrest") I.layer = MOB_LAYER + 0.1 + I.plane = MOB_PLANE I.color = padding_material.icon_colour stool_cache[cache_key] = I overlays |= stool_cache[cache_key] /obj/structure/bed/chair/proc/update_layer() if(src.dir == NORTH) - src.layer = FLY_LAYER + plane = MOB_PLANE + layer = MOB_LAYER + 0.1 else - src.layer = OBJ_LAYER + reset_plane_and_layer() /obj/structure/bed/chair/set_dir() ..() diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index 550b59d112c..bb1a62e40bd 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -176,9 +176,7 @@ if(pulling) occupant.visible_message("[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!") - pulling.attack_log += "\[[time_stamp()]\] Crashed [occupant.name]'s ([occupant.ckey]) [name] into \a [A]" - occupant.attack_log += "\[[time_stamp()]\] Thrusted into \a [A] by [pulling.name] ([pulling.ckey]) with \the [name]" - msg_admin_attack("[pulling.name] ([pulling.ckey]) has thrusted [occupant.name]'s ([occupant.ckey]) [name] into \a [A] (JMP)") + add_attack_logs(pulling,occupant,"Crashed their [name] into [A]") else occupant.visible_message("[occupant] crashed into \the [A]!") diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm index 83396b363e9..646e52218c1 100644 --- a/code/game/objects/structures/target_stake.dm +++ b/code/game/objects/structures/target_stake.dm @@ -29,7 +29,7 @@ W.density = 1 user.remove_from_mob(W) W.loc = loc - W.layer = 3.1 + W.layer = ABOVE_JUNK_LAYER pinned_target = W user << "You slide the target into the stake." return diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 0f9b4a603a8..c260103a567 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/pipes/transit_tube.dmi' icon_state = "E-W" density = 1 - layer = 3.1 + layer = ABOVE_JUNK_LAYER anchored = 1.0 var/list/tube_dirs = null var/exit_delay = 2 diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 3bdbca1b549..9882ca45070 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -411,9 +411,10 @@ R.cell.charge -= 20 else B.deductcharge(B.hitcost) + var/datum/gender/TU = gender_datums[user.get_visible_gender()] user.visible_message( \ - "[user] was stunned by \his wet [O]!", \ - "[user] was stunned by \his wet [O]!") + "[user] was stunned by [TU.his] wet [O]!", \ + "[user] was stunned by [TU.his] wet [O]!") return 1 else if(istype(O, /obj/item/weapon/mop)) O.reagents.add_reagent("water", 5) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index f4f1deff28e..36da7485adb 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -5,7 +5,7 @@ density = 1 w_class = ITEMSIZE_NORMAL - layer = 3.2//Just above doors + layer = WINDOW_LAYER pressure_resistance = 4*ONE_ATMOSPHERE anchored = 1.0 flags = ON_BORDER @@ -294,6 +294,21 @@ if(is_fulltile()) mats.amount = 4 qdel(src) + else if(iscoil(W) && reinf && state == 0 && !istype(src, /obj/structure/window/reinforced/polarized)) + var/obj/item/stack/cable_coil/C = W + if (C.use(1)) + playsound(src.loc, 'sound/effects/sparks1.ogg', 75, 1) + user.visible_message( \ + "\The [user] begins to wire \the [src] for electrochromic tinting.", \ + "You begin to wire \the [src] for electrochromic tinting.", \ + "You hear sparks.") + if(do_after(user, 20 * C.toolspeed, src) && state == 0) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + var/obj/structure/window/reinforced/polarized/P = new(loc, dir) + P.health = health + P.state = state + P.anchored = anchored + qdel(src) else if(istype(W,/obj/item/frame) && anchored) var/obj/item/frame/F = W F.try_build(src) @@ -447,7 +462,7 @@ if(ratio > 75) return - var/image/I = image(icon, "damage[ratio]", layer + 0.1) + var/image/I = image(icon, "damage[ratio]", layer = layer + 0.1) overlays += I return @@ -551,6 +566,28 @@ desc = "Adjusts its tint with voltage. Might take a few good hits to shatter it." var/id +/obj/structure/window/reinforced/polarized/full + dir = SOUTHWEST + icon_state = "fwindow" + maxhealth = 80 + +/obj/structure/window/reinforced/polarized/attackby(obj/item/W as obj, mob/user as mob) + if(ismultitool(W) && !anchored) // Only allow programming if unanchored! + var/obj/item/device/multitool/MT = W + // First check if they have a windowtint button buffered + if(istype(MT.connectable, /obj/machinery/button/windowtint)) + var/obj/machinery/button/windowtint/buffered_button = MT.connectable + src.id = buffered_button.id + to_chat(user, "\The [src] is linked to \the [buffered_button].") + return TRUE + // Otherwise fall back to asking them + var/t = sanitizeSafe(input(user, "Enter the ID for the window.", src.name, null), MAX_NAME_LEN) + if (!t && user.get_active_hand() != W && in_range(src, user)) + src.id = t + to_chat(user, "The new ID of \the [src] is [id]") + return TRUE + . = ..() + /obj/structure/window/reinforced/polarized/proc/toggle() if(opacity) animate(src, color="#FFFFFF", time=5) @@ -593,3 +630,20 @@ /obj/machinery/button/windowtint/update_icon() icon_state = "light[active]" + +/obj/machinery/button/windowtint/attackby(obj/item/W as obj, mob/user as mob) + if(ismultitool(W)) + var/obj/item/device/multitool/MT = W + if(!id) + // If no ID is set yet (newly built button?) let them select an ID for first-time use! + var/t = sanitizeSafe(input(user, "Enter an ID for \the [src].", src.name, null), MAX_NAME_LEN) + if (t && user.get_active_hand() != W && in_range(src, user)) + src.id = t + to_chat(user, "The new ID of \the [src] is [id]") + if(id) + // It already has an ID (or they just set one), buffer it for copying to windows. + to_chat(user, "You store \the [src] in \the [MT]'s buffer!") + MT.connectable = src + MT.update_icon() + return TRUE + . = ..() diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm index d0db6e7f08b..e2714be7571 100644 --- a/code/game/objects/structures/window_spawner.dm +++ b/code/game/objects/structures/window_spawner.dm @@ -26,7 +26,7 @@ return FALSE /obj/effect/wingrille_spawn/initialize() - ..() + . = ..() if(!win_path) return if(ticker && ticker.current_state < GAME_STATE_PLAYING) diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index 7a619477eaf..c9a4babd9ef 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -2,6 +2,7 @@ name = "weapon" icon = 'icons/obj/weapons.dmi' hitsound = "swing_hit" + var/can_cleave = FALSE // If true, a 'cleaving' attack will occur. var/cleaving = FALSE // Used to avoid infinite cleaving. /obj/item/weapon/Bump(mob/M as mob) @@ -16,14 +17,17 @@ ) // Attacks mobs (atm only simple ones due to friendly fire issues) that are adjacent to the target and user. -/obj/item/weapon/proc/cleave(var/mob/living/user, var/mob/living/target) +/obj/item/weapon/proc/cleave(mob/living/user, atom/target) if(cleaving) - return // We're busy. + return FALSE // We're busy. + if(!target.Adjacent(user)) + return FALSE // Too far. if(get_turf(user) == get_turf(target)) - return // Otherwise we would hit all eight surrounding tiles. + return FALSE // Otherwise we would hit all eight surrounding tiles. + cleaving = TRUE var/hit_mobs = 0 - for(var/mob/living/simple_animal/SA in orange(get_turf(target), 1)) + for(var/mob/living/simple_animal/SA in range(get_turf(target), 1)) if(SA.stat == DEAD) // Don't beat a dead horse. continue if(SA == user) // Don't hit ourselves. Simple mobs shouldn't be able to do this but that might change later to be able to hit all mob/living-s. @@ -42,6 +46,13 @@ if(hit_mobs) to_chat(user, "You used \the [src] to attack [hit_mobs] other thing\s!") cleaving = FALSE // We're done now. + return hit_mobs > 0 // Returns TRUE if anything got hit. + +// This cannot go into afterattack since some mobs delete themselves upon dying. +/obj/item/weapon/material/pre_attack(mob/living/target, mob/living/user) + if(can_cleave && istype(target)) + cleave(user, target) + ..() // This is purely the visual effect of cleaving. /obj/item/weapon/proc/cleave_visual(var/mob/living/user, var/mob/living/target) diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 51ec43e32f1..c76967545e4 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -18,7 +18,7 @@ else return ..() /obj/structure/shuttle/window/initialize() - ..() + . = ..() auto_join() /obj/structure/shuttle/window/proc/auto_join() diff --git a/code/game/sound.dm b/code/game/sound.dm index afeeaafcaef..2db1e433bde 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -1,107 +1,50 @@ -//Sound environment defines. Reverb preset for sounds played in an area, see sound datum reference for more. -#define GENERIC 0 -#define PADDED_CELL 1 -#define ROOM 2 -#define BATHROOM 3 -#define LIVINGROOM 4 -#define STONEROOM 5 -#define AUDITORIUM 6 -#define CONCERT_HALL 7 -#define CAVE 8 -#define ARENA 9 -#define HANGAR 10 -#define CARPETED_HALLWAY 11 -#define HALLWAY 12 -#define STONE_CORRIDOR 13 -#define ALLEY 14 -#define FOREST 15 -#define CITY 16 -#define MOUNTAINS 17 -#define QUARRY 18 -#define PLAIN 19 -#define PARKING_LOT 20 -#define SEWER_PIPE 21 -#define UNDERWATER 22 -#define DRUGGED 23 -#define DIZZY 24 -#define PSYCHOTIC 25 - -#define STANDARD_STATION STONEROOM -#define LARGE_ENCLOSED HANGAR -#define SMALL_ENCLOSED BATHROOM -#define TUNNEL_ENCLOSED CAVE -#define LARGE_SOFTFLOOR CARPETED_HALLWAY -#define MEDIUM_SOFTFLOOR LIVINGROOM -#define SMALL_SOFTFLOOR ROOM -#define ASTEROID CAVE -#define SPACE UNDERWATER - -var/list/shatter_sound = list('sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg') -var/list/explosion_sound = list('sound/effects/Explosion1.ogg','sound/effects/Explosion2.ogg','sound/effects/Explosion3.ogg','sound/effects/Explosion4.ogg','sound/effects/Explosion5.ogg','sound/effects/Explosion6.ogg') -var/list/spark_sound = list('sound/effects/sparks1.ogg','sound/effects/sparks2.ogg','sound/effects/sparks3.ogg','sound/effects/sparks5.ogg','sound/effects/sparks6.ogg','sound/effects/sparks7.ogg') -var/list/rustle_sound = list('sound/effects/rustle1.ogg','sound/effects/rustle2.ogg','sound/effects/rustle3.ogg','sound/effects/rustle4.ogg','sound/effects/rustle5.ogg') -var/list/punch_sound = list('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg') -var/list/clown_sound = list('sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg') -var/list/swing_hit_sound = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg') -var/list/hiss_sound = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') -var/list/page_sound = list('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg') -var/list/fracture_sound = list('sound/effects/bonebreak1.ogg','sound/effects/bonebreak2.ogg','sound/effects/bonebreak3.ogg','sound/effects/bonebreak4.ogg') -var/list/casing_sound = list ('sound/weapons/casingfall1.ogg','sound/weapons/casingfall2.ogg','sound/weapons/casingfall3.ogg') -var/list/keyboard_sound = list ('sound/effects/keyboard/keyboard1.ogg','sound/effects/keyboard/keyboard2.ogg','sound/effects/keyboard/keyboard3.ogg', 'sound/effects/keyboard/keyboard4.ogg') -var/list/mechstep_sound = list('sound/mecha/mechstep1.ogg', 'sound/mecha/mechstep2.ogg') -var/list/bodyfall_sound = list('sound/effects/bodyfall1.ogg','sound/effects/bodyfall2.ogg','sound/effects/bodyfall3.ogg','sound/effects/bodyfall4.ogg') -var/list/can_sound = list('sound/effects/can_open1.ogg','sound/effects/can_open2.ogg','sound/effects/can_open3.ogg','sound/effects/can_open4.ogg') -var/list/geiger_sound = list('sound/items/geiger1.ogg', 'sound/items/geiger2.ogg', 'sound/items/geiger3.ogg', 'sound/items/geiger4.ogg', 'sound/items/geiger5.ogg') -var/list/geiger_weak_sound = list('sound/items/geiger_weak1.ogg', 'sound/items/geiger_weak2.ogg', 'sound/items/geiger_weak3.ogg', 'sound/items/geiger_weak4.ogg') - -//var/list/gun_sound = list('sound/weapons/Gunshot.ogg', 'sound/weapons/Gunshot2.ogg','sound/weapons/Gunshot3.ogg','sound/weapons/Gunshot4.ogg') - -/proc/playsound(var/atom/source, soundin, vol as num, vary, extrarange as num, falloff, var/is_global, var/frequency) - - soundin = get_sfx(soundin) // same sound for everyone - +/proc/playsound(atom/source, soundin, vol as num, vary, extrarange as num, falloff, is_global, frequency = null, channel = 0, pressure_affected = TRUE, ignore_walls = TRUE, preference = null) if(isarea(source)) - error("[source] is an area and is trying to make the sound: [soundin]") + throw EXCEPTION("playsound(): source is an area") return - frequency = isnull(frequency) ? get_rand_frequency() : frequency // Same frequency for everybody var/turf/turf_source = get_turf(source) + //allocate a channel if necessary now so its the same for everyone + channel = channel || open_sound_channel() + // Looping through the player list has the added bonus of working for mobs inside containers - for (var/P in player_list) + var/sound/S = sound(get_sfx(soundin)) + var/maxdistance = (world.view + extrarange) * 3 + var/list/listeners = player_list + if(!ignore_walls) //these sounds don't carry through walls + listeners = listeners & hearers(maxdistance,turf_source) + for(var/P in listeners) var/mob/M = P if(!M || !M.client) continue + var/turf/T = get_turf(M) + var/distance = get_dist(T, turf_source) - var/distance = get_dist(M, turf_source) - if(distance <= (world.view + extrarange) * 3) - var/turf/T = get_turf(M) - + if(distance <= maxdistance) if(T && T.z == turf_source.z) - M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, is_global) + M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, is_global, channel, pressure_affected, S) -var/const/FALLOFF_SOUNDS = 0.5 +/mob/proc/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, is_global, channel = 0, pressure_affected = TRUE, sound/S, preference) + if(!client || ear_deaf > 0) + return + if(preference && !client.is_preference_enabled(preference)) + return -/mob/proc/playsound_local(var/turf/turf_source, soundin, vol as num, vary, frequency, falloff, is_global) - if(!src.client || ear_deaf > 0) return - soundin = get_sfx(soundin) + if(!S) + S = sound(get_sfx(soundin)) - var/sound/S = sound(soundin) S.wait = 0 //No queue - S.channel = 0 //Any channel + S.channel = channel || open_sound_channel() S.volume = vol - S.environment = -1 - if (vary) + + if(vary) if(frequency) S.frequency = frequency else S.frequency = get_rand_frequency() - //sound volume falloff with pressure - var/pressure_factor = 1.0 - if(isturf(turf_source)) - // 3D sounds, the technology is here! var/turf/T = get_turf(src) //sound volume falloff with distance @@ -109,24 +52,32 @@ var/const/FALLOFF_SOUNDS = 0.5 S.volume -= max(distance - world.view, 0) * 2 //multiplicative falloff to add on top of natural audio falloff. - var/datum/gas_mixture/hearer_env = T.return_air() - var/datum/gas_mixture/source_env = turf_source.return_air() + //Atmosphere affects sound + var/pressure_factor = 1 + if(pressure_affected) + var/datum/gas_mixture/hearer_env = T.return_air() + var/datum/gas_mixture/source_env = turf_source.return_air() - if (hearer_env && source_env) - var/pressure = min(hearer_env.return_pressure(), source_env.return_pressure()) + if(hearer_env && source_env) + var/pressure = min(hearer_env.return_pressure(), source_env.return_pressure()) + if(pressure < ONE_ATMOSPHERE) + pressure_factor = max((pressure - SOUND_MINIMUM_PRESSURE)/(ONE_ATMOSPHERE - SOUND_MINIMUM_PRESSURE), 0) + else //space + pressure_factor = 0 - if (pressure < ONE_ATMOSPHERE) - pressure_factor = max((pressure - SOUND_MINIMUM_PRESSURE)/(ONE_ATMOSPHERE - SOUND_MINIMUM_PRESSURE), 0) - else //in space - pressure_factor = 0 + if(distance <= 1) + pressure_factor = max(pressure_factor, 0.15) //touching the source of the sound - if (distance <= 1) - pressure_factor = max(pressure_factor, 0.15) //hearing through contact + S.volume *= pressure_factor + //End Atmosphere affecting sound - S.volume *= pressure_factor + //Don't bother with doing anything below. + if(S.volume <= 0) + return //No sound - if (S.volume <= 0) - return //no volume means no sound + //Apply a sound environment. + if(!is_global) + S.environment = get_sound_env(pressure_factor) var/dx = turf_source.x - T.x // Hearing from the right/left S.x = dx @@ -136,58 +87,52 @@ var/const/FALLOFF_SOUNDS = 0.5 S.y = 1 S.falloff = (falloff ? falloff : FALLOFF_SOUNDS) - if(!is_global) - - if(istype(src,/mob/living/)) - var/mob/living/M = src - if (M.hallucination) - S.environment = PSYCHOTIC - else if (M.druggy) - S.environment = DRUGGED - else if (M.drowsyness) - S.environment = DIZZY - else if (M.confused) - S.environment = DIZZY - else if (M.sleeping) - S.environment = UNDERWATER - else if (pressure_factor < 0.5) - S.environment = SPACE - else - var/area/A = get_area(src) - S.environment = A.sound_env - - else if (pressure_factor < 0.5) - S.environment = SPACE - else - var/area/A = get_area(src) - S.environment = A.sound_env - src << S +/proc/sound_to_playing_players(sound, volume = 100, vary) + sound = get_sfx(sound) + for(var/M in player_list) + if(ismob(M) && !isnewplayer(M)) + var/mob/MO = M + MO.playsound_local(get_turf(MO), sound, volume, vary, pressure_affected = FALSE) + +/proc/open_sound_channel() + var/static/next_channel = 1 //loop through the available 1024 - (the ones we reserve) channels and pray that its not still being used + . = ++next_channel + if(next_channel > CHANNEL_HIGHEST_AVAILABLE) + next_channel = 1 + +/mob/proc/stop_sound_channel(chan) + src << sound(null, repeat = 0, wait = 0, channel = chan) + +/proc/get_rand_frequency() + return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. + /client/proc/playtitlemusic() if(!ticker || !ticker.login_music) return if(is_preference_enabled(/datum/client_preference/play_lobby_music)) src << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS -/proc/get_rand_frequency() - return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. - /proc/get_sfx(soundin) if(istext(soundin)) switch(soundin) - if ("shatter") soundin = pick(shatter_sound) - if ("explosion") soundin = pick(explosion_sound) - if ("sparks") soundin = pick(spark_sound) - if ("rustle") soundin = pick(rustle_sound) - if ("punch") soundin = pick(punch_sound) - if ("clownstep") soundin = pick(clown_sound) - if ("swing_hit") soundin = pick(swing_hit_sound) - if ("hiss") soundin = pick(hiss_sound) - if ("pageturn") soundin = pick(page_sound) - if ("fracture") soundin = pick(fracture_sound) - if ("canopen") soundin = pick(can_sound) - if ("mechstep") soundin = pick(mechstep_sound) - //if ("gunshot") soundin = pick(gun_sound) - if("geiger") soundin = pick(geiger_sound) - if("geiger_weak") soundin = pick(geiger_weak_sound) + if ("shatter") soundin = pick('sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg') + if ("explosion") soundin = pick('sound/effects/Explosion1.ogg','sound/effects/Explosion2.ogg','sound/effects/Explosion3.ogg','sound/effects/Explosion4.ogg','sound/effects/Explosion5.ogg','sound/effects/Explosion6.ogg') + if ("sparks") soundin = pick('sound/effects/sparks1.ogg','sound/effects/sparks2.ogg','sound/effects/sparks3.ogg','sound/effects/sparks5.ogg','sound/effects/sparks6.ogg','sound/effects/sparks7.ogg') + if ("rustle") soundin = pick('sound/effects/rustle1.ogg','sound/effects/rustle2.ogg','sound/effects/rustle3.ogg','sound/effects/rustle4.ogg','sound/effects/rustle5.ogg') + if ("punch") soundin = pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg') + if ("clownstep") soundin = pick('sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg') + if ("swing_hit") soundin = pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg') + if ("hiss") soundin = pick('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') + if ("pageturn") soundin = pick('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg') + if ("fracture") soundin = pick('sound/effects/bonebreak1.ogg','sound/effects/bonebreak2.ogg','sound/effects/bonebreak3.ogg','sound/effects/bonebreak4.ogg') + if ("canopen") soundin = pick('sound/effects/can_open1.ogg','sound/effects/can_open2.ogg','sound/effects/can_open3.ogg','sound/effects/can_open4.ogg') + if ("mechstep") soundin = pick('sound/mecha/mechstep1.ogg', 'sound/mecha/mechstep2.ogg') + if ("geiger") soundin = pick('sound/items/geiger1.ogg', 'sound/items/geiger2.ogg', 'sound/items/geiger3.ogg', 'sound/items/geiger4.ogg', 'sound/items/geiger5.ogg') + if ("geiger_weak") soundin = pick('sound/items/geiger_weak1.ogg', 'sound/items/geiger_weak2.ogg', 'sound/items/geiger_weak3.ogg', 'sound/items/geiger_weak4.ogg') return soundin + +//Are these even used? +var/list/casing_sound = list ('sound/weapons/casingfall1.ogg','sound/weapons/casingfall2.ogg','sound/weapons/casingfall3.ogg') +var/list/keyboard_sound = list ('sound/effects/keyboard/keyboard1.ogg','sound/effects/keyboard/keyboard2.ogg','sound/effects/keyboard/keyboard3.ogg', 'sound/effects/keyboard/keyboard4.ogg') +var/list/bodyfall_sound = list('sound/effects/bodyfall1.ogg','sound/effects/bodyfall2.ogg','sound/effects/bodyfall3.ogg','sound/effects/bodyfall4.ogg') diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index f9331eac1d7..3cc0bb8ab9e 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -1,8 +1,8 @@ //Config stuff -#define SUPPLY_DOCKZ 2 //Z-level of the Dock. -#define SUPPLY_STATIONZ 1 //Z-level of the Station. -#define SUPPLY_STATION_AREATYPE "/area/supply/station" //Type of the supply shuttle area for station -#define SUPPLY_DOCK_AREATYPE "/area/supply/dock" //Type of the supply shuttle area for dock +#define SUPPLY_DOCKZ 2 //Z-level of the Dock. +#define SUPPLY_STATIONZ 1 //Z-level of the Station. +#define SUPPLY_STATION_AREATYPE "/area/supply/station" //Type of the supply shuttle area for station +#define SUPPLY_DOCK_AREATYPE "/area/supply/dock" //Type of the supply shuttle area for dock //Supply packs are in /code/defines/obj/supplypacks.dm //Computers are in /code/game/machinery/computer/supply.dm @@ -10,304 +10,324 @@ var/datum/controller/supply/supply_controller = new() var/list/mechtoys = list( - /obj/item/toy/prize/ripley, - /obj/item/toy/prize/fireripley, - /obj/item/toy/prize/deathripley, - /obj/item/toy/prize/gygax, - /obj/item/toy/prize/durand, - /obj/item/toy/prize/honk, - /obj/item/toy/prize/marauder, - /obj/item/toy/prize/seraph, - /obj/item/toy/prize/mauler, - /obj/item/toy/prize/odysseus, - /obj/item/toy/prize/phazon + /obj/item/toy/prize/ripley, + /obj/item/toy/prize/fireripley, + /obj/item/toy/prize/deathripley, + /obj/item/toy/prize/gygax, + /obj/item/toy/prize/durand, + /obj/item/toy/prize/honk, + /obj/item/toy/prize/marauder, + /obj/item/toy/prize/seraph, + /obj/item/toy/prize/mauler, + /obj/item/toy/prize/odysseus, + /obj/item/toy/prize/phazon ) /obj/item/weapon/paper/manifest - name = "supply manifest" - var/is_copy = 1 + name = "supply manifest" + var/is_copy = 1 /area/supply/station - name = "Supply Shuttle" - icon_state = "shuttle3" - requires_power = 0 - base_turf = /turf/space + name = "Supply Shuttle" + icon_state = "shuttle3" + requires_power = 0 + base_turf = /turf/space /area/supply/dock - name = "Supply Shuttle" - icon_state = "shuttle3" - requires_power = 0 - base_turf = /turf/space + name = "Supply Shuttle" + icon_state = "shuttle3" + requires_power = 0 + base_turf = /turf/space /obj/structure/plasticflaps //HOW DO YOU CALL THOSE THINGS ANYWAY - name = "\improper plastic flaps" - desc = "Completely impassable - or are they?" - icon = 'icons/obj/stationobjs.dmi' //Change this. - icon_state = "plasticflaps" - density = 0 - anchored = 1 - layer = 4 - explosion_resistance = 5 - var/list/mobs_can_pass = list( - /mob/living/bot, - /mob/living/simple_animal/slime, - /mob/living/simple_animal/mouse, - /mob/living/silicon/robot/drone - ) + name = "\improper plastic flaps" + desc = "Completely impassable - or are they?" + icon = 'icons/obj/stationobjs.dmi' //Change this. + icon_state = "plasticflaps" + density = 0 + anchored = 1 + layer = MOB_LAYER + plane = MOB_PLANE + explosion_resistance = 5 + var/list/mobs_can_pass = list( + /mob/living/bot, + /mob/living/simple_animal/slime, + /mob/living/simple_animal/mouse, + /mob/living/silicon/robot/drone + ) /obj/structure/plasticflaps/attackby(obj/item/P, mob/user) - if(istype(P, /obj/item/weapon/wirecutters)) - playsound(src, P.usesound, 50, 1) - user << "You start to cut the plastic flaps." - if(do_after(user, 10 * P.toolspeed)) - user << "You cut the plastic flaps." - var/obj/item/stack/material/plastic/A = new /obj/item/stack/material/plastic( src.loc ) - A.amount = 4 - qdel(src) - return - else - return + if(istype(P, /obj/item/weapon/wirecutters)) + playsound(src, P.usesound, 50, 1) + user << "You start to cut the plastic flaps." + if(do_after(user, 10 * P.toolspeed)) + user << "You cut the plastic flaps." + var/obj/item/stack/material/plastic/A = new /obj/item/stack/material/plastic( src.loc ) + A.amount = 4 + qdel(src) + return + else + return /obj/structure/plasticflaps/CanPass(atom/A, turf/T) - if(istype(A) && A.checkpass(PASSGLASS)) - return prob(60) + if(istype(A) && A.checkpass(PASSGLASS)) + return prob(60) - var/obj/structure/bed/B = A - if (istype(A, /obj/structure/bed) && B.has_buckled_mobs())//if it's a bed/chair and someone is buckled, it will not pass - return 0 + var/obj/structure/bed/B = A + if (istype(A, /obj/structure/bed) && B.has_buckled_mobs())//if it's a bed/chair and someone is buckled, it will not pass + return 0 - if(istype(A, /obj/vehicle)) //no vehicles - return 0 + if(istype(A, /obj/vehicle)) //no vehicles + return 0 - var/mob/living/M = A - if(istype(M)) - if(M.lying) - return ..() - for(var/mob_type in mobs_can_pass) - if(istype(A, mob_type)) - return ..() - return issmall(M) + var/mob/living/M = A + if(istype(M)) + if(M.lying) + return ..() + for(var/mob_type in mobs_can_pass) + if(istype(A, mob_type)) + return ..() + return issmall(M) - return ..() + return ..() /obj/structure/plasticflaps/ex_act(severity) - switch(severity) - if (1) - qdel(src) - if (2) - if (prob(50)) - qdel(src) - if (3) - if (prob(5)) - qdel(src) + switch(severity) + if (1) + qdel(src) + if (2) + if (prob(50)) + qdel(src) + if (3) + if (prob(5)) + qdel(src) /obj/structure/plasticflaps/mining //A specific type for mining that doesn't allow airflow because of them damn crates - name = "airtight plastic flaps" - desc = "Heavy duty, airtight, plastic flaps." + name = "airtight plastic flaps" + desc = "Heavy duty, airtight, plastic flaps." - New() //set the turf below the flaps to block air - var/turf/T = get_turf(loc) - if(T) - T.blocks_air = 1 - ..() +/obj/structure/plasticflaps/mining/New() //set the turf below the flaps to block air + var/turf/T = get_turf(loc) + if(T) + T.blocks_air = 1 + ..() - Destroy() //lazy hack to set the turf to allow air to pass if it's a simulated floor - var/turf/T = get_turf(loc) - if(T) - if(istype(T, /turf/simulated/floor)) - T.blocks_air = 0 - ..() +/obj/structure/plasticflaps/mining/Destroy() //lazy hack to set the turf to allow air to pass if it's a simulated floor + var/turf/T = get_turf(loc) + if(T && istype(T, /turf/simulated/floor)) + T.blocks_air = 0 + ..() /* /obj/effect/marker/supplymarker - icon_state = "X" - icon = 'icons/misc/mark.dmi' - name = "X" - invisibility = 101 - anchored = 1 - opacity = 0 + icon_state = "X" + icon = 'icons/misc/mark.dmi' + name = "X" + invisibility = 101 + anchored = 1 + opacity = 0 */ /datum/supply_order - var/ordernum - var/datum/supply_packs/object = null - var/orderedby = null - var/comment = null + var/ordernum + var/datum/supply_packs/object = null + var/orderedby = null + var/comment = null + +/datum/exported_crate + var/name + var/value /datum/controller/supply - //supply points - var/points = 50 - var/points_per_process = 1.5 - var/points_per_slip = 2 - var/points_per_platinum = 5 // 5 points per sheet - var/points_per_phoron = 5 - var/points_per_money = 0.02 - //control - var/ordernum - var/list/shoppinglist = list() - var/list/requestlist = list() - var/list/supply_packs = list() - //shuttle movement - var/movetime = 1200 - var/datum/shuttle/ferry/supply/shuttle + //supply points + var/points = 50 + var/points_per_process = 1.5 + var/points_per_slip = 2 + var/points_per_platinum = 5 // 5 points per sheet + var/points_per_phoron = 5 + var/points_per_money = 0.02 + //control + var/ordernum + var/list/shoppinglist = list() + var/list/requestlist = list() + var/list/supply_packs = list() + var/list/exported_crates = list() + //shuttle movement + var/movetime = 1200 + var/datum/shuttle/ferry/supply/shuttle - New() - ordernum = rand(1,9000) +/datum/controller/supply/New() + ordernum = rand(1,9000) - for(var/typepath in (typesof(/datum/supply_packs) - /datum/supply_packs)) - var/datum/supply_packs/P = new typepath() - supply_packs[P.name] = P + for(var/typepath in (typesof(/datum/supply_packs) - /datum/supply_packs)) + var/datum/supply_packs/P = new typepath() + supply_packs[P.name] = P - // Supply shuttle ticker - handles supply point regeneration - // This is called by the process scheduler every thirty seconds - proc/process() - points += points_per_process +// Supply shuttle ticker - handles supply point regeneration +// This is called by the process scheduler every thirty seconds +/datum/controller/supply/proc/process() + points += points_per_process - //To stop things being sent to CentCom which should not be sent to centcomm. Recursively checks for these types. - proc/forbidden_atoms_check(atom/A) - if(istype(A,/mob/living)) - return 1 - if(istype(A,/obj/item/weapon/disk/nuclear)) - return 1 - if(istype(A,/obj/machinery/nuclearbomb)) - return 1 - if(istype(A,/obj/item/device/radio/beacon)) - return 1 +//To stop things being sent to CentCom which should not be sent to centcomm. Recursively checks for these types. +/datum/controller/supply/proc/forbidden_atoms_check(atom/A) + if(isliving(A)) + return 1 + if(istype(A,/obj/item/weapon/disk/nuclear)) + return 1 + if(istype(A,/obj/machinery/nuclearbomb)) + return 1 + if(istype(A,/obj/item/device/radio/beacon)) + return 1 - for(var/i=1, i<=A.contents.len, i++) - var/atom/B = A.contents[i] - if(.(B)) - return 1 + for(var/i=1, i<=A.contents.len, i++) + var/atom/B = A.contents[i] + if(.(B)) + return 1 - //Sellin - proc/sell() - var/area/area_shuttle = shuttle.get_location_area() - if(!area_shuttle) return +//Sellin +/datum/controller/supply/proc/sell() + var/area/area_shuttle = shuttle.get_location_area() + if(!area_shuttle) return - callHook("sell_shuttle", list(area_shuttle)); + callHook("sell_shuttle", list(area_shuttle)); - var/phoron_count = 0 - var/plat_count = 0 - var/money_count = 0 + var/phoron_count = 0 + var/plat_count = 0 + var/money_count = 0 - for(var/atom/movable/MA in area_shuttle) - if(MA.anchored) continue + exported_crates = list() - // Must be in a crate! - if(istype(MA,/obj/structure/closet/crate)) - var/obj/structure/closet/crate/CR = MA - callHook("sell_crate", list(CR, area_shuttle)) + for(var/atom/movable/MA in area_shuttle) + if(MA.anchored) continue - points += CR.points_per_crate - var/find_slip = 1 + // Must be in a crate! + if(istype(MA,/obj/structure/closet/crate)) + var/oldpoints = points + var/oldphoron = phoron_count + var/oldplatinum = plat_count + var/oldmoney = money_count - for(var/atom in CR) - // Sell manifests - var/atom/A = atom - if(find_slip && istype(A,/obj/item/weapon/paper/manifest)) - var/obj/item/weapon/paper/manifest/slip = A - if(!slip.is_copy && slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense - points += points_per_slip - find_slip = 0 - continue + var/obj/structure/closet/crate/CR = MA + callHook("sell_crate", list(CR, area_shuttle)) - // Sell phoron and platinum - if(istype(A, /obj/item/stack)) - var/obj/item/stack/P = A - switch(P.get_material_name()) - if("phoron") phoron_count += P.get_amount() - if("platinum") plat_count += P.get_amount() + points += CR.points_per_crate + var/find_slip = 1 - //Sell spacebucks - if(istype(A, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/cashmoney = A - money_count += cashmoney.worth - qdel(MA) + for(var/atom in CR) + // Sell manifests + var/atom/A = atom + if(find_slip && istype(A,/obj/item/weapon/paper/manifest)) + var/obj/item/weapon/paper/manifest/slip = A + if(!slip.is_copy && slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense + points += points_per_slip + find_slip = 0 + continue - if(phoron_count) - points += phoron_count * points_per_phoron + // Sell phoron and platinum + if(istype(A, /obj/item/stack)) + var/obj/item/stack/P = A + switch(P.get_material_name()) + if("phoron") phoron_count += P.get_amount() + if("platinum") plat_count += P.get_amount() - if(plat_count) - points += plat_count * points_per_platinum + //Sell spacebucks + if(istype(A, /obj/item/weapon/spacecash)) + var/obj/item/weapon/spacecash/cashmoney = A + money_count += cashmoney.worth - if(money_count) - points += money_count * points_per_money + var/datum/exported_crate/EC = new /datum/exported_crate() + EC.name = CR.name + EC.value = points - oldpoints + EC.value += (phoron_count - oldphoron) * points_per_phoron + EC.value += (plat_count - oldplatinum) * points_per_platinum + EC.value += (money_count - oldmoney) * points_per_money + exported_crates += EC - //Buyin - proc/buy() - if(!shoppinglist.len) return + qdel(MA) - var/area/area_shuttle = shuttle.get_location_area() - if(!area_shuttle) return + points += phoron_count * points_per_phoron + points += plat_count * points_per_platinum + points += money_count * points_per_money - var/list/clear_turfs = list() +//Buyin +/datum/controller/supply/proc/buy() + if(!shoppinglist.len) + return - for(var/turf/T in area_shuttle) - if(T.density) continue - var/contcount - for(var/atom/A in T.contents) - if(!A.simulated) - continue - contcount++ - if(contcount) - continue - clear_turfs += T + var/orderedamount = shoppinglist.len - for(var/S in shoppinglist) - if(!clear_turfs.len) break - var/i = rand(1,clear_turfs.len) - var/turf/pickedloc = clear_turfs[i] - clear_turfs.Cut(i,i+1) - shoppinglist -= S + var/area/area_shuttle = shuttle.get_location_area() + if(!area_shuttle) + return - var/datum/supply_order/SO = S - var/datum/supply_packs/SP = SO.object + var/list/clear_turfs = list() - var/obj/A = new SP.containertype(pickedloc) - A.name = "[SP.containername] [SO.comment ? "([SO.comment])":"" ]" + for(var/turf/T in area_shuttle) + if(T.density) + continue + var/contcount + for(var/atom/A in T.contents) + if(!A.simulated) + continue + contcount++ + if(contcount) + continue + clear_turfs += T - //supply manifest generation begin + for(var/S in shoppinglist) + if(!clear_turfs.len) break + var/i = rand(1,clear_turfs.len) + var/turf/pickedloc = clear_turfs[i] + clear_turfs.Cut(i,i+1) + shoppinglist -= S - var/obj/item/weapon/paper/manifest/slip - if(!SP.contraband) - slip = new /obj/item/weapon/paper/manifest(A) - slip.is_copy = 0 - slip.info = "

[command_name()] Shipping Manifest



" - slip.info +="Order #[SO.ordernum]
" - slip.info +="Destination: [station_name()]
" - slip.info +="[shoppinglist.len] PACKAGES IN THIS SHIPMENT
" - slip.info +="CONTENTS:
    " + var/datum/supply_order/SO = S + var/datum/supply_packs/SP = SO.object - //spawn the stuff, finish generating the manifest while you're at it - if(SP.access) - if(isnum(SP.access)) - A.req_access = list(SP.access) - else if(islist(SP.access)) - var/list/L = SP.access // access var is a plain var, we need a list - A.req_access = L.Copy() - else - world << "Supply pack with invalid access restriction [SP.access] encountered!" + var/obj/A = new SP.containertype(pickedloc) + A.name = "[SP.containername] [SO.comment ? "([SO.comment])":"" ]" - var/list/contains - if(istype(SP,/datum/supply_packs/randomised)) - var/datum/supply_packs/randomised/SPR = SP - contains = list() - if(SPR.contains.len) - for(var/j=1,j<=SPR.num_contained,j++) - contains += pick(SPR.contains) - else - contains = SP.contains + //supply manifest generation begin + var/obj/item/weapon/paper/manifest/slip + if(!SP.contraband) + slip = new /obj/item/weapon/paper/manifest(A) + slip.is_copy = 0 + slip.info = "

    [command_name()] Shipping Manifest



    " + slip.info +="Order #[SO.ordernum]
    " + slip.info +="Destination: [station_name()]
    " + slip.info +="[orderedamount] PACKAGES IN THIS SHIPMENT
    " + slip.info +="CONTENTS:
      " - for(var/typepath in contains) - if(!typepath) continue - var/number_of_items = max(1, contains[typepath]) - for(var/j = 1 to number_of_items) - var/atom/B2 = new typepath(A) - if(slip) slip.info += "
    • [B2.name]
    • " //add the item to the manifest + //spawn the stuff, finish generating the manifest while you're at it + if(SP.access) + if(isnum(SP.access)) + A.req_access = list(SP.access) + else if(islist(SP.access)) + var/list/L = SP.access // access var is a plain var, we need a list + A.req_access = L.Copy() + else + log_debug("Supply pack with invalid access restriction [SP.access] encountered!") - //manifest finalisation - if(slip) - slip.info += "

    " - slip.info += "CHECK CONTENTS AND STAMP BELOW THE LINE TO CONFIRM RECEIPT OF GOODS
    " + var/list/contains + if(istype(SP,/datum/supply_packs/randomised)) + var/datum/supply_packs/randomised/SPR = SP + contains = list() + if(SPR.contains.len) + for(var/j=1,j<=SPR.num_contained,j++) + contains += pick(SPR.contains) + else + contains = SP.contains - return \ No newline at end of file + for(var/typepath in contains) + if(!typepath) continue + var/number_of_items = max(1, contains[typepath]) + for(var/j = 1 to number_of_items) + var/atom/B2 = new typepath(A) + if(slip) slip.info += "
  • [B2.name]
  • " //add the item to the manifest + + //manifest finalisation + if(slip) + slip.info += "

" + slip.info += "CHECK CONTENTS AND STAMP BELOW THE LINE TO CONFIRM RECEIPT OF GOODS
" + + return diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm index 4d708b2944c..c845657c74c 100644 --- a/code/game/turfs/flooring/flooring.dm +++ b/code/game/turfs/flooring/flooring.dm @@ -1,5 +1,10 @@ var/list/flooring_types +/proc/populate_flooring_types() + flooring_types = list() + for (var/flooring_path in typesof(/decl/flooring)) + flooring_types["[flooring_path]"] = new flooring_path + /proc/get_flooring_data(var/flooring_path) if(!flooring_types) flooring_types = list() @@ -62,6 +67,13 @@ var/list/flooring_types desc = "A layer of many tiny bits of frozen water. It's hard to tell how deep it is." icon = 'icons/turf/snow_new.dmi' icon_base = "snow" + footstep_sounds = list("human" = list( + 'sound/effects/footstep/snow1.ogg', + 'sound/effects/footstep/snow2.ogg', + 'sound/effects/footstep/snow3.ogg', + 'sound/effects/footstep/snow4.ogg', + 'sound/effects/footstep/snow5.ogg')) + /decl/flooring/snow/snow2 name = "snow" @@ -80,6 +92,11 @@ var/list/flooring_types icon_base = "snowyplating" flags = null +/decl/flooring/snow/ice + name = "ice" + desc = "Looks slippery." + icon_base = "ice" + /decl/flooring/snow/plating/drift icon_base = "snowyplayingdrift" @@ -133,6 +150,11 @@ var/list/flooring_types icon_base = "oracarpet" build_type = /obj/item/stack/tile/carpet/oracarpet +/decl/flooring/carpet/tealcarpet + name = "teal carpet" + icon_base = "tealcarpet" + build_type = /obj/item/stack/tile/carpet/teal + /decl/flooring/tiling name = "floor" desc = "Scuffed from the passage of countless greyshirts." @@ -260,7 +282,7 @@ var/list/flooring_types /decl/flooring/wood name = "wooden floor" - desc = "Polished redwood planks." + desc = "Polished wooden planks." icon = 'icons/turf/flooring/wood.dmi' icon_base = "wood" has_damage_range = 6 @@ -275,6 +297,13 @@ var/list/flooring_types 'sound/effects/footstep/wood4.ogg', 'sound/effects/footstep/wood5.ogg')) +/decl/flooring/wood/sif + name = "alien wooden floor" + desc = "Polished alien wood planks." + icon = 'icons/turf/flooring/wood.dmi' + icon_base = "sifwood" + build_type = /obj/item/stack/tile/wood/sif + /decl/flooring/reinforced name = "reinforced floor" desc = "Heavily reinforced with steel rods." diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm index 9c1968fd3cc..957cc20389e 100644 --- a/code/game/turfs/flooring/flooring_decals.dm +++ b/code/game/turfs/flooring/flooring_decals.dm @@ -6,7 +6,7 @@ var/list/floor_decals = list() /obj/effect/floor_decal name = "floor decal" icon = 'icons/turf/flooring/decals.dmi' - layer = DECALS_LAYER + plane = DECAL_PLANE var/supplied_dir /obj/effect/floor_decal/New(var/newloc, var/newdir, var/newcolour) @@ -14,15 +14,28 @@ var/list/floor_decals = list() if(newcolour) color = newcolour ..(newloc) -// Hack to workaround byond crash bug /obj/effect/floor_decal/initialize() - if(!floor_decals_initialized || !loc || QDELETED(src)) - return add_to_turf_decals() + initialized = TRUE + return INITIALIZE_HINT_QDEL + +// This is a separate proc from initialize() to facilitiate its caching and other stuff. Look into it someday. +/obj/effect/floor_decal/proc/add_to_turf_decals() + if(supplied_dir) + set_dir(supplied_dir) // TODO - Why can't this line be done in initialize/New()? var/turf/T = get_turf(src) - T.apply_decals() - qdel(src) - return + if(istype(T, /turf/simulated/floor) || istype(T, /turf/unsimulated/floor) || istype(T, /turf/simulated/shuttle/floor)) + var/cache_key = "[alpha]-[color]-[dir]-[icon_state]-[T.layer]" + var/image/I = floor_decals[cache_key] + if(!I) + I = image(icon = icon, icon_state = icon_state, dir = dir) + I.layer = T.layer + I.color = color + I.alpha = alpha + floor_decals[cache_key] = I + LAZYADD(T.decals, I) // Add to its decals list (so it remembers to re-apply after it cuts overlays) + T.add_overlay(I) // Add to its current overlays too. + return T /obj/effect/floor_decal/reset name = "reset marker" @@ -32,8 +45,8 @@ var/list/floor_decals = list() if(T.decals && T.decals.len) T.decals.Cut() T.update_icon() - qdel(src) - return + initialized = TRUE + return INITIALIZE_HINT_QDEL /obj/effect/floor_decal/corner icon_state = "corner_white" diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm index 3f4020c1774..559e3ad3a23 100644 --- a/code/game/turfs/flooring/flooring_premade.dm +++ b/code/game/turfs/flooring/flooring_premade.dm @@ -14,6 +14,11 @@ icon_state = "blucarpet" initial_flooring = /decl/flooring/carpet/blucarpet +/turf/simulated/floor/carpet/tealcarpet + name = "teal carpet" + icon_state = "tealcarpet" + initial_flooring = /decl/flooring/carpet/tealcarpet + // Legacy support for existing paths for blue carpet /turf/simulated/floor/carpet/blue name = "blue carpet" @@ -63,6 +68,26 @@ icon_state = "wood" initial_flooring = /decl/flooring/wood +/turf/simulated/floor/wood/broken + icon_state = "wood_broken0" // This gets changed when spawned. + +/turf/simulated/floor/wood/broken/initialize() + break_tile() + return ..() + +/turf/simulated/floor/wood/sif + name = "alien wooden floor" + icon = 'icons/turf/flooring/wood.dmi' + icon_state = "sifwood" + initial_flooring = /decl/flooring/wood/sif + +/turf/simulated/floor/wood/sif/broken + icon_state = "sifwood_broken0" // This gets changed when spawned. + +/turf/simulated/floor/wood/sif/broken/initialize() + break_tile() + return ..() + /turf/simulated/floor/grass name = "grass patch" icon = 'icons/turf/flooring/grass.dmi' @@ -219,9 +244,8 @@ oxygen = 0 nitrogen = 0 -/turf/simulated/floor/reinforced/n20/New() - ..() - sleep(-1) +/turf/simulated/floor/reinforced/n20/initialize() + . = ..() if(!air) make_air() air.adjust_gas("sleeping_agent", ATMOSTANK_NITROUSOXIDE) @@ -400,11 +424,11 @@ . = ..() /turf/snow/update_icon() - overlays.Cut() + cut_overlays() for(var/d in crossed_dirs) var/amt = crossed_dirs[d] for(var/i in 1 to amt) - overlays += icon(icon, "footprint[i]", text2num(d)) + add_overlay(image(icon, "footprint[i]", text2num(d))) //**** Here ends snow **** \ No newline at end of file diff --git a/code/game/turfs/flooring/turf_overlay_holder.dm b/code/game/turfs/flooring/turf_overlay_holder.dm deleted file mode 100644 index a0326b8240f..00000000000 --- a/code/game/turfs/flooring/turf_overlay_holder.dm +++ /dev/null @@ -1,90 +0,0 @@ -// -// Initialize floor decals! Woo! This is crazy. -// - -var/global/floor_decals_initialized = FALSE - -// The Turf Decal Holder -// Since it is unsafe to add overlays to turfs, we hold them here for now. -// Since I want this object to basically not exist, I am modeling it in part after lighting_overlay -/atom/movable/turf_overlay_holder - name = "turf overlay holder" - density = 0 - simulated = 0 - anchored = 1 - layer = TURF_LAYER - icon = null - icon_state = null - mouse_opacity = 0 - auto_init = 0 - -/atom/movable/turf_overlay_holder/New(var/atom/newloc) - ..() - verbs.Cut() - var/turf/T = loc - T.overlay_holder = src - -/atom/movable/turf_overlay_holder/Destroy() - if(loc) - var/turf/T = loc - if(T.overlay_holder == src) - T.overlay_holder = null - . = ..() - -// Variety of overrides so the overlays don't get affected by weird things. -/atom/movable/turf_overlay_holder/ex_act() - return - -/atom/movable/turf_overlay_holder/singularity_act() - return - -/atom/movable/turf_overlay_holder/singularity_pull() - return - -/atom/movable/turf_overlay_holder/forceMove() - return 0 //should never move - -/atom/movable/turf_overlay_holder/Move() - return 0 - -/atom/movable/turf_overlay_holder/throw_at() - return 0 - -/obj/effect/floor_decal/proc/add_to_turf_decals() - if(src.supplied_dir) src.set_dir(src.supplied_dir) - var/turf/T = get_turf(src) - if(istype(T, /turf/simulated/floor) || istype(T, /turf/unsimulated/floor) || istype(T, /turf/simulated/shuttle/floor)) - var/cache_key = "[src.alpha]-[src.color]-[src.dir]-[src.icon_state]-[T.layer]" - var/image/I = floor_decals[cache_key] - if(!I) - I = image(icon = src.icon, icon_state = src.icon_state, dir = src.dir) - I.layer = T.layer - I.color = src.color - I.alpha = src.alpha - floor_decals[cache_key] = I - if(!T.decals) T.decals = list() - //world.log << "About to add img:\ref[I] onto decals at turf:\ref[T] ([T.x],[T.y],[T.z]) which has appearance:\ref[T.appearance] and decals.len=[T.decals.len]" - T.decals += I - return T - // qdel(D) - src.loc = null - src.tag = null - -// Changes to turf to let us do this -/turf - var/atom/movable/turf_overlay_holder/overlay_holder = null - -// After a turf change, destroy the old overlay holder since we will have lost access to it. -/turf/post_change() - var/atom/movable/turf_overlay_holder/TOH = locate(/atom/movable/turf_overlay_holder, src) - if(TOH) - qdel(TOH) - ..() - -/turf/proc/apply_decals() - if(decals) - if(!overlay_holder) - overlay_holder = new(src) - overlay_holder.overlays = src.decals - else if(overlay_holder) - overlay_holder.overlays.Cut() diff --git a/code/game/turfs/initialization/init.dm b/code/game/turfs/initialization/init.dm index c1e8be47d12..6c2d8ead295 100644 --- a/code/game/turfs/initialization/init.dm +++ b/code/game/turfs/initialization/init.dm @@ -1,16 +1,11 @@ -/datum/turf_initializer/proc/initialize(var/turf/T) +/datum/turf_initializer/proc/InitializeTurf(var/turf/T) return /area var/datum/turf_initializer/turf_initializer = null -/area/initialize() - ..() - var/list/minerals = list() - for(var/turf/simulated/T in src) - if(T.initialize()) - minerals += T - if(turf_initializer) - turf_initializer.initialize(T) - for(var/turf/simulated/mineral/M in minerals) - M.MineralSpread() +/area/LateInitialize() + . = ..() + if(turf_initializer) + for(var/turf/simulated/T in src) + turf_initializer.InitializeTurf(T) diff --git a/code/game/turfs/initialization/maintenance.dm b/code/game/turfs/initialization/maintenance.dm index 558f6385882..7347ec47db8 100644 --- a/code/game/turfs/initialization/maintenance.dm +++ b/code/game/turfs/initialization/maintenance.dm @@ -1,4 +1,4 @@ -/datum/turf_initializer/maintenance/initialize(var/turf/simulated/T) +/datum/turf_initializer/maintenance/InitializeTurf(var/turf/simulated/T) if(T.density) return // Quick and dirty check to avoid placing things inside windows diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index aac979ff5c7..e1565889378 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -21,16 +21,15 @@ spawn(0) wet = wet_val if(wet_overlay) - overlays -= wet_overlay - wet_overlay = null - wet_overlay = image('icons/effects/water.dmi',src,"wet_floor") - overlays += wet_overlay + cut_overlay(wet_overlay) + wet_overlay = image('icons/effects/water.dmi', icon_state = "wet_floor") + add_overlay(wet_overlay) sleep(800) if(wet == 2) sleep(3200) wet = 0 if(wet_overlay) - overlays -= wet_overlay + cut_overlay(wet_overlay) wet_overlay = null /turf/simulated/proc/freeze_floor() @@ -38,14 +37,14 @@ return wet = 3 // icy if(wet_overlay) - overlays -= wet_overlay + cut_overlay(wet_overlay) wet_overlay = null wet_overlay = image('icons/turf/overlays.dmi',src,"snowfloor") - overlays += wet_overlay + add_overlay(wet_overlay) spawn(5 MINUTES) wet = 0 if(wet_overlay) - overlays -= wet_overlay + cut_overlay(wet_overlay) wet_overlay = null /turf/simulated/clean_blood() @@ -59,9 +58,6 @@ holy = 1 levelupdate() -/turf/simulated/proc/initialize() - return - /turf/simulated/proc/AddTracks(var/typepath,var/bloodDNA,var/comingdir,var/goingdir,var/bloodcolor="#A10808") var/obj/effect/decal/cleanable/blood/tracks/tracks = locate(typepath) in src if(!tracks) diff --git a/code/game/turfs/simulated/dungeon/wall.dm b/code/game/turfs/simulated/dungeon/wall.dm index b6a8f53c27c..156fddac6a6 100644 --- a/code/game/turfs/simulated/dungeon/wall.dm +++ b/code/game/turfs/simulated/dungeon/wall.dm @@ -10,4 +10,28 @@ return /turf/simulated/wall/dungeon/ex_act() + return + +/turf/simulated/wall/solidrock //for more stylish anti-cheese. + icon_state = "bedrock" + var/base_state = "bedrock" + block_tele = TRUE + +/turf/simulated/wall/solidrock/update_icon() + for(var/direction in cardinal) + var/turf/T = get_step(src,direction) + if(istype(T) && !T.density) + var/place_dir = turn(direction, 180) + if(!mining_overlay_cache["rock_side_[place_dir]"]) + mining_overlay_cache["rock_side_[place_dir]"] = image('icons/turf/walls.dmi', "rock_side", dir = place_dir) + T.add_overlay(mining_overlay_cache["rock_side_[place_dir]"]) + +/turf/simulated/wall/solidrock/initialize() + icon_state = base_state + update_icon(1) + +/turf/simulated/wall/solidrock/attackby() + return + +/turf/simulated/wall/solidrock/ex_act() return \ No newline at end of file diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 336a34b2fe3..f471cc9bc01 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -53,7 +53,7 @@ //This proc auto corrects the grass tiles' siding. /turf/simulated/floor/proc/make_plating(var/place_product, var/defer_icon_update) - overlays.Cut() + cut_overlays() if(islist(decals)) decals.Cut() decals = null diff --git a/code/game/turfs/simulated/floor_attackby.dm b/code/game/turfs/simulated/floor_attackby.dm index ef36121b12c..91371e7beb5 100644 --- a/code/game/turfs/simulated/floor_attackby.dm +++ b/code/game/turfs/simulated/floor_attackby.dm @@ -3,41 +3,22 @@ if(!C || !user) return 0 + if(isliving(user) && istype(C, /obj/item/weapon)) + var/mob/living/L = user + if(L.a_intent != I_HELP) + attack_tile(C, L) // Be on help intent if you want to decon something. + return + if(flooring) - if(istype(C, /obj/item/weapon/crowbar)) - if(broken || burnt) - to_chat(user, "You remove the broken [flooring.descriptor].") - make_plating() - else if(flooring.flags & TURF_IS_FRAGILE) - to_chat(user, "You forcefully pry off the [flooring.descriptor], destroying them in the process.") - make_plating() - else if(flooring.flags & TURF_REMOVE_CROWBAR) - to_chat(user, "You lever off the [flooring.descriptor].") - make_plating(1) - else - return - playsound(src, C.usesound, 80, 1) - return - else if(istype(C, /obj/item/weapon/screwdriver) && (flooring.flags & TURF_REMOVE_SCREWDRIVER)) - if(broken || burnt) - return - to_chat(user, "You unscrew and remove the [flooring.descriptor].") - make_plating(1) - playsound(src, C.usesound, 80, 1) - return - else if(istype(C, /obj/item/weapon/wrench) && (flooring.flags & TURF_REMOVE_WRENCH)) - to_chat(user, "You unwrench and remove the [flooring.descriptor].") - make_plating(1) - playsound(src, C.usesound, 80, 1) - return - else if(istype(C, /obj/item/weapon/shovel) && (flooring.flags & TURF_REMOVE_SHOVEL)) - to_chat(user, "You shovel off the [flooring.descriptor].") - make_plating(1) - playsound(src, 'sound/items/Deconstruct.ogg', 80, 1) + if(istype(C, /obj/item/weapon)) + try_deconstruct_tile(C, user) return else if(istype(C, /obj/item/stack/cable_coil)) to_chat(user, "You must remove the [flooring.descriptor] first.") return + else if(istype(C, /obj/item/stack/tile)) + try_replace_tile(C, user) + return else if(istype(C, /obj/item/stack/cable_coil)) @@ -87,4 +68,48 @@ burnt = null broken = null else - to_chat(user, "You need more welding fuel to complete this task.") \ No newline at end of file + to_chat(user, "You need more welding fuel to complete this task.") + +/turf/simulated/floor/proc/try_deconstruct_tile(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/crowbar)) + if(broken || burnt) + to_chat(user, "You remove the broken [flooring.descriptor].") + make_plating() + else if(flooring.flags & TURF_IS_FRAGILE) + to_chat(user, "You forcefully pry off the [flooring.descriptor], destroying them in the process.") + make_plating() + else if(flooring.flags & TURF_REMOVE_CROWBAR) + to_chat(user, "You lever off the [flooring.descriptor].") + make_plating(1) + else + return 0 + playsound(src, W.usesound, 80, 1) + return 1 + else if(istype(W, /obj/item/weapon/screwdriver) && (flooring.flags & TURF_REMOVE_SCREWDRIVER)) + if(broken || burnt) + return 0 + to_chat(user, "You unscrew and remove the [flooring.descriptor].") + make_plating(1) + playsound(src, W.usesound, 80, 1) + return 1 + else if(istype(W, /obj/item/weapon/wrench) && (flooring.flags & TURF_REMOVE_WRENCH)) + to_chat(user, "You unwrench and remove the [flooring.descriptor].") + make_plating(1) + playsound(src, W.usesound, 80, 1) + return 1 + else if(istype(W, /obj/item/weapon/shovel) && (flooring.flags & TURF_REMOVE_SHOVEL)) + to_chat(user, "You shovel off the [flooring.descriptor].") + make_plating(1) + playsound(src, 'sound/items/Deconstruct.ogg', 80, 1) + return 1 + return 0 + +/turf/simulated/floor/proc/try_replace_tile(obj/item/stack/tile/T as obj, mob/user as mob) + if(T.type == flooring.build_type) + return + var/obj/item/weapon/W = user.is_holding_item_of_type(/obj/item/weapon) + if(!try_deconstruct_tile(W, user)) + return + if(flooring) + return + attackby(T, user) \ No newline at end of file diff --git a/code/game/turfs/simulated/floor_icon.dm b/code/game/turfs/simulated/floor_icon.dm index b2992e4a2ff..e1b49762ecd 100644 --- a/code/game/turfs/simulated/floor_icon.dm +++ b/code/game/turfs/simulated/floor_icon.dm @@ -4,9 +4,10 @@ var/image/no_ceiling_image = null /hook/startup/proc/setup_no_ceiling_image() cache_no_ceiling_image() + return TRUE /proc/cache_no_ceiling_image() - no_ceiling_image = image(icon = 'icons/turf/open_space.dmi', icon_state = "no_ceiling", layer = OVERTURF_LAYER) + no_ceiling_image = image(icon = 'icons/turf/open_space.dmi', icon_state = "no_ceiling") no_ceiling_image.plane = PLANE_MESONS /turf/simulated/floor/update_icon(var/update_neighbors) @@ -14,7 +15,7 @@ var/image/no_ceiling_image = null if(lava) return - overlays.Cut() + cut_overlays() if(flooring) // Set initial icon and strings. @@ -37,17 +38,17 @@ var/image/no_ceiling_image = null var/turf/simulated/floor/T = get_step(src, step_dir) if(!istype(T) || !T.flooring || T.flooring.name != flooring.name) has_border |= step_dir - overlays |= get_flooring_overlay("[flooring.icon_base]-edge-[step_dir]", "[flooring.icon_base]_edges", step_dir) + add_overlay(get_flooring_overlay("[flooring.icon_base]-edge-[step_dir]", "[flooring.icon_base]_edges", step_dir)) // There has to be a concise numerical way to do this but I am too noob. if((has_border & NORTH) && (has_border & EAST)) - overlays |= get_flooring_overlay("[flooring.icon_base]-edge-[NORTHEAST]", "[flooring.icon_base]_edges", NORTHEAST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-edge-[NORTHEAST]", "[flooring.icon_base]_edges", NORTHEAST)) if((has_border & NORTH) && (has_border & WEST)) - overlays |= get_flooring_overlay("[flooring.icon_base]-edge-[NORTHWEST]", "[flooring.icon_base]_edges", NORTHWEST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-edge-[NORTHWEST]", "[flooring.icon_base]_edges", NORTHWEST)) if((has_border & SOUTH) && (has_border & EAST)) - overlays |= get_flooring_overlay("[flooring.icon_base]-edge-[SOUTHEAST]", "[flooring.icon_base]_edges", SOUTHEAST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-edge-[SOUTHEAST]", "[flooring.icon_base]_edges", SOUTHEAST)) if((has_border & SOUTH) && (has_border & WEST)) - overlays |= get_flooring_overlay("[flooring.icon_base]-edge-[SOUTHWEST]", "[flooring.icon_base]_edges", SOUTHWEST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-edge-[SOUTHWEST]", "[flooring.icon_base]_edges", SOUTHWEST)) if(flooring.flags & TURF_HAS_CORNERS) // As above re: concise numerical way to do this. @@ -55,37 +56,36 @@ var/image/no_ceiling_image = null if(!(has_border & EAST)) var/turf/simulated/floor/T = get_step(src, NORTHEAST) if(!(istype(T) && T.flooring && T.flooring.name == flooring.name)) - overlays |= get_flooring_overlay("[flooring.icon_base]-corner-[NORTHEAST]", "[flooring.icon_base]_corners", NORTHEAST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-corner-[NORTHEAST]", "[flooring.icon_base]_corners", NORTHEAST)) if(!(has_border & WEST)) var/turf/simulated/floor/T = get_step(src, NORTHWEST) if(!(istype(T) && T.flooring && T.flooring.name == flooring.name)) - overlays |= get_flooring_overlay("[flooring.icon_base]-corner-[NORTHWEST]", "[flooring.icon_base]_corners", NORTHWEST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-corner-[NORTHWEST]", "[flooring.icon_base]_corners", NORTHWEST)) if(!(has_border & SOUTH)) if(!(has_border & EAST)) var/turf/simulated/floor/T = get_step(src, SOUTHEAST) if(!(istype(T) && T.flooring && T.flooring.name == flooring.name)) - overlays |= get_flooring_overlay("[flooring.icon_base]-corner-[SOUTHEAST]", "[flooring.icon_base]_corners", SOUTHEAST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-corner-[SOUTHEAST]", "[flooring.icon_base]_corners", SOUTHEAST)) if(!(has_border & WEST)) var/turf/simulated/floor/T = get_step(src, SOUTHWEST) if(!(istype(T) && T.flooring && T.flooring.name == flooring.name)) - overlays |= get_flooring_overlay("[flooring.icon_base]-corner-[SOUTHWEST]", "[flooring.icon_base]_corners", SOUTHWEST) + add_overlay(get_flooring_overlay("[flooring.icon_base]-corner-[SOUTHWEST]", "[flooring.icon_base]_corners", SOUTHWEST)) - // Hack workaround to byond crash bug - //if(decals && decals.len) - //overlays |= decals - apply_decals() + // Re-apply floor decals + if(LAZYLEN(decals)) + add_overlay(decals) if(is_plating() && !(isnull(broken) && isnull(burnt))) //temp, todo icon = 'icons/turf/flooring/plating.dmi' icon_state = "dmg[rand(1,4)]" else if(flooring) if(!isnull(broken) && (flooring.flags & TURF_CAN_BREAK)) - overlays |= get_flooring_overlay("[flooring.icon_base]-broken-[broken]","[flooring.icon_base]_broken[broken]") + add_overlay(get_flooring_overlay("[flooring.icon_base]-broken-[broken]","[flooring.icon_base]_broken[broken]")) if(!isnull(burnt) && (flooring.flags & TURF_CAN_BURN)) - overlays |= get_flooring_overlay("[flooring.icon_base]-burned-[burnt]","[flooring.icon_base]_burned[burnt]") + add_overlay(get_flooring_overlay("[flooring.icon_base]-burned-[burnt]","[flooring.icon_base]_burned[burnt]")) if(weather_overlay) - overlays += weather_overlay + add_overlay(weather_overlay) if(update_neighbors) for(var/turf/simulated/floor/F in range(src, 1)) @@ -96,7 +96,7 @@ var/image/no_ceiling_image = null // Show 'ceilingless' overlay. var/turf/above = GetAbove(src) if(above && isopenspace(above) && !istype(src, /turf/simulated/floor/outdoors)) // This won't apply to outdoor turfs since its assumed they don't have a ceiling anyways. - overlays |= no_ceiling_image + add_overlay(no_ceiling_image) /turf/simulated/floor/proc/get_flooring_overlay(var/cache_key, var/icon_base, var/icon_dir = 0) if(!flooring_cache[cache_key]) diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index f5beaf312d1..dc49c0d893a 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -12,18 +12,22 @@ var/turf/turf_type var/turf/simulated/shuttle/my_turf var/image/turf_image + var/list/decals New(var/location = null, var/turf/simulated/shuttle/turf) + ..(null) my_turf = turf /obj/landed_holder/proc/land_on(var/turf/T) //Gather destination information - var/old_dest_type = T.type - var/old_dest_dir = T.dir - var/old_dest_icon_state = T.icon_state - var/old_dest_icon = T.icon - var/list/old_dest_overlays = T.overlays.Copy() - var/list/old_dest_underlays = T.underlays.Copy() + var/obj/landed_holder/new_holder = new(null) + new_holder.turf_type = T.type + new_holder.dir = T.dir + new_holder.icon = T.icon + new_holder.icon_state = T.icon_state + new_holder.copy_overlays(T, TRUE) + new_holder.underlays = T.underlays.Copy() + new_holder.decals = T.decals ? T.decals.Copy() : null //Set the destination to be like us T.Destroy() @@ -31,23 +35,19 @@ new_dest.set_dir(my_turf.dir) new_dest.icon_state = my_turf.icon_state new_dest.icon = my_turf.icon - new_dest.overlays = my_turf.overlays + new_dest.copy_overlays(my_turf, TRUE) new_dest.underlays = my_turf.underlays - //Shuttle specific stuff + new_dest.decals = my_turf.decals + //Shuttle specific stuff new_dest.interior_corner = my_turf.interior_corner new_dest.takes_underlays = my_turf.takes_underlays new_dest.under_turf = my_turf.under_turf new_dest.join_flags = my_turf.join_flags new_dest.join_group = my_turf.join_group - //Tell the new turf about what was there before - new_dest.landed_holder = new(turf = new_dest) - new_dest.landed_holder.turf_type = old_dest_type - new_dest.landed_holder.dir = old_dest_dir - new_dest.landed_holder.icon = old_dest_icon - new_dest.landed_holder.icon_state = old_dest_icon_state - new_dest.landed_holder.overlays = old_dest_overlays - new_dest.landed_holder.underlays = old_dest_underlays + // Associate the holder with the new turf. + new_holder.my_turf = new_dest + new_dest.landed_holder = new_holder //Update underlays if necessary (interior corners won't have changed). if(new_dest.takes_underlays && !new_dest.interior_corner) @@ -63,8 +63,9 @@ new_source.set_dir(dir) new_source.icon_state = icon_state new_source.icon = icon - new_source.overlays = overlays + new_source.copy_overlays(src, TRUE) new_source.underlays = underlays + new_source.decals = decals else new_source = my_turf.ChangeTurf(get_base_turf_by_area(my_turf),,1) @@ -93,6 +94,8 @@ return 0 var/turf/under //May be a path or a turf + var/mutable_appearance/us = new(src) //We'll use this for changes later + us.underlays.Cut() //Mapper wanted something specific if(under_turf) @@ -100,8 +103,11 @@ //Well if this isn't our first rodeo, we know EXACTLY what we landed on, and it looks like this. if(landed_holder && !interior_corner) - underlays.Cut() - underlays += image(landed_holder,layer=FLOAT_LAYER) + var/mutable_appearance/landed_on = new(landed_holder) + landed_on.layer = FLOAT_LAYER //Not turf + landed_on.plane = FLOAT_PLANE //Not turf + us.underlays = list(landed_on) + appearance = us return if(!under) @@ -122,20 +128,26 @@ else under = get_base_turf_by_area(src) - var/use_icon = ispath(under) ? initial(under.icon) : under.icon - var/use_icon_state - if(istype(under,/turf/simulated/shuttle)) interior_corner = 1 //Prevents us from 'landing on grass' and having interior corners update. - if(ispath(under,/turf/space)) - use_icon_state = "[rand(1,25)]" //Space turfs should be random. - else - use_icon_state = ispath(under) ? initial(under.icon_state) : under.icon_state + var/mutable_appearance/under_ma - var/image/under_image = new(use_icon,icon_state = use_icon_state) - underlays.Cut() - underlays |= under_image + if(ispath(under)) //It's just a mapper-specified path + under_ma = new() + under_ma.icon = initial(under.icon) + under_ma.icon_state = initial(under.icon_state) + under_ma.color = initial(under.color) + + else //It's a real turf + under_ma = new(under) + + if(under_ma) + if(ispath(under,/turf/space)) //Scramble space turfs + under_ma.icon_state = "[rand(1,25)]" + us.underlays = list(under_ma) + + appearance = us return under @@ -174,7 +186,7 @@ block_tele = TRUE /turf/simulated/shuttle/floor/alien/initialize() - ..() + . = ..() icon_state = "alienpod[rand(1, 9)]" /turf/simulated/shuttle/floor/alienplating diff --git a/code/game/turfs/simulated/outdoors/grass.dm b/code/game/turfs/simulated/outdoors/grass.dm index d7926b526d2..218291815f2 100644 --- a/code/game/turfs/simulated/outdoors/grass.dm +++ b/code/game/turfs/simulated/outdoors/grass.dm @@ -32,7 +32,7 @@ var/list/grass_types = list( /turf/simulated/floor/outdoors/grass/sif/initialize() if(tree_chance && prob(tree_chance)) new /obj/structure/flora/tree/sif(src) - ..() + . = ..() /turf/simulated/floor/outdoors/grass/initialize() if(prob(50)) @@ -42,7 +42,7 @@ var/list/grass_types = list( if(grass_chance && prob(grass_chance)) var/grass_type = pick(grass_types) new grass_type(src) - ..() + . = ..() /turf/simulated/floor/outdoors/grass/forest name = "thick grass" diff --git a/code/game/turfs/simulated/outdoors/outdoors.dm b/code/game/turfs/simulated/outdoors/outdoors.dm index 941aa5abc90..34a07ef9c4d 100644 --- a/code/game/turfs/simulated/outdoors/outdoors.dm +++ b/code/game/turfs/simulated/outdoors/outdoors.dm @@ -22,7 +22,7 @@ var/list/outdoor_turfs = list() /turf/simulated/floor/outdoors/initialize() update_icon() - ..() + . = ..() /turf/simulated/floor/New() if(outdoors) @@ -44,7 +44,9 @@ var/list/outdoor_turfs = list() planet_controller.unallocateTurf(src) else // This is happening during map gen, if there's no planet_controller (hopefully). outdoor_turfs -= src - qdel(weather_overlay) + if(weather_overlay) + cut_overlay(weather_overlay) + qdel_null(weather_overlay) update_icon() /turf/simulated/post_change() @@ -67,15 +69,14 @@ var/list/outdoor_turfs = list() var/image/I = image(icon = 'icons/turf/outdoors_edge.dmi', icon_state = "[T.get_edge_icon_state()]-edge", dir = checkdir) I.plane = 0 turf_edge_cache[cache_key] = I - overlays += turf_edge_cache[cache_key] + add_overlay(turf_edge_cache[cache_key]) /turf/simulated/proc/get_edge_icon_state() return icon_state /turf/simulated/floor/outdoors/update_icon() - overlays.Cut() - update_icon_edge() ..() + update_icon_edge() /turf/simulated/floor/outdoors/mud name = "mud" diff --git a/code/game/turfs/simulated/outdoors/sky.dm b/code/game/turfs/simulated/outdoors/sky.dm index c7209f9fb37..c329fc2e4d1 100644 --- a/code/game/turfs/simulated/outdoors/sky.dm +++ b/code/game/turfs/simulated/outdoors/sky.dm @@ -13,6 +13,7 @@ phoron = 0 /turf/simulated/sky/initialize() + . = ..() outdoor_turfs.Add(src) set_light(2, 2, "#FFFFFF") diff --git a/code/game/turfs/simulated/outdoors/snow.dm b/code/game/turfs/simulated/outdoors/snow.dm index 398fa0dc476..5fed8af66ba 100644 --- a/code/game/turfs/simulated/outdoors/snow.dm +++ b/code/game/turfs/simulated/outdoors/snow.dm @@ -3,12 +3,14 @@ icon_state = "snow" edge_blending_priority = 6 movement_cost = 2 + initial_flooring = /decl/flooring/snow turf_layers = list( /turf/simulated/floor/outdoors/rocks, /turf/simulated/floor/outdoors/dirt ) var/list/crossed_dirs = list() + /turf/simulated/floor/outdoors/snow/Entered(atom/A) if(isliving(A)) var/mdir = "[A.dir]" @@ -17,10 +19,9 @@ . = ..() /turf/simulated/floor/outdoors/snow/update_icon() - overlays.Cut() ..() for(var/d in crossed_dirs) - overlays += image(icon = 'icons/turf/outdoors.dmi', icon_state = "snow_footprints", dir = text2num(d)) + add_overlay(image(icon = 'icons/turf/outdoors.dmi', icon_state = "snow_footprints", dir = text2num(d))) /turf/simulated/floor/outdoors/snow/attackby(var/obj/item/W, var/mob/user) if(istype(W, /obj/item/weapon/shovel)) @@ -40,4 +41,17 @@ var/obj/S = new /obj/item/stack/material/snow(user.loc) user.put_in_hands(S) visible_message("[user] scoops up a pile of snow.", "You scoop up a pile of snow.") - return \ No newline at end of file + return + +/turf/simulated/floor/outdoors/ice + name = "ice" + icon_state = "ice" + desc = "Looks slippery." + +/turf/simulated/floor/outdoors/ice/Entered(var/mob/living/M) + sleep(1 * world.tick_lag) + if(istype(M, /mob/living)) + if(M.stunned == 0) + to_chat(M, "You slide across the ice!") + M.SetStunned(1) + step(M,M.dir) diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 01633b65d34..8aa24d75d9d 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -57,12 +57,19 @@ source.thermal_conductivity = initial(source.thermal_conductivity) /turf/simulated/wall/proc/fail_smash(var/mob/user) - user << "You smash against the wall!" + to_chat(user, "You smash against the wall!") + if(isanimal(user)) + var/mob/living/simple_animal/S = user + playsound(src, S.attack_sound, 75, 1) + user.do_attack_animation(src) take_damage(rand(25,75)) /turf/simulated/wall/proc/success_smash(var/mob/user) - user << "You smash through the wall!" + to_chat(user, "You smash through the wall!") user.do_attack_animation(src) + if(isanimal(user)) + var/mob/living/simple_animal/S = user + playsound(src, S.attack_sound, 75, 1) spawn(1) dismantle_wall(1) diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm index eab99bfba72..b8a0980de41 100644 --- a/code/game/turfs/simulated/wall_icon.dm +++ b/code/game/turfs/simulated/wall_icon.dm @@ -31,9 +31,13 @@ update_icon() -/turf/simulated/wall/proc/set_material(var/material/newmaterial, var/material/newrmaterial) +/turf/simulated/wall/proc/set_material(var/material/newmaterial, var/material/newrmaterial, var/material/newgmaterial) material = newmaterial reinf_material = newrmaterial + if(!newgmaterial) + girder_material = DEFAULT_WALL_MATERIAL + else + girder_material = newgmaterial update_material() /turf/simulated/wall/update_icon() @@ -43,36 +47,36 @@ if(!damage_overlays[1]) //list hasn't been populated generate_overlays() - overlays.Cut() + cut_overlays() var/image/I if(!density) I = image('icons/turf/wall_masks.dmi', "[material.icon_base]fwall_open") I.color = material.icon_colour - overlays += I + add_overlay(I) return for(var/i = 1 to 4) I = image('icons/turf/wall_masks.dmi', "[material.icon_base][wall_connections[i]]", dir = 1<<(i-1)) I.color = material.icon_colour - overlays += I + add_overlay(I) if(reinf_material) if(construction_stage != null && construction_stage < 6) I = image('icons/turf/wall_masks.dmi', "reinf_construct-[construction_stage]") I.color = reinf_material.icon_colour - overlays += I + add_overlay(I) else if("[reinf_material.icon_reinf]0" in icon_states('icons/turf/wall_masks.dmi')) // Directional icon for(var/i = 1 to 4) I = image('icons/turf/wall_masks.dmi', "[reinf_material.icon_reinf][wall_connections[i]]", dir = 1<<(i-1)) I.color = reinf_material.icon_colour - overlays += I + add_overlay(I) else I = image('icons/turf/wall_masks.dmi', reinf_material.icon_reinf) I.color = reinf_material.icon_colour - overlays += I + add_overlay(I) if(damage != 0) var/integrity = material.integrity @@ -83,7 +87,7 @@ if(overlay > damage_overlays.len) overlay = damage_overlays.len - overlays += damage_overlays[overlay] + add_overlay(damage_overlays[overlay]) return /turf/simulated/wall/proc/generate_overlays() diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index c1378228604..eae30c6cb43 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -23,6 +23,10 @@ ..(newloc,"gold") /turf/simulated/wall/silver/New(var/newloc) ..(newloc,"silver") +/turf/simulated/wall/lead/New(var/newloc) + ..(newloc,"lead") +/turf/simulated/wall/r_lead/New(var/newloc) + ..(newloc,"lead", "lead") /turf/simulated/wall/phoron/New(var/newloc) ..(newloc,"phoron") /turf/simulated/wall/sandstone/New(var/newloc) @@ -35,6 +39,8 @@ ..(newloc,"silver","gold") /turf/simulated/wall/sandstonediamond/New(var/newloc) ..(newloc,"sandstone","diamond") +/turf/simulated/wall/snowbrick/New(var/newloc) + ..(newloc,"packed snow") // Kind of wondering if this is going to bite me in the butt. /turf/simulated/wall/skipjack/New(var/newloc) @@ -132,7 +138,7 @@ name = true_name /turf/simulated/shuttle/wall/initialize() - ..() + . = ..() if(join_group) src.auto_join() @@ -213,12 +219,12 @@ stripe_color = "#00FF00" /turf/simulated/shuttle/wall/voidcraft/initialize() - ..() + . = ..() update_icon() /turf/simulated/shuttle/wall/voidcraft/update_icon() if(stripe_color) - overlays.Cut() + cut_overlays() var/image/I = image(icon = src.icon, icon_state = "o_[icon_state]") I.color = stripe_color - overlays.Add(I) + add_overlay(I) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index fcd0a31479b..e5bb57ad9e8 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -14,6 +14,7 @@ var/global/damage_overlays[16] var/active var/can_open = 0 + var/material/girder_material var/material/material var/material/reinf_material var/last_state @@ -26,12 +27,15 @@ for(var/obj/O in src) O.hide(1) -/turf/simulated/wall/New(var/newloc, var/materialtype, var/rmaterialtype) +/turf/simulated/wall/New(var/newloc, var/materialtype, var/rmaterialtype, var/girdertype) ..(newloc) icon_state = "blank" if(!materialtype) materialtype = DEFAULT_WALL_MATERIAL material = get_material_by_name(materialtype) + if(!girdertype) + girdertype = DEFAULT_WALL_MATERIAL + girder_material = get_material_by_name(girdertype) if(!isnull(rmaterialtype)) reinf_material = get_material_by_name(rmaterialtype) update_material() @@ -120,18 +124,18 @@ . = ..(user) if(!damage) - user << "It looks fully intact." + to_chat(user, "It looks fully intact.") else var/dam = damage / material.integrity if(dam <= 0.3) - user << "It looks slightly damaged." + to_chat(user, "It looks slightly damaged.") else if(dam <= 0.6) - user << "It looks moderately damaged." + to_chat(user, "It looks moderately damaged.") else - user << "It looks heavily damaged." + to_chat(user, "It looks heavily damaged.") if(locate(/obj/effect/overlay/wallrot) in src) - user << "There is fungus growing on [src]." + to_chat(user, "There is fungus growing on [src].") //Damage @@ -186,9 +190,9 @@ playsound(src, 'sound/items/Welder.ogg', 100, 1) if(!no_product) if(reinf_material) - reinf_material.place_dismantled_girder(src, reinf_material) + reinf_material.place_dismantled_girder(src, reinf_material, girder_material) else - material.place_dismantled_girder(src) + material.place_dismantled_girder(src, null, girder_material) if(!devastated) material.place_dismantled_product(src) if (!reinf_material) @@ -204,6 +208,7 @@ clear_plants() material = get_material_by_name("placeholder") reinf_material = null + girder_material = null update_connections(1) ChangeTurf(/turf/simulated/floor/plating) @@ -211,6 +216,8 @@ /turf/simulated/wall/ex_act(severity) switch(severity) if(1.0) + if(girder_material.explosion_resistance >= 25 && prob(girder_material.explosion_resistance)) + new /obj/structure/girder/displaced(src, girder_material.name) src.ChangeTurf(get_base_turf_by_area(src)) if(2.0) if(prob(75)) @@ -245,14 +252,17 @@ O.icon_state = "2" O.anchored = 1 O.density = 1 - O.layer = 5 + O.plane = ABOVE_PLANE - src.ChangeTurf(/turf/simulated/floor/plating) + if(girder_material.integrity >= 150 && !girder_material.is_brittle()) //Strong girders will remain in place when a wall is melted. + dismantle_wall(1,1) + else + src.ChangeTurf(/turf/simulated/floor/plating) var/turf/simulated/floor/F = src F.burn_tile() - F.icon_state = "wall_thermite" - user << "The thermite starts melting through the wall." + F.icon_state = "dmg[rand(1,4)]" + to_chat(user, "The thermite starts melting through the wall.") spawn(100) if(O) @@ -261,7 +271,7 @@ return /turf/simulated/wall/proc/radiate() - var/total_radiation = material.radioactivity + (reinf_material ? reinf_material.radioactivity / 2 : 0) + var/total_radiation = material.radioactivity + (reinf_material ? reinf_material.radioactivity / 2 : 0) + (girder_material ? girder_material.radioactivity / 2 : 0) if(!total_radiation) return @@ -271,7 +281,7 @@ /turf/simulated/wall/proc/burn(temperature) if(material.combustion_effect(src, temperature, 0.7)) spawn(2) - new /obj/structure/girder(src) + new /obj/structure/girder(src, girder_material.name) src.ChangeTurf(/turf/simulated/floor) for(var/turf/simulated/wall/W in range(3,src)) W.burn((temperature/4)) diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index e766b1bba39..e4b762d7333 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -11,15 +11,11 @@ outdoors = TRUE var/depth = 1 // Higher numbers indicates deeper water. -/turf/simulated/floor/water/New() - update_icon() - ..() - /turf/simulated/floor/water/initialize() + . = ..() update_icon() /turf/simulated/floor/water/update_icon() - overlays.Cut() ..() // To get the edges. icon_state = water_state var/image/floorbed_sprite = image(icon = 'icons/turf/outdoors.dmi', icon_state = under_state) @@ -132,16 +128,16 @@ var/list/shoreline_icon_cache = list() // Water sprites are really annoying, so let BYOND sort it out. /turf/simulated/floor/water/shoreline/update_icon() underlays.Cut() - overlays.Cut() + cut_overlays() ..() // Get the underlay first. var/cache_string = "[initial(icon_state)]_[water_state]_[dir]" if(cache_string in shoreline_icon_cache) // Check to see if an icon already exists. - overlays += shoreline_icon_cache[cache_string] + add_overlay(shoreline_icon_cache[cache_string]) else // If not, make one, but only once. var/icon/shoreline_water = icon(src.icon, "shoreline_water", src.dir) var/icon/shoreline_subtract = icon(src.icon, "[initial(icon_state)]_subtract", src.dir) shoreline_water.Blend(shoreline_subtract,ICON_SUBTRACT) shoreline_icon_cache[cache_string] = shoreline_water - overlays += shoreline_icon_cache[cache_string] + add_overlay(shoreline_icon_cache[cache_string]) diff --git a/code/game/turfs/snow/snow.dm b/code/game/turfs/snow/snow.dm index b09275ca410..a8ccd5b63be 100644 --- a/code/game/turfs/snow/snow.dm +++ b/code/game/turfs/snow/snow.dm @@ -26,12 +26,12 @@ . = ..() /turf/snow/update_icon() - overlays.Cut() + cut_overlays() for(var/d in crossed_dirs) var/amt = crossed_dirs[d] for(var/i in 1 to amt) - overlays += icon(icon, "footprint[i]", text2num(d)) + add_overlay(image(icon, "footprint[i]", text2num(d))) /turf/snow/snow2 name = "snow" diff --git a/code/game/turfs/space/cracked_asteroid.dm b/code/game/turfs/space/cracked_asteroid.dm index b9f43af82e2..dae0d5a1296 100644 --- a/code/game/turfs/space/cracked_asteroid.dm +++ b/code/game/turfs/space/cracked_asteroid.dm @@ -10,7 +10,8 @@ /turf/space/cracked_asteroid/is_space() // So people don't start floating when standing on it. return FALSE -/turf/space/cracked_asteroid/New() - ..() - spawn(2 SECONDS) - overlays.Cut() \ No newline at end of file +// u wot m8? ~Leshana +// /turf/space/cracked_asteroid/New() +// ..() +// spawn(2 SECONDS) +// overlays.Cut() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 8d708e8c7ed..58da7d11291 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -1,5 +1,7 @@ /turf icon = 'icons/turf/floors.dmi' + layer = TURF_LAYER + plane = TURF_PLANE level = 1 var/holy = 0 @@ -84,6 +86,34 @@ turf/attackby(obj/item/weapon/W as obj, mob/user as mob) S.gather_all(src, user) return ..() +// Hits a mob on the tile. +/turf/proc/attack_tile(obj/item/weapon/W, mob/living/user) + if(!istype(W)) + return FALSE + + var/list/viable_targets = list() + var/success = FALSE // Hitting something makes this true. If its still false, the miss sound is played. + + for(var/mob/living/L in contents) + if(L == user) // Don't hit ourselves. + continue + viable_targets += L + + if(!viable_targets.len) // No valid targets on this tile. + if(W.can_cleave) + success = W.cleave(user, src) + else + var/mob/living/victim = pick(viable_targets) + success = W.resolve_attackby(victim, user) + + user.setClickCooldown(user.get_attack_speed(W)) + user.do_attack_animation(src, no_attack_icons = TRUE) + + if(!success) // Nothing got hit. + user.visible_message("\The [user] swipes \the [W] over \the [src].") + playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) + return success + /turf/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) var/turf/T = get_turf(user) var/area/A = T.loc @@ -91,7 +121,7 @@ turf/attackby(obj/item/weapon/W as obj, mob/user as mob) return if(istype(O, /obj/screen)) return - if(user.restrained() || user.stat || user.stunned || user.paralysis) + if(user.restrained() || user.stat || user.stunned || user.paralysis || (!user.lying && !istype(user, /mob/living/silicon/robot))) return if((!(istype(O, /atom/movable)) || O.anchored || !Adjacent(user) || !Adjacent(O) || !user.Adjacent(O))) return @@ -101,6 +131,12 @@ turf/attackby(obj/item/weapon/W as obj, mob/user as mob) return if (do_after(user, 25 + (5 * user.weakened)) && !(user.stat)) step_towards(O, src) + if(ismob(O)) + animate(O, transform = turn(O.transform, 20), time = 2) + sleep(2) + animate(O, transform = turn(O.transform, -40), time = 4) + sleep(4) + animate(O, transform = turn(O.transform, 20), time = 2) /turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area) if(movement_disabled && usr.ckey != movement_disabled_exception) @@ -277,3 +313,6 @@ var/const/enterloopsanity = 100 if(isliving(AM)) var/mob/living/M = AM M.turf_collision(src, speed) + +/turf/AllowDrop() + return TRUE diff --git a/code/game/turfs/unsimulated.dm b/code/game/turfs/unsimulated.dm index bd85fe8be81..cbf492b0814 100644 --- a/code/game/turfs/unsimulated.dm +++ b/code/game/turfs/unsimulated.dm @@ -1,4 +1,5 @@ /turf/unsimulated name = "command" oxygen = MOLES_O2STANDARD - nitrogen = MOLES_N2STANDARD \ No newline at end of file + nitrogen = MOLES_N2STANDARD + initialized = TRUE // Don't call init on unsimulated turfs (at least not yet) diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm index bcbb4b133fb..82206926cfd 100644 --- a/code/game/turfs/unsimulated/beach.dm +++ b/code/game/turfs/unsimulated/beach.dm @@ -17,7 +17,7 @@ /turf/unsimulated/beach/water/New() ..() - overlays += image("icon"='icons/misc/beach.dmi',"icon_state"="water2","layer"=MOB_LAYER+0.1) + add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water2","layer"=MOB_LAYER+0.1)) /turf/simulated/floor/beach name = "Beach" @@ -44,4 +44,4 @@ /turf/simulated/floor/beach/water/New() ..() - overlays += image("icon"='icons/misc/beach.dmi',"icon_state"="water5","layer"=MOB_LAYER+0.1) + add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water5","layer"=MOB_LAYER+0.1)) diff --git a/code/game/turfs/unsimulated/shuttle.dm b/code/game/turfs/unsimulated/shuttle.dm index 99f5bc15bd8..cb70c6c36db 100644 --- a/code/game/turfs/unsimulated/shuttle.dm +++ b/code/game/turfs/unsimulated/shuttle.dm @@ -3,7 +3,6 @@ icon = 'icons/turf/shuttle_white.dmi' thermal_conductivity = 0.05 heat_capacity = 0 - layer = 2 /turf/unsimulated/shuttle/wall name = "wall" diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 8fafb555a33..11aa51eb900 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -35,7 +35,7 @@ message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return - log_ooc("[mob.name]/[key] : [msg]") + log_ooc(msg, src) if(msg) handle_spam_prevention(MUTE_OOC) @@ -108,7 +108,7 @@ message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return - log_ooc("(LOCAL) [mob.name]/[key] : [msg]") + log_looc(msg,src) if(msg) handle_spam_prevention(MUTE_OOC) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 8f6beee8d6f..4a40ea97cb1 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -73,14 +73,16 @@ return log_and_message_admins("[key_name(src)] commited suicide") - + + var/datum/gender/T = gender_datums[get_visible_gender()] + var/suicidemsg - suicidemsg = pick("[src] is attempting to bite \his tongue off! It looks like \he's trying to commit suicide.", \ - "[src] is jamming \his thumbs into \his eye sockets! It looks like \he's trying to commit suicide.", \ - "[src] is twisting \his own neck! It looks like \he's trying to commit suicide.", \ - "[src] is holding \his breath! It looks like \he's trying to commit suicide.") + suicidemsg = pick("[src] is attempting to bite [T.his] tongue off! It looks like [T.he] [T.is] trying to commit suicide.", \ + "[src] is jamming [T.his] thumbs into [T.his] eye sockets! It looks like [T.he] [T.is] trying to commit suicide.", \ + "[src] is twisting [T.his] own neck! It looks like [T.he] [T.is] trying to commit suicide.", \ + "[src] is holding [T.his] breath! It looks like [T.he] [T.is] trying to commit suicide.") if(isSynthetic()) - suicidemsg = "[src] is attempting to switch \his power off! It looks like \he's trying to commit suicide." + suicidemsg = "[src] is attempting to switch [T.his] power off! It looks like [T.he] [T.is] trying to commit suicide." visible_message(suicidemsg) adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) @@ -125,7 +127,7 @@ if(confirm == "Yes") suiciding = 1 - viewers(src) << "[src] is powering down. It looks like \he's trying to commit suicide." + viewers(src) << "[src] is powering down. It looks like they're trying to commit suicide." //put em at -175 adjustOxyLoss(max(getMaxHealth() * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) updatehealth() @@ -145,7 +147,7 @@ if(confirm == "Yes") suiciding = 1 - viewers(src) << "[src] is powering down. It looks like \he's trying to commit suicide." + viewers(src) << "[src] is powering down. It looks like they're trying to commit suicide." //put em at -175 adjustOxyLoss(max(getMaxHealth() * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) updatehealth() diff --git a/code/global.dm b/code/global.dm index 3bf111ef4fd..8c6ae38f973 100644 --- a/code/global.dm +++ b/code/global.dm @@ -21,7 +21,10 @@ var/global/list/global_map = null // Noises made when hit while typing. var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF") +var/log_path = "data/logs/" //See world.dm for the full calculated path var/diary = null +var/error_log = null +var/debug_log = null var/href_logfile = null // var/station_name = "Northern Star" // var/const/station_orig = "Northern Star" //station_name can't be const due to event prefix/suffix @@ -184,10 +187,14 @@ var/static/list/scarySounds = list( var/max_explosion_range = 14 // Announcer intercom, because too much stuff creates an intercom for one message then hard del()s it. -var/global/obj/item/device/radio/intercom/global_announcer = new /obj/item/device/radio/intercom{channels=list("Engineering")}(null) +var/global/obj/item/device/radio/intercom/omni/global_announcer = new /obj/item/device/radio/intercom/omni(null) var/list/station_departments = list("Command", "Medical", "Engineering", "Science", "Security", "Cargo", "Civilian") //Icons for in-game HUD glasses. Why don't we just share these a little bit? var/static/icon/ingame_hud = icon('icons/mob/hud.dmi') var/static/icon/ingame_hud_med = icon('icons/mob/hud_med.dmi') + +//Keyed list for caching icons so you don't need to make them for records, IDs, etc all separately. +//Could be useful for AI impersonation or something at some point? +var/static/list/cached_character_icons = list() diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 39926e1414a..e28c4fd5709 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -6,13 +6,13 @@ world/IsBanned(key,address,computer_id) //Guest Checking if(!config.guests_allowed && IsGuestKey(key)) - log_access("Failed Login: [key] - Guests not allowed") + log_adminwarn("Failed Login: [key] - Guests not allowed") message_admins("Failed Login: [key] - Guests not allowed") return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") //check if the IP address is a known TOR node if(config && config.ToRban && ToRban_isbanned(address)) - log_access("Failed Login: [src] - Banned: ToR") + log_adminwarn("Failed Login: [src] - Banned: ToR") message_admins("Failed Login: [src] - Banned: ToR") //ban their computer_id and ckey for posterity AddBan(ckey(key), computer_id, "Use of ToR", "Automated Ban", 0, 0) @@ -24,7 +24,7 @@ world/IsBanned(key,address,computer_id) //Ban Checking . = CheckBan( ckey(key), computer_id, address ) if(.) - log_access("Failed Login: [key] [computer_id] [address] - Banned [.["reason"]]") + log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["reason"]]") message_admins("Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]") return . diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 61f2d174ac3..08b16efa602 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -6,13 +6,13 @@ var/global/floorIsLava = 0 //////////////////////////////// /proc/message_admins(var/msg) msg = "ADMIN LOG: [msg]" - log_adminwarn(msg) + //log_adminwarn(msg) //log_and_message_admins is for this + for(var/client/C in admins) if((R_ADMIN|R_MOD) & C.holder.rights) C << msg /proc/msg_admin_attack(var/text) //Toggleable Attack Messages - log_attack(text) var/rendered = "ATTACK: [text]" for(var/client/C in admins) if((R_ADMIN|R_MOD) & C.holder.rights) @@ -380,7 +380,7 @@ proc/admin_notice(var/message, var/rights) if(3) dat+={" Creating new Feed Message... -
Receiving Channel: [src.admincaster_feed_channel.channel_name]
" //MARK +
Receiving Channel: [src.admincaster_feed_channel.channel_name]
Message Author: [src.admincaster_signature]
Message Body: [src.admincaster_feed_message.body]

Submit

Cancel
@@ -674,10 +674,7 @@ proc/admin_notice(var/message, var/rights) set desc = "Send an intercom message, like an arrivals announcement." if(!check_rights(0)) return - //This is basically how death alarms do it - var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/omni(null) - - var/channel = input("Channel for message:","Channel", null) as null|anything in (list("Common") + a.keyslot2.channels) // + a.keyslot1.channels + var/channel = input("Channel for message:","Channel", null) as null|anything in radiochannels if(channel) //They picked a channel var/sender = input("Name of sender (max 75):", "Announcement", "Announcement Computer") as null|text @@ -688,11 +685,94 @@ proc/admin_notice(var/message, var/rights) if(message) //They put a message message = sanitize(message, 500, extra = 0) - a.autosay("[message]", "[sender]", "[channel == "Common" ? null : channel]") //Common is a weird case, as it's not a "channel", it's just talking into a radio without a channel set. + global_announcer.autosay("[message]", "[sender]", "[channel == "Common" ? null : channel]") //Common is a weird case, as it's not a "channel", it's just talking into a radio without a channel set. log_admin("Intercom: [key_name(usr)] : [sender]:[message]") - qdel(a) + feedback_add_details("admin_verb","IN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/intercom_convo() + set category = "Fun" + set name = "Intercom Convo" + set desc = "Send an intercom conversation, like several uses of the Intercom Msg verb." + set waitfor = FALSE //Why bother? We have some sleeps. You can leave tho! + if(!check_rights(0)) return + + var/channel = input("Channel for message:","Channel", null) as null|anything in radiochannels + + if(!channel) //They picked a channel + return + + to_chat(usr,"Intercom Convo Directions
Start the conversation with the sender, a pipe (|), and then the message on one line. Then hit enter to \ + add another line, and type a (whole) number of seconds to pause between that message, and the next message, then repeat the message syntax up to 20 times. For example:
\ + --- --- ---
\ + Some Guy|Hello guys, what's up?
\ + 5
\ + Other Guy|Hey, good to see you.
\ + 5
\ + Some Guy|Yeah, you too.
\ + --- --- ---
\ + The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed.
") + + var/list/decomposed + var/message = input(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "") as null|message + + if(!message) + return + + //Split on pipe or \n + decomposed = splittext(message,regex("\\||$","m")) + decomposed += "0" //Tack on a final 0 sleep to make 3-per-message evenly + + //Time to find how they screwed up. + //Wasn't the right length + if((decomposed.len) % 3) //+1 to accomidate the lack of a wait time for the last message + to_chat(usr,"You passed [decomposed.len] segments (senders+messages+pauses). You must pass a multiple of 3, minus 1 (no pause after the last message). That means a sender and message on every other line (starting on the first), separated by a pipe character (|), and a number every other line that is a pause in seconds.") + return + + //Too long a conversation + if((decomposed.len / 3) > 20) + to_chat(usr,"This conversation is too long! 20 messages maximum, please.") + return + + //Missed some sleeps, or sanitized to nothing. + for(var/i = 1; i < decomposed.len; i++) + + //Sanitize sender + var/clean_sender = sanitize(decomposed[i]) + if(!clean_sender) + to_chat(usr,"One part of your conversation was not able to be sanitized. It was the sender of the [(i+2)/3]\th message.") + return + decomposed[i] = clean_sender + + //Sanitize message + var/clean_message = sanitize(decomposed[++i]) + if(!clean_message) + to_chat(usr,"One part of your conversation was not able to be sanitized. It was the body of the [(i+2)/3]\th message.") + return + decomposed[i] = clean_message + + //Sanitize wait time + var/clean_time = text2num(decomposed[++i]) + if(!isnum(clean_time)) + to_chat(usr,"One part of your conversation was not able to be sanitized. It was the wait time after the [(i+2)/3]\th message.") + return + if(clean_time > 60) + to_chat(usr,"Max 60 second wait time between messages for sanity's sake please.") + return + decomposed[i] = clean_time + + log_admin("Intercom convo started by: [key_name(usr)] : [sanitize(message)]") + feedback_add_details("admin_verb","IN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + //Sanitized AND we still have a chance to send it? Wow! + if(LAZYLEN(decomposed)) + for(var/i = 1; i < decomposed.len; i++) + var/this_sender = decomposed[i] + var/this_message = decomposed[++i] + var/this_wait = decomposed[++i] + global_announcer.autosay("[this_message]", "[this_sender]", "[channel == "Common" ? null : channel]") //Common is a weird case, as it's not a "channel", it's just talking into a radio without a channel set. + sleep(this_wait SECONDS) + /datum/admins/proc/toggleooc() set category = "Server" set desc="Globally Toggles OOC" diff --git a/code/modules/admin/admin_attack_log.dm b/code/modules/admin/admin_attack_log.dm index 967a4375da7..f04bdf3b618 100644 --- a/code/modules/admin/admin_attack_log.dm +++ b/code/modules/admin/admin_attack_log.dm @@ -16,7 +16,7 @@ proc/log_and_message_admins_many(var/list/mob/users, var/message) log_admin("[english_list(user_keys)] [message]") message_admins("[english_list(user_keys)] [message]") - +/* Old procs proc/admin_attack_log(var/mob/attacker, var/mob/victim, var/attacker_message, var/victim_message, var/admin_message) if(victim) victim.attack_log += text("\[[time_stamp()]\] [key_name(attacker)] - [victim_message]") @@ -42,3 +42,4 @@ proc/admin_inject_log(mob/attacker, mob/victim, obj/item/weapon, reagents, amoun "used \the [weapon] to [violent]inject - [reagents] - [amount_transferred]u transferred", "was [violent]injected with \the [weapon] - [reagents] - [amount_transferred]u transferred", "used \the [weapon] to [violent]inject [reagents] ([amount_transferred]u transferred) into") +*/ diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 12c00aa7083..772c1886a86 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -6,6 +6,10 @@ var/list/admin_ranks = list() //list of all ranks with associated rights var/previous_rights = 0 + //Clear profile access + for(var/A in world.GetConfig("admin")) + world.SetConfig("APP/admin", A, null) + //load text from file var/list/Lines = file2list("config/admin_ranks.txt") diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 7ffb7d16c79..6b038aca4ee 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -26,6 +26,7 @@ var/list/admin_verbs_admin = list( /datum/admins/proc/toggleguests, //toggles whether guests can join the current game, /datum/admins/proc/announce, //priority announce something to all clients., /datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement, + /datum/admins/proc/intercom_convo, //send a fake intercom conversation, like an ATC exchange, /client/proc/colorooc, //allows us to set a custom colour for everythign we say in ooc, /client/proc/admin_ghost, //allows us to ghost/reenter body at will, /client/proc/toggle_view_range, //changes how far we can see, @@ -59,7 +60,6 @@ var/list/admin_verbs_admin = list( /client/proc/check_antagonists, /client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others, /client/proc/dsay, //talk in deadchat using our ckey/fakekey, - /client/proc/ghost_view, //let us see ghosts WHENEVERRRR // /client/proc/toggle_hear_deadcast, //toggles whether we hear deadchat, /client/proc/investigate_show, //various admintools for investigation. Such as a singulo grief-log, /client/proc/secrets, @@ -101,7 +101,8 @@ var/list/admin_verbs_admin = list( /client/proc/toggle_attack_logs, /datum/admins/proc/paralyze_mob, /client/proc/fixatmos, - /datum/admins/proc/sendFax + /datum/admins/proc/sendFax, + /client/proc/despawn_player ) var/list/admin_verbs_ban = list( @@ -192,6 +193,8 @@ var/list/admin_verbs_debug = list( /client/proc/cmd_debug_del_all, /client/proc/cmd_debug_tog_aliens, /client/proc/cmd_display_del_log, + /client/proc/cmd_display_init_log, + /client/proc/cmd_display_overlay_log, /client/proc/air_report, /client/proc/reload_admins, /client/proc/reload_eventMs, @@ -212,7 +215,6 @@ var/list/admin_verbs_debug = list( /client/proc/jumptomob, /client/proc/jumptocoord, /client/proc/dsay, - /client/proc/ghost_view, /client/proc/toggle_debug_logs, /client/proc/admin_ghost, //allows us to ghost/reenter body at will, /datum/admins/proc/view_runtimes, @@ -325,7 +327,6 @@ var/list/admin_verbs_mod = list( /datum/admins/proc/show_player_info, /client/proc/player_panel_new, /client/proc/dsay, - /client/proc/ghost_view, /datum/admins/proc/show_skills, /datum/admins/proc/show_player_panel, /client/proc/check_antagonists, @@ -350,7 +351,6 @@ var/list/admin_verbs_event_manager = list( /client/proc/admin_ghost, /datum/admins/proc/show_player_info, /client/proc/dsay, - /client/proc/ghost_view, /client/proc/cmd_admin_subtle_message, /client/proc/debug_variables, /client/proc/check_antagonists, @@ -490,24 +490,6 @@ var/list/admin_verbs_event_manager = list( body.key = "@[key]" //Haaaaaaaack. But the people have spoken. If it breaks; blame adminbus feedback_add_details("admin_verb","O") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/ghost_view() - set category = "Admin" - set name = "Ghost View" - set desc = "Toggles ability to see ghosts, even while in a mob." - if(!holder) return - if(!mob.plane_holder) return - - var/choice = alert(src,"Do you want to see ghosts, or not?","Ghost viewing","Show 'em!","Cancel","Hide 'em!") - if(choice == "Cancel") - return - - if(choice == "Show 'em!" && mob.plane_holder) - mob.plane_holder.set_vis(VIS_GHOSTS,TRUE) - to_chat(src,"Ghosts are now visible (while in this mob).") - else if(mob.plane_holder) - mob.plane_holder.set_vis(VIS_GHOSTS,FALSE) - to_chat(src,"Ghosts are now hidden (while in this mob).") - /client/proc/invisimin() set name = "Invisimin" set category = "Admin" @@ -779,11 +761,11 @@ var/list/admin_verbs_event_manager = list( set category = "Debug" set name = "Kill Air" set desc = "Toggle Air Processing" - if(air_processing_killed) - air_processing_killed = 0 + if(!SSair.can_fire) + SSair.can_fire = TRUE usr << "Enabled air processing." else - air_processing_killed = 1 + SSair.can_fire = FALSE usr << "Disabled air processing." feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] used 'kill air'.") @@ -887,13 +869,13 @@ var/list/admin_verbs_event_manager = list( if(!H.client) usr << "Only mobs with clients can alter their own appearance." return - + var/datum/gender/T = gender_datums[H.get_visible_gender()] switch(alert("Do you wish for [H] to be allowed to select non-whitelisted races?","Alter Mob Appearance","Yes","No","Cancel")) if("Yes") - log_and_message_admins("has allowed [H] to change \his appearance, without whitelisting of races.") + log_and_message_admins("has allowed [H] to change [T.his] appearance, without whitelisting of races.") H.change_appearance(APPEARANCE_ALL, H.loc, check_species_whitelist = 0) if("No") - log_and_message_admins("has allowed [H] to change \his appearance, with whitelisting of races.") + log_and_message_admins("has allowed [H] to change [T.his] appearance, with whitelisting of races.") H.change_appearance(APPEARANCE_ALL, H.loc, check_species_whitelist = 1) feedback_add_details("admin_verb","CMAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -1043,7 +1025,7 @@ var/list/admin_verbs_event_manager = list( set category = "Fun" set name = "Man Up" set desc = "Tells mob to man up and deal with it." - + if(alert("Are you sure you want to tell them to man up?","Confirmation","Deal with it","No")=="No") return T << "Man up and deal with it." @@ -1056,7 +1038,7 @@ var/list/admin_verbs_event_manager = list( set category = "Fun" set name = "Man Up Global" set desc = "Tells everyone to man up and deal with it." - + if(alert("Are you sure you want to tell the whole server up?","Confirmation","Deal with it","No")=="No") return for (var/mob/T as mob in mob_list) diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 4f0cba95c44..2d74b434331 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -23,6 +23,8 @@ var/list/admin_datums = list() rank = initial_rank rights = initial_rights admin_datums[ckey] = src + if(rights & R_DEBUG) //grant profile access + world.SetConfig("APP/admin", ckey, "role=admin") /datum/admins/proc/associate(client/C) if(istype(C)) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c2cf55ab00e..358df91af6b 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1001,11 +1001,6 @@ //strip their stuff and stick it in the crate for(var/obj/item/I in M) M.drop_from_inventory(I, locker) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - H.update_icons_layers() //Cheaper - else - M.update_icons() //so they black out before warping M.Paralyse(5) @@ -1188,10 +1183,8 @@ usr << "This can only be used on instances of type /mob/living/carbon/human" return var/block=text2num(href_list["block"]) - //testing("togmutate([href_list["block"]] -> [block])") usr.client.cmd_admin_toggle_block(H,block) show_player_panel(H) - //H.regenerate_icons() else if(href_list["adminplayeropts"]) var/mob/M = locate(href_list["adminplayeropts"]) @@ -1228,7 +1221,7 @@ if(ismob(M)) var/take_msg = "ADMINHELP: [key_name(usr.client)] is attending to [key_name(M)]'s adminhelp, please don't dogpile them." for(var/client/X in admins) - if((R_ADMIN|R_MOD|R_EVENT) & X.holder.rights) + if((R_ADMIN|R_MOD|R_EVENT|R_SERVER) & X.holder.rights) to_chat(X, take_msg) to_chat(M, "Your adminhelp is being attended to by [usr.client]. Thanks for your patience!") else @@ -1864,6 +1857,17 @@ show_player_panel(M) + else if(href_list["cryoplayer"]) + if(!check_rights(R_ADMIN)) return + + var/mob/M = locate(href_list["cryoplayer"]) + if(!istype(M)) + to_chat(usr,"Mob doesn't exist!") + return + + var/client/C = usr.client + C.despawn_player(M) + // player info stuff if(href_list["add_player_info"]) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index dcaa7454857..4ff94877f42 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -104,7 +104,7 @@ if(C.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) C << 'sound/effects/adminhelp.ogg' - log_admin("PM: [key_name(src)]->[key_name(C)]: [msg]") + log_adminpm(msg,src,C) send2adminirc("Reply: [key_name(src)]->[key_name(C)]: [html_decode(msg)]") //we don't use message_admins here because the sender/receiver might get it too diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 264e5ad64eb..0fdc158227f 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -9,7 +9,7 @@ if(!msg) return - log_admin("ADMIN: [key_name(src)] : [msg]") + log_adminsay(msg,src) if(check_rights(R_ADMIN,0)) for(var/client/C in admins) @@ -27,7 +27,7 @@ return msg = sanitize(msg) - log_admin("MOD: [key_name(src)] : [msg]") + log_modsay(msg,src) if (!msg) return @@ -50,7 +50,7 @@ return msg = sanitize(msg) - log_admin("EVENT: [key_name(src)] : [msg]") + log_eventsay(msg,src) if (!msg) return diff --git a/code/modules/admin/verbs/antag-ooc.dm b/code/modules/admin/verbs/antag-ooc.dm index f3a6ffc77ca..22689f17188 100644 --- a/code/modules/admin/verbs/antag-ooc.dm +++ b/code/modules/admin/verbs/antag-ooc.dm @@ -39,4 +39,4 @@ if((M.mind && M.mind.special_role && A && A.can_use_aooc) || isobserver(M)) // Antags must have their type be allowed to AOOC to see AOOC. This prevents, say, ERT from seeing AOOC. to_chat(M, "[create_text_tag("aooc", "Antag-OOC:", M.client)] [player_display]: [msg]") - log_ooc("(ANTAG) [key] : [msg]") \ No newline at end of file + log_aooc(msg,src) \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 8ce3c2d2663..326a317bfd3 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -327,6 +327,36 @@ usr << browse(dellog.Join(), "window=dellog") +/client/proc/cmd_display_init_log() + set category = "Debug" + set name = "Display Initialize() Log" + set desc = "Displays a list of things that didn't handle Initialize() properly" + + if(!check_rights(R_DEBUG)) return + src << browse(replacetext(SSatoms.InitLog(), "\n", "
"), "window=initlog") + +/client/proc/cmd_display_overlay_log() + set category = "Debug" + set name = "Display overlay Log" + set desc = "Display SSoverlays log of everything that's passed through it." + + if(!check_rights(R_DEBUG)) return + render_stats(SSoverlays.stats, src) + +// Render stats list for round-end statistics. +/proc/render_stats(list/stats, user, sort = /proc/cmp_generic_stat_item_time) + sortTim(stats, sort, TRUE) + + var/list/lines = list() + for (var/entry in stats) + var/list/data = stats[entry] + lines += "[entry] => [num2text(data[STAT_ENTRY_TIME], 10)]ms ([data[STAT_ENTRY_COUNT]]) (avg:[num2text(data[STAT_ENTRY_TIME]/(data[STAT_ENTRY_COUNT] || 1), 99)])" + + if (user) + user << browse("
  1. [lines.Join("
  2. ")]
", "window=[url_encode("stats:\ref[stats]")]") + else + . = lines.Join("\n") + /client/proc/cmd_admin_grantfullaccess(var/mob/M in mob_list) set category = "Admin" set name = "Grant Full Access" @@ -378,10 +408,15 @@ qdel(adminmob) feedback_add_details("admin_verb","ADC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/take_picture(var/atom/A in world) + set name = "Save PNG" + set category = "Debug" + set desc = "Opens a dialog to save a PNG of any object in the game." + if(!check_rights(R_DEBUG)) + return - - + downloadImage(A) /client/proc/cmd_admin_areatest() set category = "Mapping" diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index eac11fcac0a..3f6e4c9e74f 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -85,7 +85,7 @@ set name = "Show Server Log" set desc = "Shows today's server log." - var/path = "data/logs/[time2text(world.realtime,"YYYY/MM-Month/DD-Day")].log" + var/path = "[log_path].log" if( fexists(path) ) src << run( file(path) ) else @@ -99,7 +99,10 @@ set category = "Admin" set name = "Show Server Attack Log" set desc = "Shows today's server attack log." + + to_chat(usr,"This verb doesn't actually do anything.") + /* var/path = "data/logs/[time2text(world.realtime,"YYYY/MM-Month/DD-Day")] Attack.log" if( fexists(path) ) src << run( file(path) ) @@ -109,3 +112,5 @@ usr << run( file(path) ) feedback_add_details("admin_verb","SSAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return + */ + \ No newline at end of file diff --git a/code/modules/admin/verbs/grief_fixers.dm b/code/modules/admin/verbs/grief_fixers.dm index dd28127e4a9..7059fef907f 100644 --- a/code/modules/admin/verbs/grief_fixers.dm +++ b/code/modules/admin/verbs/grief_fixers.dm @@ -45,10 +45,7 @@ usr << "\[4/5\] - All turfs reset to roundstart values." - qdel(air_master) - air_master = new - air_master.Setup() - spawn air_master.Start() + SSair.RebootZAS() usr << "\[5/5\] - ZAS Rebooted" world << "Atmosphere restart completed in [(world.timeofday - current_time)/10] seconds." \ No newline at end of file diff --git a/code/modules/admin/verbs/map_template_loadverb.dm b/code/modules/admin/verbs/map_template_loadverb.dm index 25fda4bfb35..7fde6c58e13 100644 --- a/code/modules/admin/verbs/map_template_loadverb.dm +++ b/code/modules/admin/verbs/map_template_loadverb.dm @@ -41,7 +41,12 @@ if(!map) return template = map_templates[map] - + + if(template.width > world.maxx || template.height > world.maxy) + if(alert(usr,"This template is larger than the existing z-levels. It will EXPAND ALL Z-LEVELS to match the size of the template. This may cause chaos. Are you sure you want to do this?","DANGER!!!","Cancel","Yes") == "Cancel") + to_chat(usr,"Template placement aborted.") + return + if(alert(usr,"Confirm map load.", "Template Confirm","No","Yes") == "Yes") if(template.load_new_z()) message_admins("[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz].") diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 8ef63e765c7..896509280ee 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -160,8 +160,9 @@ var/list/debug_verbs = list ( ,/client/proc/testZAScolors ,/client/proc/testZAScolors_remove ,/datum/admins/proc/setup_supermatter - ,/client/proc/atmos_toggle_debug - ,/client/proc/spawn_tanktransferbomb + ,/client/proc/atmos_toggle_debug + ,/client/proc/spawn_tanktransferbomb + ,/client/proc/take_picture ) @@ -273,14 +274,7 @@ var/list/debug_verbs = list ( set name = "Reboot ZAS" if(alert("This will destroy and remake all zone geometry on the whole map.","Reboot ZAS","Reboot ZAS","Nevermind") == "Reboot ZAS") - var/datum/controller/air_system/old_air = air_master - for(var/zone/zone in old_air.zones) - zone.c_invalidate() - qdel(old_air) - air_master = new - air_master.Setup() - spawn air_master.Start() - + SSair.RebootZAS() /client/proc/count_objects_on_z_level() set category = "Mapping" diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm index 6de30853ce6..aa100623ff1 100644 --- a/code/modules/admin/verbs/possess.dm +++ b/code/modules/admin/verbs/possess.dm @@ -37,7 +37,6 @@ if(ishuman(usr)) var/mob/living/carbon/human/H = usr H.name = H.get_visible_name() -// usr.regenerate_icons() //So the name is updated properly usr.loc = O.loc // Appear where the object you were controlling is -- TLE usr.client.eye = usr diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 961dbdcdfb0..9536f830fbe 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -935,3 +935,63 @@ Traitors and the like can also be revived with the previous role mostly intact. usr << "Random events disabled" message_admins("Admin [key_name_admin(usr)] has disabled random events.", 1) feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/despawn_player(var/mob/M in living_mob_list) + set name = "Cryo Player" + set category = "Admin" + set desc = "Removes a player from the round as if they'd cryo'd." + set popup_menu = FALSE + + if(!check_rights(R_ADMIN)) + return + + if(!M) + return + + var/confirm = alert("Are you sure you want to cryo [M]?","Confirmation","No","Yes") + if(confirm == "No") + return + + var/list/human_cryopods = list() + var/list/robot_cryopods = list() + + for(var/obj/machinery/cryopod/CP in machines) + if(!CP.control_computer) + continue //Broken pod w/o computer, move on. + + var/listname = "[CP.name] ([CP.x],[CP.y],[CP.z])" + if(istype(CP,/obj/machinery/cryopod/robot)) + robot_cryopods[listname] = CP + else + human_cryopods[listname] = CP + + //Gotta log this up here before they get ghostized and lose their key or anything. + log_and_message_admins("[key_name(src)] admin cryo'd [key_name(M)].") + feedback_add_details("admin_verb","ACRYO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + if(ishuman(M)) + var/obj/machinery/cryopod/CP = human_cryopods[input(usr,"Select a cryopod to use","Cryopod Choice") as null|anything in human_cryopods] + if(!CP) + return + M.ghostize() + CP.despawn_occupant(M) + return + + else if(issilicon(M)) + if(isAI(M)) + var/mob/living/silicon/ai/ai = M + empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(ai.loc) + global_announcer.autosay("[ai] has been moved to intelligence storage.", "Artificial Intelligence Oversight") + ai.clear_client() + return + else + var/obj/machinery/cryopod/robot/CP = robot_cryopods[input(usr,"Select a cryopod to use","Cryopod Choice") as null|anything in robot_cryopods] + if(!CP) + return + M.ghostize() + CP.despawn_occupant(M) + return + + else if(isliving(M)) + M.ghostize() + qdel(M) //Bye diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm index e624d2df05a..cb110d4e86f 100644 --- a/code/modules/admin/view_variables/view_variables.dm +++ b/code/modules/admin/view_variables/view_variables.dm @@ -143,7 +143,12 @@ vtext = "\ref[C] - [C] ([C.type])" else if(islist(value)) var/list/L = value - vtext = "/list ([L.len])" + var/removed = 0 + if(varname == "contents") + var/list/original = value + L = original.Copy() //We'll take a copy to manipulate + removed = D.view_variables_filter_contents(L) + vtext = "/list ([L.len]+[removed]H)" if(!(varname in view_variables_dont_expand) && L.len > 0 && L.len < 100) extra = "
    " var/index = 1 @@ -158,3 +163,21 @@ vtext = "[value]" return "
  • [ecm][varname] = [vtext][extra]
  • " + +//Allows us to mask out some contents when it's not necessary to show them +//For example, organs on humans, as the organs are stored in other lists which will also be present +//So there's really no need to list them twice. +/datum/proc/view_variables_filter_contents(list/L) + return 0 //Return how many items you removed. + +/mob/living/carbon/human/view_variables_filter_contents(list/L) + . = ..() + L -= ability_master + .++ + +/mob/living/carbon/human/view_variables_filter_contents(list/L) + . = ..() + var/len_before = L.len + L -= organs + L -= internal_organs + . += len_before - L.len diff --git a/code/modules/alarm/alarm.dm b/code/modules/alarm/alarm.dm index d0a6a8be4c2..26ffdade04a 100644 --- a/code/modules/alarm/alarm.dm +++ b/code/modules/alarm/alarm.dm @@ -23,12 +23,13 @@ var/area/last_name //The last acquired name, used should origin be lost var/area/last_camera_area //The last area in which cameras where fetched, used to see if the camera list should be updated. var/end_time //Used to set when this alarm should clear, in case the origin is lost. + var/hidden = FALSE //If this alarm can be seen from consoles or other things. -/datum/alarm/New(var/atom/origin, var/atom/source, var/duration, var/severity) +/datum/alarm/New(var/atom/origin, var/atom/source, var/duration, var/severity, var/hidden) src.origin = origin cameras() // Sets up both cameras and last alarm area. - set_source_data(source, duration, severity) + set_source_data(source, duration, severity, hidden) /datum/alarm/proc/process() // Has origin gone missing? @@ -43,17 +44,19 @@ AS.duration = 0 AS.end_time = world.time + ALARM_RESET_DELAY -/datum/alarm/proc/set_source_data(var/atom/source, var/duration, var/severity) +/datum/alarm/proc/set_source_data(var/atom/source, var/duration, var/severity, var/hidden) var/datum/alarm_source/AS = sources_assoc[source] if(!AS) AS = new/datum/alarm_source(source) sources += AS sources_assoc[source] = AS + src.hidden = hidden // Currently only non-0 durations can be altered (normal alarms VS EMP blasts) if(AS.duration) duration = SecondsToTicks(duration) AS.duration = duration AS.severity = severity + src.hidden = min(src.hidden, hidden) /datum/alarm/proc/clear(var/source) var/datum/alarm_source/AS = sources_assoc[source] diff --git a/code/modules/alarm/alarm_handler.dm b/code/modules/alarm/alarm_handler.dm index afa45d7649c..a07ca8bd3b7 100644 --- a/code/modules/alarm/alarm_handler.dm +++ b/code/modules/alarm/alarm_handler.dm @@ -12,7 +12,7 @@ A.process() check_alarm_cleared(A) -/datum/alarm_handler/proc/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1) +/datum/alarm_handler/proc/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1, var/hidden = 0) var/new_alarm //Proper origin and source mandatory if(!(origin && source)) @@ -23,9 +23,9 @@ //see if there is already an alarm of this origin var/datum/alarm/existing = alarms_assoc[origin] if(existing) - existing.set_source_data(source, duration, severity) + existing.set_source_data(source, duration, severity, hidden) else - existing = new/datum/alarm(origin, source, duration, severity) + existing = new/datum/alarm(origin, source, duration, severity, hidden) new_alarm = 1 alarms |= existing @@ -48,10 +48,10 @@ return check_alarm_cleared(existing) /datum/alarm_handler/proc/major_alarms() - return alarms + return visible_alarms() /datum/alarm_handler/proc/minor_alarms() - return alarms + return visible_alarms() /datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm) if ((alarm.end_time && world.time > alarm.end_time) || !alarm.sources.len) @@ -63,7 +63,7 @@ /datum/alarm_handler/proc/on_alarm_change(var/datum/alarm/alarm, var/was_raised) for(var/obj/machinery/camera/C in alarm.cameras()) - if(was_raised) + if(was_raised && !alarm.hidden) C.add_network(category) else C.remove_network(category) @@ -95,3 +95,10 @@ /datum/alarm_handler/proc/notify_listeners(var/alarm, var/was_raised) for(var/listener in listeners) call(listener, listeners[listener])(src, alarm, was_raised) + +/datum/alarm_handler/proc/visible_alarms() + var/list/visible_alarms = new() + for(var/datum/alarm/A in alarms) + if(!A.hidden) + visible_alarms.Add(A) + return visible_alarms \ No newline at end of file diff --git a/code/modules/alarm/atmosphere_alarm.dm b/code/modules/alarm/atmosphere_alarm.dm index 9751319111d..94f2e91e054 100644 --- a/code/modules/alarm/atmosphere_alarm.dm +++ b/code/modules/alarm/atmosphere_alarm.dm @@ -1,19 +1,16 @@ /datum/alarm_handler/atmosphere category = "Atmosphere Alarms" -/datum/alarm_handler/atmosphere/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1) - ..() - /datum/alarm_handler/atmosphere/major_alarms() var/list/major_alarms = new() - for(var/datum/alarm/A in alarms) + for(var/datum/alarm/A in visible_alarms()) if(A.max_severity() > 1) major_alarms.Add(A) return major_alarms /datum/alarm_handler/atmosphere/minor_alarms() var/list/minor_alarms = new() - for(var/datum/alarm/A in alarms) + for(var/datum/alarm/A in visible_alarms()) if(A.max_severity() == 1) minor_alarms.Add(A) return minor_alarms diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 01dc830aaa3..d1602f479b9 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -23,10 +23,13 @@ var/corpseidjob = null // Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Again, put in quotes. Use "Captain" if you want it to be all access. var/corpseidicon = null //For setting it to be a gold, silver, CentCom etc ID - var/species = "Human" + var/species = SPECIES_HUMAN + delete_me = TRUE /obj/effect/landmark/corpse/initialize() + ..() createCorpse() + return INITIALIZE_HINT_QDEL /obj/effect/landmark/corpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it. var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc) @@ -76,7 +79,6 @@ W.assignment = corpseidjob M.set_id_info(W) M.equip_to_slot_or_del(W, slot_wear_id) - qdel(src) @@ -87,7 +89,7 @@ /obj/effect/landmark/corpse/syndicatesoldier - name = "Syndicate Operative" + name = "Mercenary" corpseuniform = /obj/item/clothing/under/syndicate corpsesuit = /obj/item/clothing/suit/armor/vest corpseshoes = /obj/item/clothing/shoes/boots/swat diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index d1070e5c321..7645aa8e7f6 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -1,6 +1,6 @@ /obj/machinery/gateway name = "gateway" - desc = "A mysterious gateway built by unknown hands, it allows for faster than light travel to far-flung locations." + desc = "A state-of-the-art Nanotrasen gateway, used to teleport rich commuters anywhere in the same planetary system." icon = 'icons/obj/machines/gateway.dmi' icon_state = "off" density = 1 @@ -10,9 +10,9 @@ /obj/machinery/gateway/initialize() update_icon() - if(dir == 2) + if(dir == SOUTH) density = 0 - + . = ..() /obj/machinery/gateway/update_icon() if(active) @@ -38,7 +38,7 @@ update_icon() wait = world.time + config.gateway_delay //+ thirty minutes default awaygate = locate(/obj/machinery/gateway/centeraway) - + . = ..() /obj/machinery/gateway/centerstation/update_icon() if(active) @@ -152,6 +152,7 @@ obj/machinery/gateway/centerstation/process() /obj/machinery/gateway/centeraway/initialize() update_icon() stationgate = locate(/obj/machinery/gateway/centerstation) + . = ..() /obj/machinery/gateway/centeraway/update_icon() @@ -233,4 +234,4 @@ obj/machinery/gateway/centerstation/process() else user << "Recalibration successful!: This gate's systems have been fine tuned. Travel to this gate will now be on target." calibrated = 1 - return \ No newline at end of file + return diff --git a/code/modules/awaymissions/loot.dm b/code/modules/awaymissions/loot.dm index 5aeb9651d2b..6ca57138b63 100644 --- a/code/modules/awaymissions/loot.dm +++ b/code/modules/awaymissions/loot.dm @@ -6,6 +6,7 @@ var/loot = "" //a list of possible items to spawn- a string of paths /obj/effect/spawner/lootdrop/initialize() + ..() var/list/things = params2list(loot) if(things && things.len) @@ -21,4 +22,4 @@ continue new loot_path(get_turf(src)) - qdel(src) + return INITIALIZE_HINT_QDEL diff --git a/code/modules/blob2/blobs/base_blob.dm b/code/modules/blob2/blobs/base_blob.dm index ba9f41c4036..19461e68c81 100644 --- a/code/modules/blob2/blobs/base_blob.dm +++ b/code/modules/blob2/blobs/base_blob.dm @@ -285,7 +285,8 @@ var/list/blobs = list() name = "blob" desc = "The blob lashing out at something." icon_state = "blob_attack" - layer = 5.2 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER time_to_die = 6 alpha = 140 mouse_opacity = 0 diff --git a/code/modules/blob2/mobs/spore.dm b/code/modules/blob2/mobs/spore.dm index 3e68344c8b1..e23b96d8aa6 100644 --- a/code/modules/blob2/mobs/spore.dm +++ b/code/modules/blob2/mobs/spore.dm @@ -12,7 +12,7 @@ melee_damage_lower = 2 melee_damage_upper = 4 layer = MOB_LAYER + 0.2 // Over the blob. - attacktext = "slams into" + attacktext = list("slams into") attack_sound = 'sound/effects/slime_squish.ogg' emote_see = list("sways", "inflates briefly") var/mob/living/carbon/human/infested = null // The human this thing is totally not making into a zombie. @@ -97,7 +97,7 @@ melee_damage_lower += 8 // 10 total. melee_damage_upper += 11 // 15 total. emote_see = list("shambles around", "twitches", "stares") - attacktext = "claws" + attacktext = list("claws") H.forceMove(src) infested = H diff --git a/code/modules/busy_space/organizations.dm b/code/modules/busy_space/organizations.dm index da08c70c4a6..22b41ad86f4 100644 --- a/code/modules/busy_space/organizations.dm +++ b/code/modules/busy_space/organizations.dm @@ -41,9 +41,9 @@ if(autogenerate_destination_names) // Lets pad out the destination names. var/i = rand(6, 10) var/list/star_names = list( - "Sol", "Alpha Centauri", "Sirius", "Vega", "Regulus", "Vir", "Algol", "Aldebaran", - "Delta Doradus", "Menkar", "Geminga", "Elnath", "Gienah", "Mu Leporis", "Nyx", "Tau Ceti", - "Wazn", "Alphard", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "the Almach Rim") + "Sol", "Alpha Centauri", "Tau Ceti", "Zhu Que", "Oasis", "Vir", "Gavel", "Ganesha", + "Saint Columbia", "Altair", "Sidhe", "New Ohio", "Parvati", "Mahi-Mahi", "Nyx", "New Seoul", + "Kess-Gendar", "Raphael", "Phact", "Altair", "El", "Eutopia", "Qerr'valis", "Qerrna-Lakirr", "Rarkajar", "Thoth", "Jahan's Post", "Kauq'xum", "Silk", "New Singapore", "Stove", "Viola", "Love", "Isavau's Gamble" ) var/list/destination_types = list("dockyard", "station", "vessel", "waystation", "telecommunications satellite", "spaceport", "distress beacon", "anomaly", "colony", "outpost") while(i) destination_names.Add("a [pick(destination_types)] in [pick(star_names)]") @@ -104,8 +104,8 @@ // Note that the current station being used will be pruned from this list upon being instantiated destination_names = list( "NSS Exodus in Nyx", - //"NCS Northern Star in Vir", - "NLS Southern Cross in Vir", + "NCS Northern Star in Vir", + //"NLS Southern Cross in Vir", "NAS Vir Central Command", "a dockyard orbiting Sif", "an asteroid orbiting Kara", @@ -235,6 +235,19 @@ motto = "" ship_prefixes = list("WTV" = "freight") + ship_names = list( + "Comet", + "Aurora", + "Supernova", + "Nebula", + "Galaxy", + "Starburst", + "Constellation", + "Pulsar", + "Quark", + "Void", + "Asteroid" + ) destination_names = list() /datum/lore/organization/tsc/bishop @@ -360,7 +373,8 @@ "Preemptive Defensive Strike", "This Ship Is Spiders", "Legitimate Trade Vessel", - "Please Don't Explode II" + "Please Don't Explode II", + "Get Off the Air" ) destination_names = list( "a trade outpost in Shelf" diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index e4c5a10d356..09d4738d67b 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -22,6 +22,7 @@ var/adminobs = null var/area = null var/time_died_as_mouse = null //when the client last died as a mouse + var/datum/tooltip/tooltips = null var/adminhelped = 0 diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 88352c04eba..95ce3456b69 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -252,7 +252,7 @@ //Panic bunker code if (isnum(player_age) && player_age == 0) //first connection if (config.panic_bunker && !holder && !deadmin_holder) - log_access("Failed Login: [key] - New account attempting to connect during panic bunker") + log_adminwarn("Failed Login: [key] - New account attempting to connect during panic bunker") message_admins("Failed Login: [key] - New account attempting to connect during panic bunker") to_chat(src, "Sorry but the server is currently not accepting connections from never before seen players.") qdel(src) diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index 604c9cb1ff6..f0bccd731e0 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -152,7 +152,7 @@ datum/preferences/proc/set_biological_gender(var/gender) if(pref.species) S = all_species[pref.species] else - S = all_species["Human"] + S = all_species[SPECIES_HUMAN] var/list/possible_genders = S.genders if(!pref.organ_data || pref.organ_data[BP_TORSO] != "cyborg") return possible_genders diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 73d91129e77..1fc3b1d8ba6 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -4,7 +4,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/equip_preview_mob = EQUIP_PREVIEW_ALL var/icon/bgstate = "000" - var/list/bgstate_options = list("000", "fff", "steel", "white") + var/list/bgstate_options = list("000", "midgrey", "FFF", "white", "steel", "techmaint", "dark", "plating", "reinforced") /datum/category_item/player_setup_item/general/body name = "Body" @@ -69,7 +69,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O /datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S) if(!pref.species || !(pref.species in playable_species)) - pref.species = "Human" + pref.species = SPECIES_HUMAN pref.r_hair = sanitize_integer(pref.r_hair, 0, 255, initial(pref.r_hair)) pref.g_hair = sanitize_integer(pref.g_hair, 0, 255, initial(pref.g_hair)) pref.b_hair = sanitize_integer(pref.b_hair, 0, 255, initial(pref.b_hair)) @@ -282,21 +282,21 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += "Hair
    " if(has_flag(mob_species, HAS_HAIR_COLOR)) - . += "Change Color
    __
    " + . += "Change Color
    __
    " . += " Style: [pref.h_style]
    " . += "
    Facial
    " if(has_flag(mob_species, HAS_HAIR_COLOR)) - . += "Change Color
    __
    " + . += "Change Color
    __
    " . += " Style: [pref.f_style]
    " if(has_flag(mob_species, HAS_EYE_COLOR)) . += "
    Eyes
    " - . += "Change Color
    __

    " + . += "Change Color
    __

    " if(has_flag(mob_species, HAS_SKIN_COLOR)) . += "
    Body Color
    " - . += "Change Color
    __

    " + . += "Change Color
    __

    " . += "
    Body Markings +
    " for(var/M in pref.body_markings) @@ -307,7 +307,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += "
    " . += "Allow Synth color: [pref.synth_color ? "Yes" : "No"]
    " if(pref.synth_color) - . += "Change Color
    __
    " + . += "Change Color
    __
    " . = jointext(.,null) @@ -588,7 +588,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.rlimb_data[second_limb] = null if("Prosthesis") - var/tmp_species = pref.species ? pref.species : "Human" + var/tmp_species = pref.species ? pref.species : SPECIES_HUMAN var/list/usable_manufacturers = list() for(var/company in chargen_robolimbs) var/datum/robolimb/M = chargen_robolimbs[company] @@ -727,7 +727,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O /datum/category_item/player_setup_item/general/body/proc/SetSpecies(mob/user) if(!pref.species_preview || !(pref.species_preview in all_species)) - pref.species_preview = "Human" + pref.species_preview = SPECIES_HUMAN var/datum/species/current_species = all_species[pref.species_preview] var/dat = "" dat += "

    [current_species.name] \[change\]


    " @@ -741,7 +741,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O dat += "Language: [current_species.species_language]
    " dat += "" if(current_species.spawn_flags & SPECIES_CAN_JOIN) - dat += "
    Often present on human stations." + switch(current_species.rarity_value) + if(1 to 2) + dat += "
    Often present on human stations." + if(3 to 4) + dat += "
    Rarely present on human stations." + if(5) + dat += "
    Unheard of on human stations." + else + dat += "
    May be present on human stations." if(current_species.spawn_flags & SPECIES_IS_WHITELISTED) dat += "
    Whitelist restricted." if(!current_species.has_organ[O_HEART]) diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 09289c1068f..29502ec9850 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -7,24 +7,28 @@ S["UI_style_color"] >> pref.UI_style_color S["UI_style_alpha"] >> pref.UI_style_alpha S["ooccolor"] >> pref.ooccolor + S["tooltipstyle"] >> pref.tooltipstyle /datum/category_item/player_setup_item/player_global/ui/save_preferences(var/savefile/S) S["UI_style"] << pref.UI_style S["UI_style_color"] << pref.UI_style_color S["UI_style_alpha"] << pref.UI_style_alpha S["ooccolor"] << pref.ooccolor + S["tooltipstyle"] << pref.tooltipstyle /datum/category_item/player_setup_item/player_global/ui/sanitize_preferences() pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style)) pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, initial(pref.UI_style_color)) pref.UI_style_alpha = sanitize_integer(pref.UI_style_alpha, 0, 255, initial(pref.UI_style_alpha)) pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor)) + pref.tooltipstyle = sanitize_inlist(pref.tooltipstyle, all_tooltip_styles, initial(pref.tooltipstyle)) /datum/category_item/player_setup_item/player_global/ui/content(var/mob/user) . = "UI Style: [pref.UI_style]
    " . += "Custom UI (recommended for White UI):
    " . += "-Color: [pref.UI_style_color] 
    __
     reset
    " . += "-Alpha(transparency): [pref.UI_style_alpha] reset
    " + . += "Tooltip Style: [pref.tooltipstyle]
    " if(can_select_ooc_color(user)) . += "OOC Color: " if(pref.ooccolor == initial(pref.ooccolor)) @@ -57,6 +61,12 @@ pref.ooccolor = new_ooccolor return TOPIC_REFRESH + else if(href_list["select_tooltip_style"]) + var/tooltip_style_new = input(user, "Choose tooltip style.", "Character Preference", pref.tooltipstyle) as null|anything in all_tooltip_styles + if(!tooltip_style_new || !CanUseTopic(user)) return TOPIC_NOACTION + pref.tooltipstyle = tooltip_style_new + return TOPIC_REFRESH + else if(href_list["reset"]) switch(href_list["reset"]) if("ui") diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm index 71559fed0e5..9035485bdab 100644 --- a/code/modules/client/preference_setup/global/setting_datums.dm +++ b/code/modules/client/preference_setup/global/setting_datums.dm @@ -98,6 +98,25 @@ var/list/_client_preferences_by_type enabled_description = "Show" disabled_description = "Hide" +/datum/client_preference/mob_tooltips + description ="Mob tooltips" + key = "MOB_TOOLTIPS" + enabled_description = "Show" + disabled_description = "Hide" + +/datum/client_preference/attack_icons + description ="Attack icons" + key = "ATTACK_ICONS" + enabled_description = "Show" + disabled_description = "Hide" + +/datum/client_preference/hotkeys_default + description ="Hotkeys Default" + key = "HUD_HOTKEYS" + enabled_description = "Enabled" + disabled_description = "Disabled" + enabled_by_default = FALSE // Backwards compatibility + /datum/client_preference/show_typing_indicator description ="Typing indicator" key = "SHOW_TYPING" @@ -106,7 +125,7 @@ var/list/_client_preferences_by_type /datum/client_preference/show_typing_indicator/toggled(var/mob/preference_mob, var/enabled) if(!enabled) - preference_mob.set_typing_indicator(0) + preference_mob.set_typing_indicator(FALSE) /datum/client_preference/show_ooc description ="OOC chat" diff --git a/code/modules/client/preference_setup/loadout/loadout_ears.dm b/code/modules/client/preference_setup/loadout/loadout_ears.dm index 06aa10daa3a..23e7c8e33b5 100644 --- a/code/modules/client/preference_setup/loadout/loadout_ears.dm +++ b/code/modules/client/preference_setup/loadout/loadout_ears.dm @@ -7,9 +7,4 @@ /datum/gear/ears/headphones display_name = "headphones" - path = /obj/item/clothing/ears/earmuffs/headphones - -/datum/gear/ears/translator - display_name = "universal translator, ear" - path = /obj/item/device/universal_translator/ear - cost = 8 \ No newline at end of file + path = /obj/item/clothing/ears/earmuffs/headphones \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_shoes.dm b/code/modules/client/preference_setup/loadout/loadout_shoes.dm index 6b15fba5ea7..6cca1946fd2 100644 --- a/code/modules/client/preference_setup/loadout/loadout_shoes.dm +++ b/code/modules/client/preference_setup/loadout/loadout_shoes.dm @@ -141,6 +141,14 @@ display_name = "cowboy boots" path = /obj/item/clothing/shoes/boots/cowboy +/datum/gear/shoes/cowboy/classic + display_name = "classic cowboy boots" + path = /obj/item/clothing/shoes/boots/cowboy/classic + +/datum/gear/shoes/cowboy/snakeskin + display_name = "snakeskin cowboy boots" + path = /obj/item/clothing/shoes/boots/cowboy/snakeskin + /datum/gear/shoes/jungle display_name = "jungle boots" path = /obj/item/clothing/shoes/boots/jungle diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 0208c234d4c..6b32034b31c 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -90,6 +90,14 @@ display_name = "trenchcoat, grey" path = /obj/item/clothing/suit/storage/trench/grey +datum/gear/suit/duster + display_name = "cowboy duster" + path = /obj/item/clothing/suit/storage/duster + +/datum/gear/suit/duster/New() + ..() + gear_tweaks = list(gear_tweak_free_color_choice) + /datum/gear/suit/hazard_vest display_name = "hazard vest selection" path = /obj/item/clothing/suit/storage/hazardvest @@ -181,27 +189,22 @@ /datum/gear/suit/roles/poncho/security display_name = "poncho, security" path = /obj/item/clothing/accessory/poncho/roles/security - allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer") /datum/gear/suit/roles/poncho/medical display_name = "poncho, medical" path = /obj/item/clothing/accessory/poncho/roles/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist") /datum/gear/suit/roles/poncho/engineering display_name = "poncho, engineering" path = /obj/item/clothing/accessory/poncho/roles/engineering - allowed_roles = list("Chief Engineer","Atmospheric Technician", "Station Engineer") /datum/gear/suit/roles/poncho/science display_name = "poncho, science" path = /obj/item/clothing/accessory/poncho/roles/science - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist") /datum/gear/suit/roles/poncho/cargo display_name = "poncho, cargo" path = /obj/item/clothing/accessory/poncho/roles/cargo - allowed_roles = list("Quartermaster","Cargo Technician") /datum/gear/suit/roles/poncho/cloak/hos display_name = "cloak, head of security" diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform.dm b/code/modules/client/preference_setup/loadout/loadout_uniform.dm index cc5ca1cc9d3..591269f4181 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uniform.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uniform.dm @@ -448,4 +448,12 @@ /datum/gear/uniform/bathrobe display_name = "bathrobe" - path = /obj/item/clothing/under/bathrobe \ No newline at end of file + path = /obj/item/clothing/under/bathrobe + +/datum/gear/uniform/flamenco + display_name = "flamenco dress" + path = /obj/item/clothing/under/dress/flamenco + +/datum/gear/uniform/westernbustle + display_name = "western bustle" + path = /obj/item/clothing/under/dress/westernbustle \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index 91f1ebf6345..24d5c1d3ea9 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -8,6 +8,11 @@ display_name = "clipboard" path = /obj/item/weapon/clipboard +/datum/gear/utility/tts_device + display_name = "text to speech device" + path = /obj/item/device/text_to_speech + cost = 3 //Not extremely expensive, but it's useful for mute chracters. + /datum/gear/utility/communicator display_name = "communicator selection" path = /obj/item/device/communicator @@ -29,7 +34,7 @@ display_name = "the traveler's guide to vir" path = /obj/item/weapon/book/codex/lore/vir cost = 0 - + /datum/gear/utility/news display_name = "daedalus pocket newscaster" path = /obj/item/weapon/book/codex/lore/news @@ -115,11 +120,6 @@ slot = "implant" exploitable = 1 -/datum/gear/utility/translator - display_name = "universal translator" - path = /obj/item/device/universal_translator - cost = 8 - /datum/gear/utility/pen display_name = "Fountain Pen" path = /obj/item/weapon/pen/fountain @@ -132,3 +132,12 @@ /datum/gear/utility/wheelchair/color/New() ..() gear_tweaks = list(gear_tweak_free_color_choice) + +/datum/gear/utility/umbrella + display_name = "Umbrella" + path = /obj/item/weapon/melee/umbrella + cost = 3 + +/datum/gear/utility/umbrella/New() + ..() + gear_tweaks = list(gear_tweak_free_color_choice) \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm index 7e4a082ff7e..c7d93294aca 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm @@ -1,13 +1,13 @@ // Alien clothing. /datum/gear/suit/zhan_furs - display_name = "Zhan-Khazan furs (Tajara)" + display_name = "Zhan-Khazan furs (Tajaran)" path = /obj/item/clothing/suit/tajaran/furs sort_category = "Xenowear" /datum/gear/head/zhan_scarf display_name = "Zhan headscarf" path = /obj/item/clothing/head/tajaran/scarf - whitelisted = "Tajara" + whitelisted = SPECIES_TAJ /datum/gear/suit/unathi_mantle display_name = "hide mantle (Unathi)" @@ -19,7 +19,7 @@ display_name = "headtail chain selection (Skrell)" path = /obj/item/clothing/ears/skrell/chain sort_category = "Xenowear" - whitelisted = "Skrell" + whitelisted = SPECIES_SKRELL /datum/gear/ears/skrell/chains/New() ..() @@ -33,7 +33,7 @@ display_name = "headtail band selection (Skrell)" path = /obj/item/clothing/ears/skrell/band sort_category = "Xenowear" - whitelisted = "Skrell" + whitelisted = SPECIES_SKRELL /datum/gear/ears/skrell/bands/New() ..() @@ -47,7 +47,7 @@ display_name = "short headtail cloth (Skrell)" path = /obj/item/clothing/ears/skrell/cloth_male/black sort_category = "Xenowear" - whitelisted = "Skrell" + whitelisted = SPECIES_SKRELL /datum/gear/ears/skrell/cloth/short/New() ..() @@ -61,7 +61,7 @@ display_name = "long headtail cloth (Skrell)" path = /obj/item/clothing/ears/skrell/cloth_female/black sort_category = "Xenowear" - whitelisted = "Skrell" + whitelisted = SPECIES_SKRELL /datum/gear/ears/skrell/cloth/long/New() ..() @@ -75,7 +75,7 @@ display_name = "Colored bands (Skrell)" path = /obj/item/clothing/ears/skrell/colored/band sort_category = "Xenowear" - whitelisted = "Skrell" + whitelisted = SPECIES_SKRELL /datum/gear/ears/skrell/colored/band/New() ..() @@ -85,7 +85,7 @@ display_name = "Colored chain (Skrell)" path = /obj/item/clothing/ears/skrell/colored/chain sort_category = "Xenowear" - whitelisted = "Skrell" + whitelisted = SPECIES_SKRELL /datum/gear/ears/skrell/colored/chain/New() ..() @@ -94,7 +94,7 @@ /datum/gear/uniform/smock display_name = "smock selection (Teshari)" path = /obj/item/clothing/under/seromi/smock - whitelisted = "Teshari" + whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/uniform/smock/New() @@ -108,7 +108,7 @@ /datum/gear/uniform/undercoat display_name = "undercoat selection (Teshari)" path = /obj/item/clothing/under/seromi/undercoat - whitelisted = "Teshari" + whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/uniform/undercoat/New() @@ -122,7 +122,7 @@ /datum/gear/suit/cloak display_name = "cloak selection (Teshari)" path = /obj/item/clothing/suit/storage/seromi/cloak - whitelisted = "Teshari" + whitelisted = SPECIES_TESHARI sort_category = "Xenowear" /datum/gear/suit/cloak/New() @@ -147,4 +147,17 @@ display_name = "cloth footwraps" path = /obj/item/clothing/shoes/footwraps sort_category = "Xenowear" - cost = 1 \ No newline at end of file + cost = 1 + +/datum/gear/uniform/cohesionsuits + display_name = "cohesion suit selection (Promethean)" + path = /obj/item/clothing/under/cohesion + sort_category = "Xenowear" + +/datum/gear/uniform/cohesionsuits/New() + ..() + var/list/cohesionsuits = list() + for(var/cohesionsuit in (typesof(/obj/item/clothing/under/cohesion))) + var/obj/item/clothing/under/cohesion/cohesion_type = cohesionsuit + cohesionsuits[initial(cohesion_type.name)] = cohesion_type + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cohesionsuits)) \ No newline at end of file diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index fc43aee89a5..58a8003cf9a 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -54,7 +54,7 @@ if(alt_title && !(alt_title in job.alt_titles)) pref.player_alt_titles -= job.title -/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 18, list/splitJobs = list("Chief Medical Officer")) +/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 18, list/splitJobs = list("Chief Engineer")) if(!job_master) return @@ -94,7 +94,7 @@ if(job.minimum_character_age && user.client && (user.client.prefs.age < job.minimum_character_age)) . += "[rank] \[MINIMUM CHARACTER AGE: [job.minimum_character_age]]" continue - if((pref.job_civilian_low & ASSISTANT) && (rank != "Assistant")) + if((pref.job_civilian_low & ASSISTANT) && job.type != /datum/job/assistant) . += "[rank]" continue if((rank in command_positions) || (rank == "AI"))//Bold head jobs @@ -106,7 +106,7 @@ . += "" - if(rank == "Assistant")//Assistant is special + if(job.type == /datum/job/assistant)//Assistant is special if(pref.job_civilian_low & ASSISTANT) . += " \[Yes]" else @@ -180,7 +180,7 @@ if(!job) return 0 - if(role == "Assistant") + if(job.type == /datum/job/assistant) if(pref.job_civilian_low & job.flag) pref.job_civilian_low &= ~job.flag else diff --git a/code/modules/client/preference_setup/traits/trait_defines.dm b/code/modules/client/preference_setup/traits/trait_defines.dm index 71227c1d23a..f8405eb7f83 100644 --- a/code/modules/client/preference_setup/traits/trait_defines.dm +++ b/code/modules/client/preference_setup/traits/trait_defines.dm @@ -226,7 +226,7 @@ mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe) /datum/trait/modifier/mental/tajaraphobe - name = "Tajara-phobic" + name = "Tajaran-phobic" desc = "Boilerplate racism for cats goes here." mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 915ea1758de..0b93d1bd648 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -21,6 +21,7 @@ datum/preferences var/UI_style = "Midnight" var/UI_style_color = "#ffffff" var/UI_style_alpha = 255 + var/tooltipstyle = "Midnight" //Style for popup tooltips //character preferences var/real_name //our character's name @@ -46,7 +47,7 @@ datum/preferences var/r_eyes = 0 //Eye color var/g_eyes = 0 //Eye color var/b_eyes = 0 //Eye color - var/species = "Human" //Species datum to use. + var/species = SPECIES_HUMAN //Species datum to use. var/species_preview //Used for the species selection window. var/list/alternate_languages = list() //Secondary language(s) var/list/language_prefixes = list() //Kanguage prefix keys @@ -272,7 +273,7 @@ datum/preferences ShowChoices(usr) return 1 -/datum/preferences/proc/copy_to(mob/living/carbon/human/character, icon_updates = 1) +/datum/preferences/proc/copy_to(mob/living/carbon/human/character, icon_updates = TRUE) // Sanitizing rather than saving as someone might still be editing when copy_to occurs. player_setup.sanitize_setup() @@ -287,10 +288,10 @@ datum/preferences if(icon_updates) character.force_update_limbs() - character.update_mutations(0) - character.update_underwear(0) - character.update_hair(0) - character.update_icons_all() + character.update_icons_body() + character.update_mutations() + character.update_underwear() + character.update_hair() /datum/preferences/proc/open_load_dialog(mob/user) var/dat = "" diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm index bcd4e3a0c1a..5312f1f07ec 100644 --- a/code/modules/client/preferences_toggle_procs.dm +++ b/code/modules/client/preferences_toggle_procs.dm @@ -98,11 +98,11 @@ toggle_preference(pref_path) - src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] see the speech indicator." + src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] have the speech indicator." prefs.save_preferences() - feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + feedback_add_details("admin_verb","TTIND") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggle_ahelp_sound() set name = "Toggle Admin Help Sound" @@ -192,6 +192,19 @@ feedback_add_details("admin_verb","TFiringMode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/verb/toggle_mob_tooltips() + set name = "Toggle Mob Tooltips" + set category = "Preferences" + set desc = "Toggles displaying name/species over mobs when moused over." + + var/pref_path = /datum/client_preference/mob_tooltips + toggle_preference(pref_path) + prefs.save_preferences() + + src << "You will now [(is_preference_enabled(/datum/client_preference/mob_tooltips)) ? "see" : "not see"] mob tooltips." + + feedback_add_details("admin_verb","TMobTooltips") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + //Toggles for Staff //Developers diff --git a/code/modules/client/ui_style.dm b/code/modules/client/ui_style.dm index d8d683d5d3c..4a736aec5ec 100644 --- a/code/modules/client/ui_style.dm +++ b/code/modules/client/ui_style.dm @@ -20,6 +20,15 @@ "Hologram" = 'icons/mob/screen1_robot_minimalist.dmi' ) +var/global/list/all_tooltip_styles = list( + "Midnight", //Default for everyone is the first one, + "Plasmafire", + "Retro", + "Slimecore", + "Operative", + "Clockwork" + ) + /proc/ui_style2icon(ui_style) if(ui_style in all_ui_styles) return all_ui_styles[ui_style] diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index b86471bf844..b0fe0ae096f 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -430,6 +430,7 @@ P.icon = initial(copy_projectile.icon) P.icon_state = initial(copy_projectile.icon_state) P.pass_flags = initial(copy_projectile.pass_flags) + P.fire_sound = initial(copy_projectile.fire_sound) P.hitscan = initial(copy_projectile.hitscan) P.step_delay = initial(copy_projectile.step_delay) P.muzzle_type = initial(copy_projectile.muzzle_type) @@ -451,12 +452,15 @@ var/obj/item/weapon/gun/copy = ..() flags_inv = copy.flags_inv - fire_sound = copy.fire_sound + if(copy.fire_sound) + fire_sound = copy.fire_sound + else + fire_sound = null fire_sound_text = copy.fire_sound_text - var/obj/item/weapon/gun/energy/E = copy - if(istype(E)) - copy_projectile = E.projectile_type + var/obj/item/weapon/gun/G = copy + if(istype(G)) + copy_projectile = G.projectile_type //charge_meter = E.charge_meter //does not work very well with icon_state changes, ATM else copy_projectile = null diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 62a6e675c43..ee815fd5584 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -22,6 +22,7 @@ */ var/list/sprite_sheets_refit = null var/ear_protection = 0 + var/blood_sprite_state //Updates the icons of the mob wearing the clothing item, if any. /obj/item/clothing/proc/update_clothing_icon() @@ -56,7 +57,7 @@ if (!..()) return 0 - if(species_restricted && istype(M,/mob/living/carbon/human)) + if(LAZYLEN(species_restricted) && istype(M,/mob/living/carbon/human)) var/exclusive = null var/wearable = null var/mob/living/carbon/human/H = M @@ -66,10 +67,10 @@ if(H.species) if(exclusive) - if(!(H.species.get_bodytype() in species_restricted)) + if(!(H.species.get_bodytype(H) in species_restricted)) wearable = 1 else - if(H.species.get_bodytype() in species_restricted) + if(H.species.get_bodytype(H) in species_restricted) wearable = 1 if(!wearable && !(slot in list(slot_l_store, slot_r_store, slot_s_store))) @@ -83,16 +84,14 @@ //Set species_restricted list switch(target_species) - if("Human", "Skrell") //humanoid bodytypes - species_restricted = list("Human", "Skrell", "Promethean") //skrell/humans can wear each other's suits + if(SPECIES_HUMAN, SPECIES_SKRELL) //humanoid bodytypes + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) //skrell/humans can wear each other's suits else species_restricted = list(target_species) //Set icon if (sprite_sheets_refit && (target_species in sprite_sheets_refit)) - icon_override = sprite_sheets_refit[target_species] - else - icon_override = initial(icon_override) + sprite_sheets[target_species] = sprite_sheets_refit[target_species] if (sprite_sheets_obj && (target_species in sprite_sheets_obj)) icon = sprite_sheets_obj[target_species] @@ -105,17 +104,15 @@ //Set species_restricted list switch(target_species) - if("Skrell") - species_restricted = list("Human", "Skrell", "Promethean") //skrell helmets fit humans too + if(SPECIES_SKRELL) + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) //skrell helmets fit humans too else species_restricted = list(target_species) //Set icon if (sprite_sheets_refit && (target_species in sprite_sheets_refit)) - icon_override = sprite_sheets_refit[target_species] - else - icon_override = initial(icon_override) + sprite_sheets[target_species] = sprite_sheets_refit[target_species] if (sprite_sheets_obj && (target_species in sprite_sheets_obj)) icon = sprite_sheets_obj[target_species] @@ -130,7 +127,7 @@ throwforce = 2 slot_flags = SLOT_EARS sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/ears.dmi') + SPECIES_TESHARI = 'icons/mob/species/seromi/ears.dmi') /obj/item/clothing/ears/attack_hand(mob/user as mob) if (!user) return @@ -196,20 +193,23 @@ gender = PLURAL //Carn: for grammarically correct text-parsing w_class = ITEMSIZE_SMALL icon = 'icons/obj/clothing/gloves.dmi' - siemens_coefficient = 0.75 + siemens_coefficient = 0.9 + blood_sprite_state = "bloodyhands" var/wired = 0 var/obj/item/weapon/cell/cell = 0 var/fingerprint_chance = 0 //How likely the glove is to let fingerprints through var/obj/item/clothing/gloves/ring = null //Covered ring var/mob/living/carbon/human/wearer = null //Used for covered rings when dropping - var/glove_level = 2 //What "layer" the glove is on - var/overgloves = 0 //Used by gauntlets and arm_guards + var/glove_level = 2 //What "layer" the glove is on + var/overgloves = 0 //Used by gauntlets and arm_guards + var/punch_force = 0 //How much damage do these gloves add to a punch? + var/punch_damtype = BRUTE //What type of damage does this make fists be? body_parts_covered = HANDS slot_flags = SLOT_GLOVES attack_verb = list("challenged") sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/gloves.dmi', - "Vox" = 'icons/mob/species/vox/gloves.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/gloves.dmi', + SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi' ) /obj/item/clothing/gloves/update_clothing_icon() @@ -242,8 +242,8 @@ name = "modified [name]" desc = "[desc]
    They have had the fingertips cut off of them." if("exclude" in species_restricted) - species_restricted -= "Unathi" - species_restricted -= "Tajara" + species_restricted -= SPECIES_UNATHI + species_restricted -= SPECIES_TAJ return */ @@ -251,7 +251,7 @@ var/mob/living/carbon/human/H = user if(slot && slot == slot_gloves) - if(istype(H.gloves, /obj/item/clothing/gloves/ring)) + if(H.gloves) ring = H.gloves if(ring.glove_level >= src.glove_level) to_chat(user, "You are unable to wear \the [src] as \the [H.gloves] are in the way.") @@ -261,6 +261,8 @@ H.drop_from_inventory(ring) //Remove the ring (or other under-glove item in the hand slot?) so you can put on the gloves. ring.forceMove(src) to_chat(user, "You slip \the [src] on over \the [src.ring].") + if(!(flags & THICKMATERIAL)) + punch_force += ring.punch_force else ring = null @@ -268,6 +270,7 @@ if(ring) //Put the ring back on if the check fails. if(H.equip_to_slot_if_possible(ring, slot_gloves)) src.ring = null + punch_force = initial(punch_force) return 0 wearer = H //TODO clean this when magboots are cleaned @@ -284,6 +287,7 @@ if(!H.equip_to_slot_if_possible(ring, slot_gloves)) ring.forceMove(get_turf(src)) src.ring = null + punch_force = initial(punch_force) wearer = null ///////////////////////////////////////////////////////////////////// @@ -294,10 +298,11 @@ w_class = ITEMSIZE_TINY icon = 'icons/obj/clothing/rings.dmi' gender = NEUTER - species_restricted = list("exclude", "Diona") + species_restricted = list("exclude", SPECIES_DIONA) siemens_coefficient = 1 glove_level = 1 fingerprint_chance = 100 + punch_force = 2 /////////////////////////////////////////////////////////////////////// //Head @@ -311,15 +316,17 @@ body_parts_covered = HEAD slot_flags = SLOT_HEAD w_class = ITEMSIZE_SMALL + blood_sprite_state = "helmetblood" var/light_overlay = "helmet_light" var/light_applied var/brightness_on var/on = 0 + var/image/helmet_light sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/head.dmi', - "Vox" = 'icons/mob/species/vox/head.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) /obj/item/clothing/head/attack_self(mob/user) @@ -379,29 +386,29 @@ return 1 /obj/item/clothing/head/update_icon(var/mob/user) - - overlays.Cut() var/mob/living/carbon/human/H - if(istype(user,/mob/living/carbon/human)) + if(ishuman(user)) H = user if(on) - // Generate object icon. if(!light_overlay_cache["[light_overlay]_icon"]) - light_overlay_cache["[light_overlay]_icon"] = image("icon" = 'icons/obj/light_overlays.dmi', "icon_state" = "[light_overlay]") - overlays |= light_overlay_cache["[light_overlay]_icon"] + light_overlay_cache["[light_overlay]_icon"] = image(icon = 'icons/obj/light_overlays.dmi', icon_state = "[light_overlay]") + helmet_light = light_overlay_cache["[light_overlay]_icon"] + add_overlay(helmet_light) // Generate and cache the on-mob icon, which is used in update_inv_head(). - var/cache_key = "[light_overlay][H ? "_[H.species.get_bodytype(H)]" : ""]" + var/body_type = (H && H.species.get_bodytype(H)) + var/cache_key = "[light_overlay][body_type && sprite_sheets[body_type] ? "_[body_type]" : ""]" if(!light_overlay_cache[cache_key]) - var/use_icon = 'icons/mob/light_overlays.dmi' - if(H && sprite_sheets[H.species.get_bodytype(H)]) - use_icon = sprite_sheets[H.species.get_bodytype(H)] - light_overlay_cache[cache_key] = image("icon" = use_icon, "icon_state" = "[light_overlay]") + var/use_icon = LAZYACCESS(sprite_sheets,body_type) || 'icons/mob/light_overlays.dmi' + light_overlay_cache[cache_key] = image(icon = use_icon, icon_state = "[light_overlay]") - if(H) - H.update_inv_head() + else if(helmet_light) + cut_overlay(helmet_light) + helmet_light = null + + user.update_inv_head() //Will redraw the helmet with the light on the mob /obj/item/clothing/head/update_clothing_icon() if (ismob(src.loc)) @@ -420,11 +427,12 @@ body_parts_covered = HEAD slot_flags = SLOT_MASK body_parts_covered = FACE|EYES + blood_sprite_state = "maskblood" sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/masks.dmi', - "Vox" = 'icons/mob/species/vox/masks.dmi', - "Tajara" = 'icons/mob/species/tajaran/mask.dmi', - "Unathi" = 'icons/mob/species/unathi/mask.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/masks.dmi', + SPECIES_VOX = 'icons/mob/species/vox/masks.dmi', + SPECIES_TAJ = 'icons/mob/species/tajaran/mask.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/mask.dmi' ) var/voicechange = 0 @@ -453,6 +461,7 @@ siemens_coefficient = 0.9 body_parts_covered = FEET slot_flags = SLOT_FEET + blood_sprite_state = "shoeblood" var/can_hold_knife = 0 var/obj/item/holding @@ -468,10 +477,10 @@ slowdown = SHOES_SLOWDOWN force = 2 var/overshoes = 0 - species_restricted = list("exclude","Teshari", "Vox") + species_restricted = list("exclude",SPECIES_TESHARI, SPECIES_VOX) sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/shoes.dmi', - "Vox" = 'icons/mob/species/vox/shoes.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/shoes.dmi', + SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi' ) /obj/item/clothing/shoes/proc/draw_knife() @@ -567,9 +576,10 @@ w_class = ITEMSIZE_NORMAL preserve_item = 1 + sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/suit.dmi', - "Vox" = 'icons/mob/species/vox/suit.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi', + SPECIES_VOX = 'icons/mob/species/vox/suit.dmi' ) valid_accessory_slots = list("over", "armband") @@ -595,6 +605,7 @@ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) w_class = ITEMSIZE_NORMAL show_messages = 1 + blood_sprite_state = "uniformblood" var/has_sensor = 1 //For the crew computer 2 = unable to change mode var/sensor_mode = 0 @@ -607,8 +618,8 @@ var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/uniform.dmi', - "Vox" = 'icons/mob/species/vox/uniform.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/uniform.dmi', + SPECIES_VOX = 'icons/mob/species/vox/uniform.dmi' ) //convenience var for defining the icon state for the overlay used when the clothing is worn. diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm index 58de134f7f8..57c292f1e38 100644 --- a/code/modules/clothing/clothing_accessories.dm +++ b/code/modules/clothing/clothing_accessories.dm @@ -1,28 +1,18 @@ /obj/item/clothing/proc/can_attach_accessory(obj/item/clothing/accessory/A) - if(valid_accessory_slots && istype(A) && (A.slot in valid_accessory_slots)) - .=1 + if(src.valid_accessory_slots && (A.slot in src.valid_accessory_slots)) + if(accessories.len && restricted_accessory_slots && (A.slot in restricted_accessory_slots)) + for(var/obj/item/clothing/accessory/AC in accessories) + if (AC.slot == A.slot) + return FALSE + return TRUE else - return 0 - if(accessories.len && restricted_accessory_slots && (A.slot in restricted_accessory_slots)) - for(var/obj/item/clothing/accessory/AC in accessories) - if (AC.slot == A.slot) - return 0 + return FALSE /obj/item/clothing/attackby(var/obj/item/I, var/mob/user) if(istype(I, /obj/item/clothing/accessory)) - - if(!valid_accessory_slots || !valid_accessory_slots.len) - usr << "You cannot attach accessories of any kind to \the [src]." - return - var/obj/item/clothing/accessory/A = I - if(can_attach_accessory(A)) - user.drop_item() - attach_accessory(user, A) + if(attempt_attach_accessory(A, user)) return - else - user << "You cannot attach more accessories of this type to [src]." - return if(accessories.len) for(var/obj/item/clothing/accessory/A in accessories) @@ -37,6 +27,10 @@ for(var/obj/item/clothing/accessory/A in accessories) A.attack_hand(user) return + if (ishuman(user) && src.loc == user) + var/mob/living/carbon/human/H = user + if(src != H.l_store && src != H.r_store && src != H.s_store) + return return ..() /obj/item/clothing/MouseDrop(var/obj/over_object) @@ -70,10 +64,29 @@ * user is the user doing the attaching. Can be null, such as when attaching * items on spawn */ +/obj/item/clothing/proc/attempt_attach_accessory(obj/item/clothing/accessory/A, mob/user) + if(!valid_accessory_slots || !valid_accessory_slots.len) + if(user) + to_chat(user, "You cannot attach accessories of any kind to \the [src].") + return FALSE + + var/obj/item/clothing/accessory/acc = A + if(can_attach_accessory(acc)) + if(user) + user.drop_item() + attach_accessory(user, acc) + return TRUE + else + if(user) + to_chat(user, "You cannot attach more accessories of this type to [src].") + return FALSE + + /obj/item/clothing/proc/attach_accessory(mob/user, obj/item/clothing/accessory/A) accessories += A A.on_attached(src, user) src.verbs |= /obj/item/clothing/proc/removetie_verb + update_accessory_slowdown() update_clothing_icon() /obj/item/clothing/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A) @@ -82,8 +95,14 @@ A.on_removed(user) accessories -= A + update_accessory_slowdown() update_clothing_icon() +/obj/item/clothing/proc/update_accessory_slowdown() + slowdown = initial(slowdown) + for(var/obj/item/clothing/accessory/A in accessories) + slowdown += A.slowdown + /obj/item/clothing/proc/removetie_verb() set name = "Remove Accessory" set category = "Object" diff --git a/code/modules/clothing/clothing_icons.dm b/code/modules/clothing/clothing_icons.dm new file mode 100644 index 00000000000..33e1da6000d --- /dev/null +++ b/code/modules/clothing/clothing_icons.dm @@ -0,0 +1,34 @@ +/obj/item/clothing/apply_accessories(var/image/standing) + if(LAZYLEN(accessories)) + for(var/obj/item/clothing/accessory/A in accessories) + standing.add_overlay(A.get_mob_overlay()) + +/obj/item/clothing/apply_blood(var/image/standing) + if(blood_DNA && blood_sprite_state && ishuman(loc)) + var/mob/living/carbon/human/H = loc + var/image/bloodsies = image(icon = H.species.get_blood_mask(H), icon_state = blood_sprite_state) + bloodsies.color = blood_color + standing.add_overlay(bloodsies) + +//UNIFORM: Always appends "_s" to iconstate, stupidly. +/obj/item/clothing/under/get_worn_icon_state(var/slot_name) + var/state2use = ..() + state2use += "_s" + return state2use + +//HELMET: May have a lighting overlay +/obj/item/clothing/head/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0) + var/image/standing = ..() + if(on && slot_name == slot_head_str) + var/cache_key = "[light_overlay][LAZYACCESS(sprite_sheets,body_type) ? "_[body_type]" : ""]" + if(standing && light_overlay_cache[cache_key]) + standing.add_overlay(light_overlay_cache[cache_key]) + return standing + +//SUIT: Blood state is slightly different +/obj/item/clothing/suit/apply_blood(var/image/standing) + if(blood_DNA && blood_sprite_state && ishuman(loc)) + var/mob/living/carbon/human/H = loc + var/image/bloodsies = image(icon = H.species.get_blood_mask(H), icon_state = "[blood_overlay_type]blood") + bloodsies.color = blood_color + standing.add_overlay(bloodsies) diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm index e6cc1e09833..11c81db6338 100644 --- a/code/modules/clothing/ears/ears.dm +++ b/code/modules/clothing/ears/ears.dm @@ -46,7 +46,7 @@ icon = 'icons/obj/clothing/ears.dmi' w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS - species_restricted = list("Skrell") + species_restricted = list(SPECIES_SKRELL) /obj/item/clothing/ears/skrell/chain name = "Gold headtail chains" diff --git a/code/modules/clothing/gloves/arm_guards.dm b/code/modules/clothing/gloves/arm_guards.dm index 80a5cfd7353..d258cb5b637 100644 --- a/code/modules/clothing/gloves/arm_guards.dm +++ b/code/modules/clothing/gloves/arm_guards.dm @@ -3,6 +3,7 @@ desc = "These arm guards will protect your hands and arms." body_parts_covered = HANDS|ARMS overgloves = 1 + punch_force = 3 w_class = ITEMSIZE_NORMAL /obj/item/clothing/gloves/arm_guard/mob_can_equip(var/mob/living/carbon/human/H, slot) @@ -27,7 +28,7 @@ icon_state = "arm_guards_bullet" item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") siemens_coefficient = 0.7 - armor = list(melee = 10, bullet = 80, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 80, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/gloves/arm_guard/riot name = "riot arm guards" @@ -35,7 +36,7 @@ icon_state = "arm_guards_riot" item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") siemens_coefficient = 0.5 - armor = list(melee = 80, bullet = 10, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/gloves/arm_guard/combat name = "combat arm guards" diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index d7e03622724..ef9d0e713db 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -6,21 +6,22 @@ permeability_coefficient = 0.05 /obj/item/clothing/gloves/fyellow //Cheap Chinese Crap - desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly." + desc = "These gloves are cheap copies of proper insulated gloves. No way this can end badly." name = "budget insulated gloves" icon_state = "yellow" - siemens_coefficient = 1 //Set to a default of 1, gets overridden in New() + siemens_coefficient = 1 //Set to a default of 1, gets overridden in initialize() permeability_coefficient = 0.05 - New() - //average of 0.5, somewhat better than regular gloves' 0.75 - siemens_coefficient = pick(0,0.1,0.3,0.5,0.5,0.75,1.35) +/obj/item/clothing/gloves/fyellow/initialize() + . = ..() + //Picks a value between 0 and 1, in 5% increments + var/shock_pick = rand(0,20) + siemens_coefficient = shock_pick * 0.05 /obj/item/clothing/gloves/black desc = "These work gloves are thick and fire-resistant." name = "black gloves" icon_state = "black" - siemens_coefficient = 0.50 permeability_coefficient = 0.05 cold_protection = HANDS diff --git a/code/modules/clothing/gloves/gauntlets.dm b/code/modules/clothing/gloves/gauntlets.dm index bc65252d38f..b65884d3f9c 100644 --- a/code/modules/clothing/gloves/gauntlets.dm +++ b/code/modules/clothing/gloves/gauntlets.dm @@ -11,6 +11,7 @@ desc = "These gloves go over regular gloves." glove_level = 3 overgloves = 1 + punch_force = 5 var/obj/item/clothing/gloves/gloves = null //Undergloves /obj/item/clothing/gloves/gauntlets/mob_can_equip(mob/user) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index ea194e1a510..7546d81651f 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -16,7 +16,6 @@ name = "forensic gloves" icon_state = "forensic" item_state = "black" - siemens_coefficient = 0.50 permeability_coefficient = 0.05 cold_protection = HANDS @@ -81,14 +80,13 @@ icon_state = "leather" item_state_slots = list(slot_r_hand_str = "lightbrown", slot_l_hand_str = "lightbrown") permeability_coefficient = 0.05 - siemens_coefficient = 0.50 //thick work gloves + siemens_coefficient = 0.75 //thick work gloves /obj/item/clothing/gloves/duty desc = "These brown duty gloves are made from a durable synthetic." name = "work gloves" icon_state = "work" item_state = "wgloves" - siemens_coefficient = 0.50 armor = list(melee = 10, bullet = 10, laser = 10, energy = 5, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/gloves/tactical @@ -97,7 +95,8 @@ icon_state = "work" item_state = "wgloves" force = 5 - siemens_coefficient = 0.50 + punch_force = 3 + siemens_coefficient = 0.75 permeability_coefficient = 0.05 armor = list(melee = 30, bullet = 10, laser = 10, energy = 15, bomb = 20, bio = 0, rad = 0) @@ -116,3 +115,15 @@ min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE + +/obj/item/clothing/gloves/knuckledusters + name = "knuckle dusters" + desc = "A pair of brass knuckles. Generally used to enhance the user's punches." + icon_state = "knuckledusters" + attack_verb = list("punched", "beaten", "struck") + flags = THICKMATERIAL // Stops rings from increasing hit strength + siemens_coefficient = 1 + fingerprint_chance = 100 + overgloves = 1 + force = 5 + punch_force = 5 diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index cd5a9278928..8446b09446c 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -10,8 +10,8 @@ desc = "an ultra rare hat. It commands a certain respect." icon_state = "petehat" sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/head.dmi', - "Vox" = 'icons/mob/species/vox/head.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) /obj/item/clothing/head/collectable/slime diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 8527e8b501d..b0462338492 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,6 +2,8 @@ name = "helmet" desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" + valid_accessory_slots = list(ACCESSORY_SLOT_HELM_C) + restricted_accessory_slots = list(ACCESSORY_SLOT_HELM_C) flags = THICKMATERIAL armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES @@ -18,6 +20,7 @@ desc = "A helmet painted in Peacekeeper blue. Stands out like a sore thumb." icon_state = "helmet_sol" armor = list(melee = 50, bullet = 50, laser = 50,energy = 25, bomb = 30, bio = 0, rad = 0) + valid_accessory_slots = null /obj/item/clothing/head/helmet/solgov/command name = "command helmet" @@ -61,6 +64,7 @@ armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.7 + valid_accessory_slots = null action_button_name = "Toggle Visor" /obj/item/clothing/head/helmet/riot/attack_self(mob/user as mob) @@ -80,6 +84,7 @@ armor = list(melee = 10, bullet = 10, laser = 80 ,energy = 50, bomb = 0, bio = 0, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.1 + valid_accessory_slots = null /obj/item/clothing/head/helmet/bulletproof name = "bullet-resistant helmet" @@ -89,6 +94,7 @@ armor = list(melee = 10, bullet = 80, laser = 10 ,energy = 10, bomb = 0, bio = 0, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.7 + valid_accessory_slots = null /obj/item/clothing/head/helmet/combat name = "combat helmet" @@ -98,6 +104,7 @@ armor = list(melee = 50, bullet = 50, laser = 50 ,energy = 30, bomb = 30, bio = 0, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.6 + valid_accessory_slots = null /obj/item/clothing/head/helmet/swat name = "\improper SWAT helmet" @@ -115,6 +122,7 @@ icon_state = "alienhelmet" siemens_coefficient = 0.4 armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 0, rad = 40) + valid_accessory_slots = null /obj/item/clothing/head/helmet/alien/tank name = "alien warhelm" @@ -137,6 +145,7 @@ flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES siemens_coefficient = 1 + valid_accessory_slots = null /obj/item/clothing/head/helmet/tactical name = "tactical helmet" @@ -144,13 +153,14 @@ icon_state = "swathelm" item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") sprite_sheets = list( - "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', - "Unathi" = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', ) armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.7 + valid_accessory_slots = null /obj/item/clothing/head/helmet/augment name = "Augment Array" @@ -162,6 +172,7 @@ cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 + valid_accessory_slots = null //Non-hardsuit ERT helmets. /obj/item/clothing/head/helmet/ert @@ -170,6 +181,7 @@ icon_state = "erthelmet_cmd" item_state_slots = list(slot_r_hand_str = "syndicate-helm-green", slot_l_hand_str = "syndicate-helm-green") armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0) + valid_accessory_slots = null //Commander /obj/item/clothing/head/helmet/ert/command diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index bb8f29e8925..2396ccd432c 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -103,23 +103,33 @@ icon_state = "beret_corporate_warden" item_state_slots = list(slot_r_hand_str = "beret_black", slot_l_hand_str = "beret_black") -/obj/item/clothing/head/helmet/warden //should these be helmets? +/obj/item/clothing/head/helmet/warden + name = "warden's helmet" + desc = "Standard Warden gear. Protects the head from impacts." + +/obj/item/clothing/head/helmet/warden/hat name = "warden's hat" - desc = "It's a special helmet issued to the Warden of a securiy force." + desc = "It's a special hat issued to the Warden of a securiy force." icon_state = "policehelm" - body_parts_covered = 0 + valid_accessory_slots = null /obj/item/clothing/head/helmet/HoS + name = "Head of Security helmet" + desc = "Standard Head of Security gear. Protects the head from impacts." + +/obj/item/clothing/head/helmet/HoS/hat name = "Head of Security Hat" desc = "The hat of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" - body_parts_covered = 0 + valid_accessory_slots = null -/obj/item/clothing/head/helmet/HoS/dermal +/obj/item/clothing/head/helmet/dermal name = "Dermal Armour Patch" desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head." icon_state = "dermal" item_state_slots = list(slot_r_hand_str = "", slot_l_hand_str = "") + valid_accessory_slots = null + show_examine = FALSE /obj/item/clothing/head/det name = "fedora" @@ -128,14 +138,14 @@ allowed = list(/obj/item/weapon/reagent_containers/food/snacks/candy_corn, /obj/item/weapon/pen) armor = list(melee = 10, bullet = 10, laser = 15, energy = 10, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 - body_parts_covered = 0 + valid_accessory_slots = null + show_examine = FALSE /obj/item/clothing/head/det/grey icon_state = "detective2" item_state_slots = list(slot_r_hand_str = "detective", slot_l_hand_str = "detective") desc = "A grey fedora - either the cornerstone of a detective's style or a poor attempt at looking cool, depending on the person wearing it." - /obj/item/clothing/head/beret/engineering name = "engineering beret" desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety." diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 2fa770fe4bd..fd850073d88 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -292,6 +292,11 @@ desc = "Because justice isn't going to dispense itself." icon_state = "cowboy_wide" +/obj/item/clothing/head/cowboy_hat/small + name = "small cowboy hat" + desc = "For the tiniest of cowboys." + icon_state = "cowboy_small" + /obj/item/clothing/head/witchwig name = "witch costume wig" desc = "Eeeee~heheheheheheh!" diff --git a/code/modules/clothing/head/pilot_helmet.dm b/code/modules/clothing/head/pilot_helmet.dm new file mode 100644 index 00000000000..feb60ae3a38 --- /dev/null +++ b/code/modules/clothing/head/pilot_helmet.dm @@ -0,0 +1,201 @@ +//Pilot + +/obj/item/clothing/head/pilot + name = "pilot helmet" + desc = "Standard pilot gear. Protects the head from impacts." + icon_state = "pilot_helmet1" + item_icons = list(slot_head_str = 'icons/mob/pilot_helmet.dmi') + sprite_sheets = list( + SPECIES_TESHARI = 'icons/mob/species/seromi/pilot_helmet.dmi' + ) + flags = THICKMATERIAL + armor = list(melee = 20, bullet = 10, laser = 10, energy = 5, bomb = 10, bio = 0, rad = 0) + flags_inv = HIDEEARS + cold_protection = HEAD + min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE + heat_protection = HEAD + max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE + w_class = ITEMSIZE_NORMAL + + var/obj/machinery/computer/shuttle_control/web/shuttle_comp + var/obj/screen/pilot_hud + var/list/images + var/list/raw_images + var/last_status + +/obj/item/clothing/head/pilot/initialize() + . = ..() + + images = list() + raw_images = list() + + pilot_hud = new(src) + pilot_hud.screen_loc = "1,1" + pilot_hud.icon = 'icons/obj/piloting_overlay.dmi' + pilot_hud.icon_state = "dimmer" + pilot_hud.layer = SCREEN_LAYER + pilot_hud.plane = PLANE_FULLSCREEN + pilot_hud.mouse_opacity = 0 + pilot_hud.alpha = 0 + + var/image/I + I = image(pilot_hud.icon,pilot_hud,"top_bar",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 145 + images["top_bar"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"top_dots",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 200 + images["topdots"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"words_discon",layer=SCREEN_LAYER+1) //words_standby, words_flying, words_spool, words_discon + I.appearance_flags = RESET_ALPHA + I.alpha = 200 + images["top_words"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 200 + images["charging"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"left_bar",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 0 + images["left_bar"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"right_bar",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 0 + images["right_bar"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"flyboxes",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 0 + images["flyboxes"] = I + raw_images += I + + I = image(pilot_hud.icon,pilot_hud,"horizon",layer=SCREEN_LAYER+1) + I.appearance_flags = RESET_ALPHA + I.alpha = 0 + images["horizon"] = I + raw_images += I + +/obj/item/clothing/head/pilot/proc/update_hud(var/status) + if(last_status == status) + return + + last_status = status + + if(status == SHUTTLE_INTRANSIT) + var/image/I = images["top_words"] + I.icon_state = "words_flying" + I = images["left_bar"] + I.alpha = 200 + I = images["right_bar"] + I.alpha = 200 + I = images["flyboxes"] + I.alpha = 200 + I = images["horizon"] + I.alpha = 200 + I = images["charging"] + I.icon_state = "" + animate(pilot_hud,alpha=255,time=3 SECONDS) + + else if(status == SHUTTLE_IDLE) + var/image/I = images["top_words"] + I.icon_state = "words_standby" + I = images["left_bar"] + I.alpha = 0 + I = images["right_bar"] + I.alpha = 0 + I = images["flyboxes"] + I.alpha = 0 + I = images["horizon"] + I.alpha = 0 + I = images["charging"] + I.icon_state = "" + animate(pilot_hud,alpha=0,time=3 SECONDS) + + else if(status == SHUTTLE_WARMUP) + var/image/I = images["top_words"] + I.icon_state = "words_spool" + I = images["left_bar"] + I.alpha = 200 + I = images["right_bar"] + I.alpha = 200 + I = images["flyboxes"] + I.alpha = 0 + I = images["horizon"] + I.alpha = 0 + I = images["charging"] + I.icon_state = "charging" + animate(pilot_hud,alpha=255,time=3 SECONDS) + + else if(status == "discon") + var/image/I = images["top_words"] + I.icon_state = "words_discon" + I = images["left_bar"] + I.alpha = 0 + I = images["right_bar"] + I.alpha = 0 + I = images["flyboxes"] + I.alpha = 0 + I = images["horizon"] + I.alpha = 0 + I = images["charging"] + I.icon_state = "" + animate(pilot_hud,alpha=0,time=3 SECONDS) + +/obj/item/clothing/head/pilot/verb/hud_colors() + set name = "Alter HUD color" + set desc = "Change the color of the piloting HUD." + set category = "Object" + set src in usr + + var/newcolor = input(usr,"Pick a color!","HUD Color") as null|color + if(newcolor) + for(var/img in list("top_words","left_bar","right_bar","flyboxes")) + var/image/I = images[img] + I.color = newcolor + +/obj/item/clothing/head/pilot/Destroy() + for(var/img in raw_images) + var/image/I = img + I.loc = null + shuttle_comp = null + qdel(pilot_hud) + return ..() + +/obj/item/clothing/head/pilot/equipped(var/mob/user,var/slot) + . = ..() + if(slot == slot_head && user.client) + user.client.screen |= pilot_hud + user.client.images |= raw_images + +/obj/item/clothing/head/pilot/dropped(var/mob/user) + . = ..() + if(user.client) + user.client.screen -= pilot_hud + user.client.images -= raw_images + +/obj/item/clothing/head/pilot/alt + name = "pilot helmet" + desc = "Standard pilot gear. Protects the head from impacts. This one has a retractable visor" + icon_state = "pilot_helmet2" + action_button_name = "Toggle Visor" + +/obj/item/clothing/head/pilot/alt/attack_self(mob/user as mob) + if(src.icon_state == initial(icon_state)) + src.icon_state = "[icon_state]up" + user << "You raise the visor on the pilot helmet." + else + src.icon_state = initial(icon_state) + user << "You lower the visor on the pilot helmet." + update_clothing_icon() //so our mob-overlays update \ No newline at end of file diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 48d24bb8c29..ea3e6c7cf4e 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -45,3 +45,17 @@ icon_state = "medical" item_state_slots = list(slot_r_hand_str = "medical", slot_l_hand_str = "medical") permeability_coefficient = 0.01 + +/obj/item/clothing/mask/breath/emergency + desc = "A close-fitting mask that is used by the wallmounted emergency oxygen pump." + name = "emergency mask" + icon_state = "breath" + item_state = "breath" + permeability_coefficient = 0.50 + +/obj/item/clothing/mask/breath/anesthetic + desc = "A close-fitting sterile mask that is used by the anesthetic wallmounted pump." + name = "anesthetic mask" + icon_state = "medical" + item_state = "medical" + permeability_coefficient = 0.01 diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 299680b8642..0fc1bff7920 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -58,7 +58,7 @@ body_parts_covered = 0 //Hack to allow vox to eat while wearing this mask. item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | PHORONGUARD phoronproof = 1 - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) filtered_gases = list("oxygen", "sleeping_agent") /obj/item/clothing/mask/gas/syndicate @@ -73,7 +73,6 @@ icon_state = "explorer" item_state_slots = list(slot_r_hand_str = "gas", slot_l_hand_str = "gas") armor = list(melee = 10, bullet = 5, laser = 5,energy = 5, bomb = 0, bio = 50, rad = 0) - body_parts_covered = HEAD|FACE|EYES siemens_coefficient = 0.9 /obj/item/clothing/mask/gas/clown_hat diff --git a/code/modules/clothing/rings/rings.dm b/code/modules/clothing/rings/rings.dm index 0bd745ed917..852ccfdb822 100644 --- a/code/modules/clothing/rings/rings.dm +++ b/code/modules/clothing/rings/rings.dm @@ -37,9 +37,9 @@ if(reagents.total_volume) to_chat(H, "You feel a prick as you slip on \the [src].") if(H.reagents) - var/contained_reagents = reagents.get_reagents() + var/contained = reagents.get_reagents() var/trans = reagents.trans_to_mob(H, 15, CHEM_BLOOD) - admin_inject_log(usr, H, src, contained_reagents, trans) + add_attack_logs(usr, H, "Injected with [name] containing [contained] transferred [trans] units") return //Sleepy Ring @@ -61,7 +61,7 @@ icon_state = "seal-secgen" /obj/item/clothing/gloves/ring/seal/mason - name = "masonic ring" + name = "\improper Masonic ring" desc = "The Square and Compasses feature prominently on this Masonic ring." icon_state = "seal-masonic" @@ -82,4 +82,4 @@ /obj/item/clothing/gloves/ring/seal/signet/proc/change_name(var/signet_name = "Unknown") name = "[signet_name]'s signet ring" - desc = "A signet ring belonging to [signet_name], for when you're too sophisticated to sign letters." \ No newline at end of file + desc = "A signet ring belonging to [signet_name], for when you're too sophisticated to sign letters." diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index cbd8fe680ec..0b6b6757dc8 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -11,6 +11,18 @@ desc = "Lacking a durasteel horse to ride." icon_state = "cowboy" +/obj/item/clothing/shoes/boots/cowboy/classic + name = "classic cowboy boots" + desc = "A classic looking pair of durable cowboy boots." + icon_state = "cowboy_classic" + item_state_slots = list(slot_r_hand_str = "leather", slot_l_hand_str = "leather") + +/obj/item/clothing/shoes/boots/cowboy/snakeskin + name = "snakeskin cowboy boots" + desc = "A pair of cowboy boots made from python skin." + icon_state = "cowboy_snakeskin" + item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white") + /obj/item/clothing/shoes/boots/jackboots name = "jackboots" desc = "Standard-issue Security combat boots for combat scenarios or combat situations. All combat, all the time." diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index b2395b7edf9..4bd3f59e29f 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -88,7 +88,7 @@ icon_state = "boots-vox" item_flags = PHORONGUARD phoronproof = 1 - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) action_button_name = "Toggle the magclaws" diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index e23c3c0c264..5b42e772949 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -4,7 +4,7 @@ desc = "Smoothly contoured and polished to a shine. Still looks like a fishbowl." armor = list(melee = 20, bullet = 20, laser = 20, energy = 50, bomb = 50, bio = 100, rad = 50) max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - species_restricted = list("Skrell","Human") + species_restricted = list(SPECIES_SKRELL,SPECIES_HUMAN) /obj/item/clothing/head/helmet/space/skrell/white icon_state = "skrell_helmet_white" @@ -19,7 +19,7 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - species_restricted = list("Skrell","Human") + species_restricted = list(SPECIES_SKRELL,SPECIES_HUMAN) /obj/item/clothing/suit/space/skrell/white icon_state = "skrell_suit_white" @@ -39,7 +39,7 @@ siemens_coefficient = 0.2 heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) /obj/item/clothing/head/helmet/space/vox armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50) @@ -47,7 +47,7 @@ item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT | PHORONGUARD flags_inv = 0 phoronproof = 1 - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) /obj/item/clothing/head/helmet/space/vox/pressure name = "alien helmet" diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index c60bdb1e709..9308e44cb06 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -46,9 +46,6 @@ var/obj/item/ai_card // Reference to the MMI, posibrain, intellicard or pAI card previously holding the AI. var/obj/item/ai_verbs/verb_holder -/mob - var/get_rig_stats = 0 - /obj/item/rig_module/ai_container/process() if(integrated_ai) var/obj/item/weapon/rig/rig = get_rig() diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 75d8943b81d..ac191acf5e0 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -179,6 +179,15 @@ spark_system = null return ..() +/obj/item/weapon/rig/get_worn_icon_file(var/body_type,var/slot_name,var/default_icon,var/inhands) + if(!inhands && slot_name == slot_back_str) + if(icon_override) + return icon_override + else if(mob_icon) + return mob_icon + + return ..() + /obj/item/weapon/rig/proc/suit_is_deployed() if(!istype(wearer) || src.loc != wearer || wearer.back != src) return 0 @@ -330,7 +339,6 @@ piece.item_flags &= ~(STOPPRESSUREDAMAGE|AIRTIGHT) else piece.item_flags |= (STOPPRESSUREDAMAGE|AIRTIGHT) - update_icon(1) /obj/item/weapon/rig/ui_action_click() toggle_cooling(usr) @@ -598,7 +606,7 @@ // update_inv_wear_suit(), handle species checks here. if(wearer && sprite_sheets && sprite_sheets[wearer.species.get_bodytype(wearer)]) species_icon = sprite_sheets[wearer.species.get_bodytype(wearer)] - mob_icon = image("icon" = species_icon, "icon_state" = "[icon_state]") + mob_icon = icon(icon = species_icon, icon_state = "[icon_state]") if(installed_modules.len) for(var/obj/item/rig_module/module in installed_modules) diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces.dm b/code/modules/clothing/spacesuits/rig/rig_pieces.dm index 032c133fd9f..10cae0c9644 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces.dm @@ -11,10 +11,10 @@ cold_protection = HEAD|FACE|EYES brightness_on = 4 sprite_sheets = list( - "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', - "Skrell" = 'icons/mob/species/skrell/helmet.dmi', - "Unathi" = 'icons/mob/species/unathi/helmet.dmi', - "Vox" = 'icons/mob/species/vox/head.dmi' + SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', + SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) species_restricted = null @@ -50,9 +50,9 @@ resilience = 0.2 can_breach = 1 sprite_sheets = list( - "Tajara" = 'icons/mob/species/tajaran/suit.dmi', - "Unathi" = 'icons/mob/species/unathi/suit.dmi', - "Vox" = 'icons/mob/species/vox/suit.dmi' + SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', + SPECIES_VOX = 'icons/mob/species/vox/suit.dmi' ) supporting_limbs = list() var/obj/item/weapon/material/knife/tacknife diff --git a/code/modules/clothing/spacesuits/rig/suits/alien.dm b/code/modules/clothing/spacesuits/rig/suits/alien.dm index bc3113a4cc1..efdbea6476f 100644 --- a/code/modules/clothing/spacesuits/rig/suits/alien.dm +++ b/code/modules/clothing/spacesuits/rig/suits/alien.dm @@ -28,14 +28,14 @@ siemens_coefficient = 0.2 /obj/item/clothing/head/helmet/space/rig/breacher - species_restricted = list("Unathi") + species_restricted = list(SPECIES_UNATHI) force = 5 /obj/item/clothing/suit/space/rig/breacher - species_restricted = list("Unathi") + species_restricted = list(SPECIES_UNATHI) /obj/item/clothing/shoes/magboots/rig/breacher - species_restricted = list("Unathi") + species_restricted = list(SPECIES_UNATHI) /* * VOX @@ -62,27 +62,27 @@ glove_type = /obj/item/clothing/gloves/gauntlets/rig/vox /obj/item/clothing/head/helmet/space/rig/vox - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE phoronproof = 1 /obj/item/clothing/shoes/magboots/rig/vox name = "talons" - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/shoes.dmi' + SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi' ) phoronproof = 1 /obj/item/clothing/suit/space/rig/vox - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) phoronproof = 1 /obj/item/clothing/gloves/gauntlets/rig/vox siemens_coefficient = 0 - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/gloves.dmi' + SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi' ) phoronproof = 1 diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm index 097ae98f9d6..1935fd7672a 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station.dm @@ -19,10 +19,11 @@ light_overlay = "helmet_light_dual" camera_networks = list(NETWORK_SECURITY) +//Internal Affairs suit /obj/item/weapon/rig/internalaffairs name = "augmented tie" suit_type = "augmented suit" - desc = "Prepare for paperwork." + desc = "The last suit you'll ever wear." icon_state = "internalaffairs_rig" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 @@ -30,7 +31,13 @@ offline_slowdown = 0 offline_vision_restriction = 0 - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/briefcase,/obj/item/weapon/storage/secure/briefcase) + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/weapon/storage/briefcase, + /obj/item/weapon/storage/secure/briefcase + ) req_access = list() req_one_access = list() @@ -55,10 +62,11 @@ helm_type = null boot_type = null +//Mining suit /obj/item/weapon/rig/industrial name = "industrial suit control module" suit_type = "industrial hardsuit" - desc = "A heavy, powerful rig used by construction crews and mining corporations." + desc = "A heavy, powerful hardsuit used by construction crews and mining corporations." icon_state = "engineering_rig" armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 50) slowdown = 1 @@ -69,7 +77,15 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/industrial - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/weapon/storage/bag/ore, + /obj/item/device/t_scanner, + /obj/item/weapon/pickaxe, + /obj/item/weapon/rcd + ) req_access = list() req_one_access = list() @@ -84,10 +100,11 @@ /obj/item/rig_module/vision/meson ) +//Engineering suit /obj/item/weapon/rig/eva name = "EVA suit control module" suit_type = "EVA hardsuit" - desc = "A light rig for repairs and maintenance to the outside of habitats and vessels." + desc = "A light hardsuit for repairs and maintenance to the outside of habitats and vessels." icon_state = "eva_rig" armor = list(melee = 30, bullet = 10, laser = 20,energy = 25, bomb = 20, bio = 100, rad = 100) slowdown = 0 @@ -98,7 +115,14 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/eva glove_type = /obj/item/clothing/gloves/gauntlets/rig/eva - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/toolbox,/obj/item/weapon/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/weapon/rcd) + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/weapon/storage/briefcase/inflatable, + /obj/item/device/t_scanner, + /obj/item/weapon/rcd + ) req_access = list() req_one_access = list() @@ -135,7 +159,14 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/ce glove_type = /obj/item/clothing/gloves/gauntlets/rig/ce - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/weapon/storage/briefcase/inflatable, + /obj/item/device/t_scanner, + /obj/item/weapon/rcd + ) req_access = list() req_one_access = list() @@ -157,6 +188,7 @@ /obj/item/rig_module/vision/meson ) +//Research Director's suit. Just add red crowbar. /obj/item/weapon/rig/hazmat name = "AMI control module" @@ -170,7 +202,23 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/hazmat - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils) + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/stack/flag, + /obj/item/weapon/storage/excavation, + /obj/item/weapon/pickaxe, + /obj/item/device/healthanalyzer, + /obj/item/device/measuring_tape, + /obj/item/device/ano_scanner, + /obj/item/device/depth_scanner, + /obj/item/device/core_sampler, + /obj/item/device/gps, + /obj/item/device/beacon_locator, + /obj/item/device/radio/beacon, + /obj/item/weapon/pickaxe/hand, + /obj/item/weapon/storage/bag/fossils) req_access = list() req_one_access = list() @@ -185,6 +233,7 @@ /obj/item/rig_module/device/anomaly_scanner ) +//Paramedic suit /obj/item/weapon/rig/medical name = "rescue suit control module" @@ -198,7 +247,15 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/medical - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller ) + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/weapon/storage/firstaid, + /obj/item/device/healthanalyzer, + /obj/item/stack/medical, + /obj/item/roller + ) req_access = list() req_one_access = list() @@ -215,6 +272,7 @@ /obj/item/rig_module/vision/medhud ) +//Security suit /obj/item/weapon/rig/hazard name = "hazard hardsuit control module" suit_type = "hazard hardsuit" @@ -228,7 +286,13 @@ helm_type = /obj/item/clothing/head/helmet/space/rig/hazard - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) + allowed = list( + /obj/item/weapon/gun, + /obj/item/device/flashlight, + /obj/item/weapon/tank, + /obj/item/device/suit_cooling_unit, + /obj/item/weapon/melee/baton + ) req_access = list() req_one_access = list() diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 8eb3ad56c96..6aed7eaf5df 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -14,10 +14,11 @@ cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - species_restricted = list("exclude","Diona") + species_restricted = list("exclude",SPECIES_DIONA) preserve_item = 1 phoronproof = 1 flash_protection = FLASH_PROTECTION_MAJOR + valid_accessory_slots = null var/obj/machinery/camera/camera var/list/camera_networks @@ -61,7 +62,7 @@ cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - species_restricted = list("exclude","Diona") + species_restricted = list("exclude",SPECIES_DIONA) preserve_item = 1 phoronproof = 1 diff --git a/code/modules/clothing/spacesuits/void/station.dm b/code/modules/clothing/spacesuits/void/station.dm index 3c5dc32e687..0fb184ad49e 100644 --- a/code/modules/clothing/spacesuits/void/station.dm +++ b/code/modules/clothing/spacesuits/void/station.dm @@ -153,17 +153,17 @@ //Medical Streamlined Voidsuit /obj/item/clothing/head/helmet/space/void/medical/alt name = "streamlined medical voidsuit helmet" - desc = "A trendy, lightly radiation-shielded voidsuit helmet trimmed in a fetching green." + desc = "A trendy, lightly radiation-shielded voidsuit helmet trimmed in a sleek blue." icon_state = "rig0-medicalalt" - armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) - light_overlay = "helmet_light_dual_green" + armor = list(melee = 20, bullet = 5, laser = 20,energy = 5, bomb = 15, bio = 100, rad = 30) + light_overlay = "helmet_light_dual_blue" /obj/item/clothing/suit/space/void/medical/alt icon_state = "rig-medicalalt" name = "streamlined medical voidsuit" - desc = "A more recent model of Vey-Med voidsuit, featuring the latest in radiation shielding technology, without sacrificing comfort or style." + desc = "A more recent model of Vey-Med voidsuit, exchanging physical protection for fully unencumbered movement and a complete range of motion." slowdown = 0 - armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80) + armor = list(melee = 20, bullet = 5, laser = 20,energy = 5, bomb = 15, bio = 100, rad = 30) //Security /obj/item/clothing/head/helmet/space/void/security @@ -243,4 +243,4 @@ icon_state = "rig-atmosalt" name = "heavy duty atmos voidsuit" armor = list(melee = 20, bullet = 5, laser = 20,energy = 15, bomb = 45, bio = 100, rad = 50) - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE \ No newline at end of file + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index dfc416aa696..ef78d32f03b 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -13,16 +13,16 @@ //Species-specific stuff. species_restricted = list("Human", "Promethean") sprite_sheets_refit = list( - "Unathi" = 'icons/mob/species/unathi/helmet.dmi', - "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', - "Skrell" = 'icons/mob/species/skrell/helmet.dmi' + SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', + SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi' //Teshari have a general sprite sheet defined in modules/clothing/clothing.dm ) sprite_sheets_obj = list( - "Unathi" = 'icons/obj/clothing/species/unathi/hats.dmi', - "Tajara" = 'icons/obj/clothing/species/tajaran/hats.dmi', - "Skrell" = 'icons/obj/clothing/species/skrell/hats.dmi', - "Teshari" = 'icons/obj/clothing/species/seromi/hats.dmi' + SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi', + SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/hats.dmi', + SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi', + SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/hats.dmi' ) light_overlay = "helmet_light" @@ -38,18 +38,18 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - species_restricted = list("Human", "Skrell", "Promethean") + species_restricted = list("Human", SPECIES_SKRELL, "Promethean") sprite_sheets_refit = list( - "Unathi" = 'icons/mob/species/unathi/suit.dmi', - "Tajara" = 'icons/mob/species/tajaran/suit.dmi', - "Skrell" = 'icons/mob/species/skrell/suit.dmi' + SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', + SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', + SPECIES_SKRELL = 'icons/mob/species/skrell/suit.dmi' //Teshari have a general sprite sheet defined in modules/clothing/clothing.dm ) sprite_sheets_obj = list( - "Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi', - "Tajara" = 'icons/obj/clothing/species/tajaran/suits.dmi', - "Skrell" = 'icons/obj/clothing/species/skrell/suits.dmi', - "Teshari" = 'icons/obj/clothing/species/seromi/suits.dmi' + SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi', + SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/suits.dmi', + SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/suits.dmi', + SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/suits.dmi' ) //Breach thresholds, should ideally be inherited by most (if not all) voidsuits. diff --git a/code/modules/clothing/suits/aliens/seromi.dm b/code/modules/clothing/suits/aliens/seromi.dm index 245ebc5436f..62a013644f1 100644 --- a/code/modules/clothing/suits/aliens/seromi.dm +++ b/code/modules/clothing/suits/aliens/seromi.dm @@ -5,7 +5,7 @@ icon_override = 'icons/mob/species/seromi/teshari_cloak.dmi' icon_state = "tesh_cloak_bo" item_state = "tesh_cloak_bo" - species_restricted = list("Teshari") + species_restricted = list(SPECIES_TESHARI) body_parts_covered = UPPER_TORSO|ARMS /obj/item/clothing/suit/storage/seromi/cloak/black_orange diff --git a/code/modules/clothing/suits/aliens/vox.dm b/code/modules/clothing/suits/aliens/vox.dm index 823487d2126..b17939950cc 100644 --- a/code/modules/clothing/suits/aliens/vox.dm +++ b/code/modules/clothing/suits/aliens/vox.dm @@ -6,5 +6,5 @@ icon_state = "vox-scrap" icon_state = "vox-scrap" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) siemens_coefficient = 1 //Its literally metal \ No newline at end of file diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 97fc8721a8d..40ce8258afb 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -45,7 +45,6 @@ icon_state = "riot" item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) - flags_inv = HIDEJUMPSUIT siemens_coefficient = 0.5 /obj/item/clothing/suit/armor/riot/alt @@ -115,7 +114,7 @@ icon_state = "swatarmor" item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER + flags_inv = HIDETIE|HIDEHOLSTER slowdown = 1 armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) siemens_coefficient = 0.7 @@ -269,7 +268,7 @@ //Medical /obj/item/clothing/suit/armor/vest/ert/medical name = "emergency response team medical armor" - desc = "A set of armor worn by medical members of the Emergency Response Team. Has red and white highlights." + desc = "A set of armor worn by medical members of the Emergency Response Team. Has blue and white highlights." icon_state = "ertarmor_med" //New Vests @@ -311,7 +310,7 @@ desc = "An armoured jacket with silver rank pips and livery." icon_state = "warden_jacket" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS - flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER + flags_inv = HIDETIE|HIDEHOLSTER /obj/item/clothing/suit/storage/vest/wardencoat/alt name = "Warden's jacket" @@ -332,7 +331,7 @@ desc = "A greatcoat enhanced with a special alloy for some protection and style." icon_state = "hos" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS - flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER + flags_inv = HIDETIE|HIDEHOLSTER //Jensen cosplay gear /obj/item/clothing/suit/storage/vest/hoscoat/jensen @@ -498,28 +497,28 @@ blood_overlay_type = "armor" /obj/item/clothing/suit/armor/pcarrier/light - starting_accessories = list(/obj/item/clothing/accessory/armorplate) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate) /obj/item/clothing/suit/armor/pcarrier/light/sol - starting_accessories = list(/obj/item/clothing/accessory/armorplate, /obj/item/clothing/accessory/armor/tag) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate, /obj/item/clothing/accessory/armor/tag) /obj/item/clothing/suit/armor/pcarrier/light/nt - starting_accessories = list(/obj/item/clothing/accessory/armorplate, /obj/item/clothing/accessory/armor/tag/nt) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate, /obj/item/clothing/accessory/armor/tag/nt) /obj/item/clothing/suit/armor/pcarrier/medium - starting_accessories = list(/obj/item/clothing/accessory/armorplate/medium, /obj/item/clothing/accessory/storage/pouches) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/storage/pouches) /obj/item/clothing/suit/armor/pcarrier/medium/sol - starting_accessories = list(/obj/item/clothing/accessory/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag) /obj/item/clothing/suit/armor/pcarrier/medium/security - starting_accessories = list(/obj/item/clothing/accessory/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag/sec) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag/sec) /obj/item/clothing/suit/armor/pcarrier/medium/command - starting_accessories = list(/obj/item/clothing/accessory/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag/com) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag/com) /obj/item/clothing/suit/armor/pcarrier/medium/nt - starting_accessories = list(/obj/item/clothing/accessory/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag/nt) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/storage/pouches, /obj/item/clothing/accessory/armor/tag/nt) /obj/item/clothing/suit/armor/pcarrier/blue name = "blue plate carrier" @@ -529,7 +528,7 @@ /obj/item/clothing/suit/armor/pcarrier/blue/sol name = "peacekeeper plate carrier" desc = "A lightweight plate carrier vest in SCG Peacekeeper colors. It can be equipped with armor plates, but provides no protection of its own." - starting_accessories = list(/obj/item/clothing/accessory/armorplate/medium, /obj/item/clothing/accessory/storage/pouches/blue, /obj/item/clothing/accessory/armguards/blue, /obj/item/clothing/accessory/armor/tag) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/medium, /obj/item/clothing/accessory/storage/pouches/blue, /obj/item/clothing/accessory/armor/armguards/blue, /obj/item/clothing/accessory/armor/tag) /obj/item/clothing/suit/armor/pcarrier/green name = "green plate carrier" @@ -548,8 +547,8 @@ /obj/item/clothing/suit/armor/pcarrier/tan/tactical name = "tactical plate carrier" - starting_accessories = list(/obj/item/clothing/accessory/armorplate/tactical, /obj/item/clothing/accessory/storage/pouches/large/tan) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/tactical, /obj/item/clothing/accessory/storage/pouches/large/tan) /obj/item/clothing/suit/armor/pcarrier/merc - starting_accessories = list(/obj/item/clothing/accessory/armorplate/merc, /obj/item/clothing/accessory/armguards/merc, /obj/item/clothing/accessory/legguards/merc, /obj/item/clothing/accessory/storage/pouches/large) + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/merc, /obj/item/clothing/accessory/armor/armguards/merc, /obj/item/clothing/accessory/armor/legguards/merc, /obj/item/clothing/accessory/storage/pouches/large) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index aa2e95c3491..1d93fe9f25a 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -45,7 +45,7 @@ desc = "A long, flowing white robe. It looks comfortable, but not very warm." icon_state = "whiteout_robe" item_state_slots = list(slot_r_hand_str = "suit_white", slot_l_hand_str = "suit_white") - flags_inv = HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER + flags_inv = HIDETIE|HIDEHOLSTER hoodtype = /obj/item/clothing/head/chaplain_hood/whiteout //Chaplain diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 9b884961193..9e0c0a01962 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -265,6 +265,15 @@ return ..() +/obj/item/clothing/suit/straight_jacket/equipped(var/mob/living/user,var/slot) + . = ..() + if(slot == slot_wear_suit) + user.drop_l_hand() + user.drop_r_hand() + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.drop_from_inventory(H.handcuffed) + /obj/item/clothing/suit/ianshirt name = "worn shirt" desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in." @@ -348,6 +357,14 @@ obj/item/clothing/suit/storage/toggle/peacoat addblends = "peacoat_a" item_state_slots = list(slot_r_hand_str = "peacoat", slot_l_hand_str = "peacoat") flags_inv = HIDEHOLSTER + +/obj/item/clothing/suit/storage/duster + name = "cowboy duster" + desc = "A duster commonly seen on cowboys from Earth's late 1800's." + icon_state = "duster" + blood_overlay_type = "coat" + allowed = list(/obj/item/weapon/tank/emergency/oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter) + flags_inv = HIDEHOLSTER /* * stripper */ @@ -782,7 +799,7 @@ obj/item/clothing/suit/storage/toggle/peacoat hooded = TRUE hoodtype = /obj/item/clothing/head/hood/explorer siemens_coefficient = 0.9 - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50) // Inferior to sec vests in bullet/laser but better for environmental protection. + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35) // Inferior to sec vests in bullet/laser but better for environmental protection. allowed = list( /obj/item/device/flashlight, /obj/item/weapon/gun, @@ -798,16 +815,13 @@ obj/item/clothing/suit/storage/toggle/peacoat name = "explorer hood" desc = "An armoured hood for exploring harsh environments." icon_state = "explorer" - brightness_on = 3 - light_overlay = "hood_light" - action_button_name = "Toggle Head-light" body_parts_covered = HEAD cold_protection = HEAD flags = THICKMATERIAL flags_inv = HIDEEARS | BLOCKHAIR min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35) /obj/item/clothing/suit/varsity name = "black varsity jacket" diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 5d18858cc35..67c82dcf796 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -14,7 +14,7 @@ var/concealed_holster = 0 var/mob/living/carbon/human/wearer = null //To check if the wearer changes, so species spritesheets change properly. - sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/ties.dmi') //Teshari can into webbing, too! + sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ties.dmi') //Teshari can into webbing, too! /obj/item/clothing/accessory/Destroy() on_removed() @@ -26,7 +26,9 @@ if(icon_override) if("[tmp_icon_state]_tie" in icon_states(icon_override)) tmp_icon_state = "[tmp_icon_state]_tie" - inv_overlay = image(icon = INV_ACCESSORIES_DEF_ICON, icon_state = tmp_icon_state, dir = SOUTH) + inv_overlay = image(icon = icon_override, icon_state = tmp_icon_state, dir = SOUTH) + else + inv_overlay = image(icon = INV_ACCESSORIES_DEF_ICON, icon_state = tmp_icon_state, dir = SOUTH) return inv_overlay /obj/item/clothing/accessory/proc/get_mob_overlay() @@ -387,4 +389,4 @@ /obj/item/clothing/accessory/bracelet/material/glass/New(var/newloc) ..(newloc, "glass") - ..() \ No newline at end of file + ..() diff --git a/code/modules/clothing/under/accessories/armor.dm b/code/modules/clothing/under/accessories/armor.dm index f17c5e7ad24..df9e3b7c173 100644 --- a/code/modules/clothing/under/accessories/armor.dm +++ b/code/modules/clothing/under/accessories/armor.dm @@ -1,11 +1,25 @@ +/* +// This file holds all of the accessories used as part of the modular armor system. At some point it might be wise to split this into multiple files. +*/ + +/obj/item/clothing/accessory/armor + name = "armor accessory" + desc = "You should never see this description. Ahelp this, please." + icon_override = 'icons/mob/modular_armor.dmi' + icon = 'icons/obj/clothing/modular_armor.dmi' + icon_state = "pouches" + w_class = ITEMSIZE_NORMAL + +/////////// //Pouches +/////////// /obj/item/clothing/accessory/storage/pouches name = "storage pouches" desc = "A collection of black pouches that can be attached to a plate carrier. Carries up to two items." icon_override = 'icons/mob/modular_armor.dmi' icon = 'icons/obj/clothing/modular_armor.dmi' -// accessory_icons = list(slot_tie_str = 'icons/mob/modular_armor.dmi', slot_wear_suit_str = 'icons/mob/modular_armor.dmi') icon_state = "pouches" + w_class = ITEMSIZE_NORMAL gender = PLURAL slot = ACCESSORY_SLOT_ARMOR_S slots = 2 @@ -31,6 +45,7 @@ desc = "A collection of black pouches that can be attached to a plate carrier. Carries up to four items." icon_state = "lpouches" slots = 4 + slowdown = 0.25 /obj/item/clothing/accessory/storage/pouches/large/blue desc = "A collection of blue pouches that can be attached to a plate carrier. Carries up to four items." @@ -48,40 +63,41 @@ desc = "A collection of tan pouches that can be attached to a plate carrier. Carries up to four items." icon_state = "lpouches_tan" +//////////////// //Armor plates -/obj/item/clothing/accessory/armorplate +//////////////// +/obj/item/clothing/accessory/armor/armorplate name = "light armor plate" desc = "A basic armor plate made of steel-reinforced synthetic fibers. Attaches to a plate carrier." - icon = 'icons/obj/clothing/modular_armor.dmi' icon_state = "armor_light" body_parts_covered = UPPER_TORSO|LOWER_TORSO armor = list(melee = 30, bullet = 15, laser = 40, energy = 10, bomb = 25, bio = 0, rad = 0) slot = ACCESSORY_SLOT_ARMOR_C -/obj/item/clothing/accessory/armorplate/medium +/obj/item/clothing/accessory/armor/armorplate/medium name = "medium armor plate" desc = "A plasteel-reinforced synthetic armor plate, providing good protection. Attaches to a plate carrier." icon_state = "armor_medium" armor = list(melee = 40, bullet = 40, laser = 40, energy = 25, bomb = 30, bio = 0, rad = 0) -/obj/item/clothing/accessory/armorplate/tactical +/obj/item/clothing/accessory/armor/armorplate/tactical name = "tactical armor plate" desc = "A medium armor plate with additional ablative coating. Attaches to a plate carrier." icon_state = "armor_tactical" armor = list(melee = 40, bullet = 40, laser = 60, energy = 35, bomb = 30, bio = 0, rad = 0) -/obj/item/clothing/accessory/armorplate/merc +/obj/item/clothing/accessory/armor/armorplate/merc name = "heavy armor plate" desc = "A ceramics-reinforced synthetic armor plate, providing state of of the art protection. Attaches to a plate carrier." icon_state = "armor_heavy" armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) +////////////// //Arm guards -/obj/item/clothing/accessory/armguards +////////////// +/obj/item/clothing/accessory/armor/armguards name = "arm guards" desc = "A pair of black arm pads reinforced with armor plating. Attaches to a plate carrier." - icon_override = 'icons/mob/modular_armor.dmi' - icon = 'icons/obj/clothing/modular_armor.dmi' // accessory_icons = list(slot_tie_str = 'icons/mob/modular_armor.dmi', slot_wear_suit_str = 'icons/mob/modular_armor.dmi') icon_state = "armguards" gender = PLURAL @@ -89,34 +105,58 @@ armor = list(melee = 40, bullet = 40, laser = 40, energy = 25, bomb = 30, bio = 0, rad = 0) slot = ACCESSORY_SLOT_ARMOR_A -/obj/item/clothing/accessory/armguards/blue +/obj/item/clothing/accessory/armor/armguards/blue desc = "A pair of blue arm pads reinforced with armor plating. Attaches to a plate carrier." icon_state = "armguards_blue" -/obj/item/clothing/accessory/armguards/navy +/obj/item/clothing/accessory/armor/armguards/navy desc = "A pair of navy blue arm pads reinforced with armor plating. Attaches to a plate carrier." icon_state = "armguards_navy" -/obj/item/clothing/accessory/armguards/green +/obj/item/clothing/accessory/armor/armguards/green desc = "A pair of green arm pads reinforced with armor plating. Attaches to a plate carrier." icon_state = "armguards_green" -/obj/item/clothing/accessory/armguards/tan +/obj/item/clothing/accessory/armor/armguards/tan desc = "A pair of tan arm pads reinforced with armor plating. Attaches to a plate carrier." icon_state = "armguards_tan" -/obj/item/clothing/accessory/armguards/merc +/obj/item/clothing/accessory/armor/armguards/merc name = "heavy arm guards" desc = "A pair of red-trimmed black arm pads reinforced with heavy armor plating. Attaches to a plate carrier." icon_state = "armguards_merc" armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) +/obj/item/clothing/accessory/armor/armguards/laserproof + name = "ablative arm guards" + desc = "These arm guards will protect your arms from energy weapons." + icon_state = "armguards_laser" + item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") + siemens_coefficient = 0.4 //This is worse than the other ablative pieces, to avoid this from becoming the poor warden's insulated gloves. + armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/accessory/armor/armguards/bulletproof + name = "bullet resistant arm guards" + desc = "These arm guards will protect your arms from ballistic weapons." + icon_state = "armguards_bullet" + item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") + siemens_coefficient = 0.7 + armor = list(melee = 10, bullet = 80, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/accessory/armor/armguards/riot + name = "riot arm guards" + desc = "These arm guards will protect your arms from close combat weapons." + icon_state = "armguards_riot" + item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") + siemens_coefficient = 0.5 + armor = list(melee = 80, bullet = 10, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0) + +////////////// //Leg guards -/obj/item/clothing/accessory/legguards +////////////// +/obj/item/clothing/accessory/armor/legguards name = "leg guards" desc = "A pair of armored leg pads in black. Attaches to a plate carrier." - icon_override = 'icons/mob/modular_armor.dmi' - icon = 'icons/obj/clothing/modular_armor.dmi' // accessory_icons = list(slot_tie_str = 'icons/mob/modular_armor.dmi', slot_wear_suit_str = 'icons/mob/modular_armor.dmi') icon_state = "legguards" gender = PLURAL @@ -124,38 +164,62 @@ armor = list(melee = 40, bullet = 40, laser = 40, energy = 25, bomb = 30, bio = 0, rad = 0) slot = ACCESSORY_SLOT_ARMOR_L -/obj/item/clothing/accessory/legguards/blue +/obj/item/clothing/accessory/armor/legguards/blue desc = "A pair of armored leg pads in blue. Attaches to a plate carrier." icon_state = "legguards_blue" -/obj/item/clothing/accessory/legguards/navy +/obj/item/clothing/accessory/armor/legguards/navy desc = "A pair of armored leg pads in navy blue. Attaches to a plate carrier." icon_state = "legguards_navy" -/obj/item/clothing/accessory/legguards/green +/obj/item/clothing/accessory/armor/legguards/green desc = "A pair of armored leg pads in green. Attaches to a plate carrier." icon_state = "legguards_green" -/obj/item/clothing/accessory/legguards/tan +/obj/item/clothing/accessory/armor/legguards/tan desc = "A pair of armored leg pads in tan. Attaches to a plate carrier." icon_state = "legguards_tan" -/obj/item/clothing/accessory/legguards/merc +/obj/item/clothing/accessory/armor/legguards/merc name = "heavy leg guards" desc = "A pair of heavily armored leg pads in red-trimmed black. Attaches to a plate carrier." icon_state = "legguards_merc" armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) +/obj/item/clothing/accessory/armor/legguards/laserproof + name = "ablative leg guards" + desc = "These will protect your legs from energy weapons." + icon_state = "legguards_laser" + item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots") + siemens_coefficient = 0.1 + armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0) +/obj/item/clothing/accessory/armor/legguards/bulletproof + name = "bullet resistant leg guards" + desc = "These will protect your legs from ballistic weapons." + icon_state = "legguards_bullet" + item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots") + siemens_coefficient = 0.7 + armor = list(melee = 10, bullet = 80, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/accessory/armor/legguards/riot + name = "riot leg guards" + desc = "These will protect your legs from close combat weapons." + icon_state = "legguards_riot" + item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots") + siemens_coefficient = 0.5 + armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) + +////////////////////////// //Decorative attachments +////////////////////////// /obj/item/clothing/accessory/armor/tag name = "\improper SCG Flag" desc = "An emblem depicting the Solar Confederate Government's flag." - icon_override = 'icons/mob/modular_armor.dmi' - icon = 'icons/obj/clothing/modular_armor.dmi' // accessory_icons = list(slot_tie_str = 'icons/mob/modular_armor.dmi', slot_wear_suit_str = 'icons/mob/modular_armor.dmi') icon_state = "solflag" slot = ACCESSORY_SLOT_ARMOR_M + w_class = ITEMSIZE_SMALL /obj/item/clothing/accessory/armor/tag/sifguard name = "\improper Sif Defense Force crest" @@ -226,3 +290,50 @@ name = "\improper AB- blood patch" desc = "An embroidered patch indicating the wearer's blood type as AB NEGATIVE." icon_state = "abnegtag" + +///////////////// +// Helmet Covers +///////////////// + +obj/item/clothing/accessory/armor/helmcover + name = "helmet cover" + desc = "A fabric cover for armored helmets." + icon_override = 'icons/mob/ties.dmi' + icon = 'icons/obj/clothing/modular_armor.dmi' + icon_state = "helmcover_blue" + slot = ACCESSORY_SLOT_HELM_C + +/obj/item/clothing/accessory/armor/helmcover/blue + name = "blue helmet cover" + desc = "A fabric cover for armored helmets in a bright blue color." + icon_state = "helmcover_blue" + +/obj/item/clothing/accessory/armor/helmcover/navy + name = "navy blue helmet cover" + desc = "A fabric cover for armored helmets. This one is colored navy blue." + icon_state = "helmcover_navy" + +/obj/item/clothing/accessory/armor/helmcover/green + name = "green helmet cover" + desc = "A fabric cover for armored helmets. This one has a woodland camouflage pattern." + icon_state = "helmcover_green" + +/obj/item/clothing/accessory/armor/helmcover/tan + name = "tan helmet cover" + desc = "A fabric cover for armored helmets. This one has a desert camouflage pattern." + icon_state = "helmcover_tan" + +/obj/item/clothing/accessory/armor/helmcover/nt + name = "\improper NanoTrasen helmet cover" + desc = "A fabric cover for armored helmets. This one has NanoTrasen's colors." + icon_state = "helmcover_nt" + +/obj/item/clothing/accessory/armor/helmcover/pcrc + name = "\improper PCRC helmet cover" + desc = "A fabric cover for armored helmets. This one is colored navy blue and has a tag in the back with the words PROXIMA CENTAURI RISK CONTROL printed in cyan lettering on it." + icon_state = "helmcover_pcrc" + +/obj/item/clothing/accessory/armor/helmcover/saare + name = "\improper SAARE helmet cover" + desc = "A fabric cover for armored helmets. This one has SAARE's colors." + icon_state = "helmcover_saare" \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/badges.dm b/code/modules/clothing/under/accessories/badges.dm index 2908a7b639d..e96ea4ce4ea 100644 --- a/code/modules/clothing/under/accessories/badges.dm +++ b/code/modules/clothing/under/accessories/badges.dm @@ -41,6 +41,23 @@ user.do_attack_animation(M) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam +// Sheriff Badge (toy) +/obj/item/clothing/accessory/badge/sheriff + name = "sheriff badge" + desc = "This town ain't big enough for the two of us, pardner." + icon_state = "sheriff" + item_state = "goldbadge" + +/obj/item/clothing/accessory/badge/sheriff/attack_self(mob/user as mob) + user.visible_message("[user] shows their sheriff badge. There's a new sheriff in town!",\ + "You flash the sheriff badge to everyone around you!") + +/obj/item/clothing/accessory/badge/sheriff/attack(mob/living/carbon/human/M, mob/living/user) + if(isliving(user)) + user.visible_message("[user] invades [M]'s personal space, the sheriff badge into their face!.","You invade [M]'s personal space, thrusting the sheriff badge into their face insistently.") + user.do_attack_animation(M) + user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam + //.Holobadges. /obj/item/clothing/accessory/badge/holo name = "holobadge" @@ -129,4 +146,4 @@ new /obj/item/clothing/accessory/badge/holo/hos(src) new /obj/item/clothing/accessory/badge/holo/cord(src) ..() - return + return diff --git a/code/modules/clothing/under/accessories/permits.dm b/code/modules/clothing/under/accessories/permits.dm index ea21d796699..c6170bfd619 100644 --- a/code/modules/clothing/under/accessories/permits.dm +++ b/code/modules/clothing/under/accessories/permits.dm @@ -34,6 +34,10 @@ name = "bar shotgun permit" desc = "A card indicating that the owner is allowed to carry a shotgun in the bar." +/obj/item/clothing/accessory/permit/gun/planetside + name = "planetside gun permit" + desc = "A card indicating that the owner is allowed to carry a firearm while on the surface." + /obj/item/clothing/accessory/permit/drone name = "drone identification card" desc = "A card issued by the EIO, indicating that the owner is a Drone Intelligence. Drones are mandated to carry this card within SolGov space, by law." diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index b9a462dabb0..07b0f126093 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -394,6 +394,16 @@ desc = "A red dress that sweeps to the side." icon_state = "red_swept_dress" +/obj/item/clothing/under/dress/flamenco + name = "flamenco dress" + desc = "A Mexican flamenco dress." + icon_state = "flamenco" + +/obj/item/clothing/under/dress/westernbustle + name = "western bustle" + desc = "A western bustle dress from Earth's late 1800's." + icon_state = "westernbustle" + /* * wedding stuff */ @@ -816,4 +826,30 @@ /obj/item/clothing/under/explorer desc = "A green uniform for operating in hazardous environments." name = "explorer's jumpsuit" - icon_state = "explorer" \ No newline at end of file + icon_state = "explorer" + +/obj/item/clothing/under/cohesion + name = "black cohesion suit" + desc = "A plain black cohesion suit intended to assist Prometheans in maintaining their form and prevent direct skin exposure." + icon_state = "cohesionsuit" + rolled_sleeves = -1 // defeats the purpose!!! + +/obj/item/clothing/under/cohesion/striped + name = "red striped cohesion suit" + desc = "A black cohesion suit with red stripes intended to assist Prometheans in maintaining their form and prevent direct skin exposure." + icon_state = "cohesionsuit_striped" + +/obj/item/clothing/under/cohesion/decal + name = "purple decaled cohesion suit" + desc = "A white cohesion suit with purple decals intended to assist Prometheans in maintaining their form and prevent direct skin exposure." + icon_state = "cohesionsuit_decal" + +/obj/item/clothing/under/cohesion/pattern + name = "blue patterned cohesion suit" + desc = "A white cohesion suit with blue patterns intended to assist Prometheans in maintaining their form and prevent direct skin exposure." + icon_state = "cohesionsuit_pattern" + +/obj/item/clothing/under/cohesion/hazard + name = "hazard cohesion suit" + desc = "An orange cohesion suit with yellow hazard stripes intended to assist Prometheans in maintaining their form and prevent direct skin exposure." + icon_state = "cohesionsuit_hazard" \ No newline at end of file diff --git a/code/modules/clothing/under/solgov.dm b/code/modules/clothing/under/solgov.dm index 5f5cdb52f01..39109c480aa 100644 --- a/code/modules/clothing/under/solgov.dm +++ b/code/modules/clothing/under/solgov.dm @@ -36,6 +36,7 @@ desc = "A comfortable turtleneck and black utility trousers." icon_state = "blackutility" worn_state = "blackutility" + rolled_sleeves = 0 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 diff --git a/code/modules/clothing/under/xenos/seromi.dm b/code/modules/clothing/under/xenos/seromi.dm index 5ec18a48594..9d6598a5179 100644 --- a/code/modules/clothing/under/xenos/seromi.dm +++ b/code/modules/clothing/under/xenos/seromi.dm @@ -1,7 +1,7 @@ /obj/item/clothing/under/seromi icon = 'icons/obj/clothing/species/seromi/uniform.dmi' icon_state = "seromi_grey" - species_restricted = list("Teshari") + species_restricted = list(SPECIES_TESHARI) /obj/item/clothing/under/seromi/smock name = "small grey smock" diff --git a/code/modules/clothing/under/xenos/vox.dm b/code/modules/clothing/under/xenos/vox.dm index bd66830f6eb..e6f63abbcbe 100644 --- a/code/modules/clothing/under/xenos/vox.dm +++ b/code/modules/clothing/under/xenos/vox.dm @@ -1,6 +1,6 @@ /obj/item/clothing/under/vox has_sensor = 0 - species_restricted = list("Vox") + species_restricted = list(SPECIES_VOX) valid_accessory_slots = list("vox") restricted_accessory_slots = list("vox") phoronproof = 1 diff --git a/code/modules/economy/Events.dm b/code/modules/economy/Events.dm index 5de2446dcff..9ce263cd17b 100644 --- a/code/modules/economy/Events.dm +++ b/code/modules/economy/Events.dm @@ -52,8 +52,8 @@ affected_dest.temp_price_change[good_type] = rand(1,100) / 100 /datum/event/economic_event/announce() - var/author = "The "+using_map.starsys_name+" Times" - var/channel = author + var/author = "Oculus v6rev7" + var/channel = "Oculum Content Aggregator" //see if our location has custom event info for this event var/body = affected_dest.get_custom_eventstring() @@ -66,28 +66,28 @@ if(INDUSTRIAL_ACCIDENT) body = "[pick("An industrial accident","A smelting accident","A malfunction","A malfunctioning piece of machinery","Negligent maintenance","A cooleant leak","A ruptured conduit")] at a [pick("factory","installation","power plant","dockyards")] on [affected_dest.name] resulted in severe structural damage and numerous injuries. Repairs are ongoing." if(BIOHAZARD_OUTBREAK) - body = "[pick("A \'REDACTED\'","A biohazard","An outbreak","A virus")] on [affected_dest.name] has resulted in quarantine, stopping much shipping in the area. Although the quarantine is now lifted, authorities are calling for deliveries of medical supplies to treat the infected, and gas to replace contaminated stocks." + body = "[pick("A nano-contaminant","A biohazard","An outbreak","A virus")] on [affected_dest.name] has resulted in quarantine, stopping much shipping in the area. Although the quarantine is now lifted, authorities are calling for deliveries of medical supplies to treat the infected, and gas to replace contaminated stocks." if(PIRATES) - body = "[pick("Pirates","Criminal elements","A [pick("mercenary","Donk Co.","Waffle Co.","\'REDACTED\'")] strike force")] have [pick("raided","blockaded","attempted to blackmail","attacked")] [affected_dest.name] today. Security has been tightened, but many valuable minerals were taken." + body = "[pick("Pirates","Criminal elements","A [pick("mercenary","Nos Amis","Xin Cohong","Ue-Katish")] strike force")] have [pick("raided","blockaded","attempted to blackmail","attacked")] [affected_dest.name] today. Security has been tightened, but many valuable minerals were taken." if(CORPORATE_ATTACK) - body = "A small [pick("pirate","Cybersun Industries","Gorlex Marauders","mercenary")] fleet has precise-jumped into proximity with [affected_dest.name], [pick("for a smash-and-grab operation","in a hit and run attack","in an overt display of hostilities")]. Much damage was done, and security has been tightened since the incident." + body = "A small [pick("pirate","Nation of Mars","Revolutionary Solar People's Party","mercenary")] fleet has precise-jumped into proximity with [affected_dest.name], [pick("for a smash-and-grab operation","in a hit and run attack","in an overt display of hostilities")]. Much damage was done, and security has been tightened since the incident." if(ALIEN_RAIDERS) if(prob(20)) - body = "The Tiger Co-operative have raided [affected_dest.name] today, no doubt on orders from their enigmatic masters. Stealing wildlife, farm animals, medical research materials and kidnapping civilians. [using_map.company_name] authorities are standing by to counter attempts at bio-terrorism." + body = "Ue-Katish pirates exiled from Ue'Orsi have raided [affected_dest.name] today, no doubt on orders from their enigmatic masters. Stealing wildlife, farm animals, medical research materials and kidnapping civilians. [using_map.company_name] authorities are standing by to counter attempts at bio-terrorism." else - body = "[pick("The alien species designated \'United Exolitics\'","The alien species designated \'REDACTED\'","An unknown alien species")] have raided [affected_dest.name] today, stealing wildlife, farm animals, medical research materials and kidnapping civilians. It seems they desire to learn more about us, so the Navy will be standing by to accomodate them next time they try." + body = "The Vox have raided [affected_dest.name] today, stealing wildlife, farm animals, medical research materials and kidnapping civilians. Fleet assets have moved to reinforce the effected region." if(AI_LIBERATION) - body = "A [pick("\'REDACTED\' was detected on","S.E.L.F operative infiltrated","malignant computer virus was detected on","rogue [pick("slicer","hacker")] was apprehended on")] [affected_dest.name] today, and managed to infect [pick("\'REDACTED\'","a sentient sub-system","a class one AI","a sentient defence installation")] before it could be stopped, causing serious damage. Considerable work must be done to repair the affected areas." + body = "A [pick("malignant webcrawler was detected on","Boiling Point operative infiltrated","malignant computer virus was detected on","rogue [pick("slicer","hacker")] was apprehended on")] [affected_dest.name] today, and managed to infect [pick("an A-class factory monitor","an experimental drone wing","a high-powered financial system","an automated defence installation")] before it could be stopped, causing serious damage. Considerable work must be done to repair the affected areas." if(MOURNING) - body = "[pick("The popular","The well-liked","The eminent","The well-known")] [pick("professor","entertainer","singer","researcher","public servant","administrator","ship captain","\'REDACTED\'")], [pick( random_name(pick(MALE,FEMALE)), 40; "\'REDACTED\'" )] has [pick("passed away","committed suicide","been murdered","died in a freakish accident")] on [affected_dest.name] today. The entire planet is in mourning, and prices have dropped for industrial goods as worker morale drops." + body = "[pick("The popular","The well-liked","The eminent","The well-known")] [pick("professor","entertainer","singer","researcher","public servant","administrator","ship captain")], [random_name(pick(MALE,FEMALE))] has [pick("passed away","committed suicide","been murdered","died in a freakish accident")] on [affected_dest.name] today. The entire planet is in mourning, and prices have dropped for industrial goods as worker morale drops." if(CULT_CELL_REVEALED) - body = "A [pick("dastardly","blood-thirsty","villanous","crazed")] cult of [pick("The Elder Gods","Nar'sie","an apocalyptic sect","\'REDACTED\'")] has [pick("been discovered","been revealed","revealed themselves","gone public")] on [affected_dest.name] earlier today. Public morale has been shaken due to [pick("certain","several","one or two")] [pick("high-profile","well known","popular")] individuals [pick("performing \'REDACTED\' acts","claiming allegiance to the cult","swearing loyalty to the cult leader","promising to aid to the cult")] before those involved could be brought to justice. The editor reminds all personnel that supernatural myths will not be tolerated on [using_map.company_name] facilities." + body = "A [pick("dastardly","blood-thirsty","villanous","crazed")] doomsday cult has [pick("been discovered","been revealed","revealed themselves","gone public")] on [affected_dest.name] earlier today. Public morale has been shaken due to [pick("certain","several","one or two")] [pick("high-profile","well known","popular")] individuals [pick("performing illegal acts","claiming allegiance to the cult","swearing loyalty to the cult leader","promising to aid to the cult")] before those involved could be brought to justice." if(SECURITY_BREACH) - body = "There was [pick("a security breach in","an unauthorised access in","an attempted theft in","an anarchist attack in","violent sabotage of")] a [pick("high-security","restricted access","classified","\'REDACTED\'")] [pick("\'REDACTED\'","section","zone","area")] this morning. Security was tightened on [affected_dest.name] after the incident, and the editor reassures all [using_map.company_name] personnel that such lapses are rare." + body = "There was [pick("a security breach in","an unauthorised access in","an attempted theft in","an anarchist attack in","violent sabotage of")] a [pick("high-security","restricted access","classified")] [pick("section","zone","area")] this morning. Security was tightened on [affected_dest.name] after the incident, and the editor reassures all [using_map.company_name] personnel that such lapses are rare." if(ANIMAL_RIGHTS_RAID) - body = "[pick("Militant animal rights activists","Members of the terrorist group Animal Rights Consortium","Members of the terrorist group \'REDACTED\'")] have [pick("launched a campaign of terror","unleashed a swathe of destruction","raided farms and pastures","forced entry to \'REDACTED\'")] on [affected_dest.name] earlier today, freeing numerous [pick("farm animals","animals","\'REDACTED\'")]. Prices for tame and breeding animals have spiked as a result." + body = "[pick("Militant animal rights activists","Members of the terrorist group Galactic Organization for Animal Rights")] have [pick("launched a campaign of terror","unleashed a swathe of destruction","raided farms and pastures","forced entry to an animal processing plant")] on [affected_dest.name] earlier today, freeing numerous [pick("farm animals","animals")]. Prices for tame and breeding animals have spiked as a result." if(FESTIVAL) - body = "A [pick("festival","week long celebration","day of revelry","planet-wide holiday")] has been declared on [affected_dest.name] by [pick("Governor","Commissioner","General","Commandant","Administrator")] [random_name(pick(MALE,FEMALE))] to celebrate [pick("the birth of their [pick("son","daughter")]","coming of age of their [pick("son","daughter")]","the pacification of rogue military cell","the apprehension of a violent criminal who had been terrorising the planet")]. Massive stocks of food and meat have been bought driving up prices across the planet." + body = "A [pick("festival","week long celebration","day of revelry","planet-wide holiday")] has been declared on [affected_dest.name] by [pick("Governor","Commissioner","General","Commandant","Administrator")] [random_name(pick(MALE,FEMALE))] to celebrate [pick("the birth of their [pick("son","daughter","child")]","coming of age of their [pick("son","daughter","child")]","the pacification of rogue military cell","the apprehension of a violent criminal who had been terrorising the planet")]. Massive stocks of food and meat have been bought driving up prices across the planet." news_network.SubmitArticle(body, author, channel, null, 1) diff --git a/code/modules/economy/Events_Mundane.dm b/code/modules/economy/Events_Mundane.dm index c3eca773f52..9c6a428852b 100644 --- a/code/modules/economy/Events_Mundane.dm +++ b/code/modules/economy/Events_Mundane.dm @@ -1,5 +1,5 @@ -/datum/event/mundane_news +/* /datum/event/mundane_news endWhen = 10 /datum/event/mundane_news/announce() @@ -123,7 +123,7 @@ The [using_map.starsys_name] Times is offering discount tickets for two to see [random_name(pick(MALE,FEMALE))] live in return for eyewitness reports and up to the minute coverage." news_network.SubmitArticle(body, author, channel, null, 1) - +*/ /datum/event/trivial_news endWhen = 10 diff --git a/code/modules/economy/TradeDestinations.dm b/code/modules/economy/TradeDestinations.dm index 6f58bf9abaf..fbe4003e816 100644 --- a/code/modules/economy/TradeDestinations.dm +++ b/code/modules/economy/TradeDestinations.dm @@ -16,85 +16,73 @@ var/list/weighted_mundaneevent_locations = list() /datum/trade_destination/proc/get_custom_eventstring(var/event_type) return null -//distance is measured in AU and co-relates to travel time -/datum/trade_destination/centcomm - name = "CentCom" - description = "NanoTrasen's administrative centre for Tau Ceti." +//distance is measured in Arbitrary and corelates to travel time, like, I guess +/datum/trade_destination/luna + name = "Luna" + description = "The capital world of SolGov, host to NanoTrasen's corporate offices." distance = 1.2 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(SECURITY_BREACH, CORPORATE_ATTACK, AI_LIBERATION) viable_mundane_events = list(ELECTION, RESIGNATION, CELEBRITY_DEATH) -/datum/trade_destination/anansi - name = "NSS Anansi" - description = "Medical station ran by Second Red Cross (but owned by NT) for handling emergency cases from nearby colonies." +/datum/trade_destination/nohio + name = "New Ohio" + description = "A world in the Sagitarius Heights, home to Vey-Medical's research and development facilities." distance = 1.7 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(SECURITY_BREACH, CULT_CELL_REVEALED, BIOHAZARD_OUTBREAK, PIRATES, ALIEN_RAIDERS) viable_mundane_events = list(RESEARCH_BREAKTHROUGH, RESEARCH_BREAKTHROUGH, BARGAINS, GOSSIP) -/datum/trade_destination/anansi/get_custom_eventstring(var/event_type) - if(event_type == RESEARCH_BREAKTHROUGH) - return "Thanks to research conducted on the NSS Anansi, Second Red Cross Society wishes to announce a major breakthough in the field of \ - [pick("mind-machine interfacing","neuroscience","nano-augmentation","genetics")]. [using_map.company_name] is expected to announce a co-exploitation deal within the fortnight." - return null - -/datum/trade_destination/redolant - name = "OAV Redolant" - description = "Osiris Atmospherics station in orbit around the only gas giant insystem. They retain tight control over shipping rights, and Osiris warships protecting their prize are not an uncommon sight in Tau Ceti." +/datum/trade_destination/sophia + name = "Sophia" + description = "The homeworld of the positronics and an extremely important cultural center." distance = 0.6 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(INDUSTRIAL_ACCIDENT, PIRATES, CORPORATE_ATTACK) viable_mundane_events = list(RESEARCH_BREAKTHROUGH, RESEARCH_BREAKTHROUGH) -/datum/trade_destination/redolant/get_custom_eventstring(var/event_type) - if(event_type == RESEARCH_BREAKTHROUGH) - return "Thanks to research conducted on the OAV Redolant, Osiris Atmospherics wishes to announce a major breakthough in the field of \ - [pick("phoron research","high energy flux capacitance","super-compressed materials","theoretical particle physics")]. [using_map.company_name] is expected to announce a co-exploitation deal within the fortnight." - return null - -/datum/trade_destination/beltway - name = "Beltway mining chain" - description = "A co-operative effort between Beltway and NanoTrasen to exploit the rich outer asteroid belt of the Tau Ceti system." +/datum/trade_destination/jade + name = "Jade" + description = "Jade, in the Zhu Que system, is one of the Bowl's garden worlds and home to a major ore processing operation." distance = 7.5 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(PIRATES, INDUSTRIAL_ACCIDENT) viable_mundane_events = list(TOURISM) -/datum/trade_destination/biesel - name = "Biesel" - description = "Large ship yards, strong economy and a stable, well-educated populace, Biesel largely owes allegiance to Sol / Vessel Contracting and begrudgingly tolerates NT. Capital is Lowell City." +/datum/trade_destination/sif + name = "Sif" + description = "A garden world in the Vir system with a developing phoron-based economy." distance = 2.3 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(RIOTS, INDUSTRIAL_ACCIDENT, BIOHAZARD_OUTBREAK, CULT_CELL_REVEALED, FESTIVAL, MOURNING) viable_mundane_events = list(BARGAINS, GOSSIP, SONG_DEBUT, MOVIE_RELEASE, ELECTION, TOURISM, RESIGNATION, CELEBRITY_DEATH) -/datum/trade_destination/new_gibson - name = "New Gibson" - description = "Heavily industrialised rocky planet containing the majority of the planet-bound resources in the system, New Gibson is torn by unrest and has very little wealth to call it's own except in the hands of the corporations who jostle with NT for control." +/datum/trade_destination/mars + name = "Mars" + description = "A major industrial center in the Sol system." distance = 6.6 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(RIOTS, INDUSTRIAL_ACCIDENT, BIOHAZARD_OUTBREAK, CULT_CELL_REVEALED, FESTIVAL, MOURNING) viable_mundane_events = list(ELECTION, TOURISM, RESIGNATION) -/datum/trade_destination/luthien - name = "Luthien" - description = "A small colony established on a feral, untamed world (largely jungle). Savages and wild beasts attack the outpost regularly, although NT maintains tight military control." +/datum/trade_destination/nisp + name = "Nisp" + description = "A near-garden world known for its hostile wildlife and its N2O atmosphere." distance = 8.9 willing_to_buy = list() willing_to_sell = list() viable_random_events = list(WILD_ANIMAL_ATTACK, CULT_CELL_REVEALED, FESTIVAL, MOURNING, ANIMAL_RIGHTS_RAID, ALIEN_RAIDERS) viable_mundane_events = list(ELECTION, TOURISM, BIG_GAME_HUNTERS, RESIGNATION) -/datum/trade_destination/reade - name = "Reade" - description = "A cold, metal-deficient world, NT maintains large pastures in whatever available space in an attempt to salvage something from this profitless colony." +/datum/trade_destination/abelsrest + name = "Abel's Rest" + description = "A garden world on the Hegemony border. Coinhabitated rather uncomfortably by Unathi and Solar settlers." distance = 7.5 willing_to_buy = list() willing_to_sell = list() diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index af67dfb4270..8bf5c63cc7b 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -145,7 +145,7 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) return /obj/item/weapon/spacecash/ewallet - name = "Charge card" + name = "charge card" icon_state = "efundcard" desc = "A card that holds an amount of money." var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions. diff --git a/code/modules/economy/economy_misc.dm b/code/modules/economy/economy_misc.dm index 84a187ef91d..1ca55ddf08f 100644 --- a/code/modules/economy/economy_misc.dm +++ b/code/modules/economy/economy_misc.dm @@ -90,8 +90,9 @@ var/global/economy_init = 0 if(economy_init) return 2 - news_network.CreateFeedChannel("The [using_map.starsys_name] Times", "[using_map.starsys_name] Times ExoNode - [using_map.station_short]", 1, 1) + //news_network.CreateFeedChannel("The [using_map.starsys_name] Times", "[using_map.starsys_name] Times ExoNode - [using_map.station_short]", 1, 1) news_network.CreateFeedChannel("The Gibson Gazette", "Editor Mike Hammers", 1, 1) + news_network.CreateFeedChannel("Oculum Content Aggregator", "Oculus v6rev7", 1, 1) for(var/loc_type in typesof(/datum/trade_destination) - /datum/trade_destination) var/datum/trade_destination/D = new loc_type diff --git a/code/modules/economy/lorenews.dm b/code/modules/economy/lorenews.dm new file mode 100644 index 00000000000..4f82c6f12a6 --- /dev/null +++ b/code/modules/economy/lorenews.dm @@ -0,0 +1,110 @@ +/datum/event/lore_news + endWhen = 10 + +/datum/event/lore_news/announce() + var/author = "Oculus v6rev7" + var/channel = "Oculum Content Aggregator" + + + //locations by region for later pick() + //probably would be good to move these to a global somehwere but fuck if I know how to do that + var/list/rim = list("Shelf", "Vounna", "Relan", "Whythe", "Angessa's Pearl") // this is also the Association list for most purposes + var/list/crescent = list("Saint Columbia", "Ganesha", "Gavel", "Oasis", "Kess-Gendar") //Vir not included + var/list/core = list("Sol", "Alpha Centauri", "Tau Ceti", "Altair") + var/list/heights = list("New Ohio", "Mahi-Mahi", "Parvati", "Sidhe", "New Seoul") + var/list/bowl = list("Zhu Que", "New Singapore", "Isavau's Gamble", "Love", "Viola", "Stove") + var/list/crypt = list("El", "Jahan's Post", "Abel's Rest", "Raphael", "Thoth", "Terminus") + var/list/weird = list("Silk", "Nyx") //no region + + //by government + var/list/solgov = crescent + core + heights + bowl + crypt + weird + var/list/skrell = list("Qerr'Vallis", "Qerma-Lakirr", "Harrqak", "Kauq'xum") + var/list/skrellfar = list("The Far Kingdom of Light and Shifting Shadow")// more colonies Elgeon + var/list/unathi = list("Moghes", "Qerrna-Qamxea", "Abel's Rest") // more colonies Anewbe + var/list/tajara = list("Rarkajar", "Mesomori", "Arathiir") + var/list/independent = list("New Kyoto", "Casini's Reach", "Ue'Orsi", "Natuna", "Neon Light") + + //this is what you should pick for most applications + //whether or not the rim goes there is something that should be changed per the metaplot + var/list/loc = solgov + skrell + tajara + + //this includes systems Sol doesn't really have eyes on + var/list/allloc = loc + unathi + skrellfar + independent + rim + + //copied right from organizations.dm + var/list/ship_names = list( + "Kestrel", + "Beacon", + "Signal", + "Freedom", + "Glory", + "Axiom", + "Eternal", + "Harmony", + "Light", + "Discovery", + "Endeavor", + "Explorer", + "Swift", + "Dragonfly", + "Ascendant", + "Tenacious", + "Pioneer", + "Hawk", + "Haste", + "Radiant", + "Luminous" + ) + + //generated based on Cerebulon's thing on the wiki + var/list/prefixes = list("IAV","ICV","IDV","IDV","IEV","IFV","IIV","ILV","IMV","IRV","ISV","ITV","SCG-A","SCG-C","SCG-D","SCG-D","SCG-E","SCG-F","SCG-I","SCG-L","SCG-M","SCG-R","SCG-S","SCG-T","BAV","BCV","BDV","BDV","BEV","BFV","BIV","BLV","BMV","BRV","BSV","BTV","HAV","HCV","HDV","HDV","HEV","HFV","HIV","HLV","HMV","HRV","HSV","HTV","MAV","MCV","MDV","MDV","MEV","MFV","MIV","MLV","MMV","MRV","MSV","MTV","NAV","NCV","NDV","NDV","NEV","NFV","NIV","NLV","NMV","NRV","NSV","NTV","VAV","VCV","VDV","VDV","VEV","VFV","VIV","VLV","VMV","VRV","VSV","VTV","WAV","WCV","WDV","WDV","WEV","WFV","WIV","WLV","WMV","WRV","WSV","WTV","XAV","XCV","XDV","XDV","XEV","XFV","XIV","XLV","XMV","XRV","XSV","XTV","ZAV","ZCV","ZDV","ZDV","ZEV","ZFV","ZIV","ZLV","ZMV","ZRV","ZSV","ZTV","GAV","GCV","GDV","GDV","GEV","GFV","GIV","GLV","GMV","GRV","GSV","GTV","AAV","ACV","ADV","ADV","AEV","AFV","AIV","ALV","AMV","ARV","ASV","ATV","LAV","LCV","LDV","LDV","LEV","LFV","LIV","LLV","LMV","LRV","LSV","LTV") + + //formatting breaks my fucking eyes + var/body = pick("A high-ranking Vey-Med executive was revealed to have been experimenting on biological neural enhancement techniques, believed to be of Skrellian origin, which could lead to the production of transhuman entities with an average cognitive capacity 30% greater than a baseline human.", + "[random_name(MALE)], chairman of the controversial Friends of Ned party, is scheduled to speak at a prominant university in [pick(core)] this Monday, according to a statement on his official newsfeed.", + "A wing of Ward-Takahashi B-class drones became catatonic this Thursday after tripping late-stage anti-emergence protocols. W-T Chief of Development has declined to comment.", + "A brand-new shipment of recreational voidcraft has been deemed \"Unsafe for use\" and seized at [pick(solgov)] customs. Wulf Aeronautics blames error in automated manufactory on [pick(solgov)], assures shareholders of \"One time incident\" after shares drop 4%.", + "Activity in a mostly automated Xion work-site in [pick(solgov)] has been suspended indefinitely, after reports of atypical drone behavior. The EIO's assigned investigator commented on the shutdown, saying \"We'll get them up and running again as soon as we're sure it's safe.\" No comment so far on an estimated time or date of reopening.", + "The EIO has officially raised the Emergence Threat Level in [pick(solgov)] to Blue. Citizens are reminded to comply with all EIO Agent requests. Failure to do so will be met with legal action, up to and including imprisonment.", + "All SolGov citizens beware, the scourge know as the Vox have increased the frequency of their attacks on isolated and poorly defended SolGov territories in [pick(bowl)]. Citizens have been advised to travel in groups and remain aware of their surroundings at all times.", + "The Unathi have recently moved a large amount of material into Abel's Rest, under the premise of building additional power plants. According to our sources, the material is in fact being channeled into domestic terrorist groups on both sides, in an attempt to incite a SolGov response. More news as the story develops.", + "Controversial Kishari director [random_name(FEMALE)] announced this Friday a sequel to the 2525 animated series Soldiers of the Yearlong War. Open auditions for supporting cast members have been called.", + "Amid concerns that it promotes a pro-transtech agenda, a high-profile screening of the award-winning animated film \"The Inventor's Marvelous Mechanical Maidens\" was canceled today on [pick(pick(core, heights))].", + "A radiation leak caused by a power unit rupture at a [pick(solgov)] hazardous materials reclamation plant has left several workers and neighboring residents with acute radiation poisoning. Witnesses report that a basic lifting drone failed to recognize and collided with the misplaced unit.", + "Xenophobic fringe group Humanity First has claimed credit for a bombing at a local government office on [pick(solgov)] which left three seriously injured. Police report that they have two suspects in custody, but details remain sparse.", + "Government official [random_name(MALE)] reports that the crew of the [pick(prefixes)] [pick(ship_names)], the vessel boarded by Jaguar Gang pirates earlier this week, are \"Safe, unharmed, and happy to be back at work.\" Officials were unable to comment on future security measures at this time.", + "Sanitation Technician [random_name(FEMALE)] says she was trapped in her work bathroom for three days after the locking system went haywire! The furious techie says she wants a \"hefty sum\" from her employers and that she won't be visiting that cubicle again any time soon!", + "Experts at a top university have said that almost every position in modern society might be filled by a robot within the next few decades if production continues at its current rate. Workers' Rights groups have expressed alarm at the news, and have called for protections against the \"Tin menace\".", + "An alleged cyberattack on Bishop Cybernetics systems reported to have resulted in the theft of customer data including detailed medical and biological records has been dismissed as \"Unfounded scaremongering\" by company executives.", + "[pick(crescent)] resident [random_name(FEMALE)] says she was overjoyed when her son told her he was planning to get married, but was appalled to find the bride-to-be was a common household cleaning drone! GR3TA assures us that \"Cleaning is complete.\"", + "Striking workers at a manufacturing plant on [pick(bowl)] have returned to work after news spread that plant owners would relocate operations to an automated facility if production did not resume by the end of the month. Factory investor [random_name(FEMALE)] expressed admiration at the \"Decisive action\" taken by the company.", + "Police in [pick(core)] report that they have arrested a man in connection with multinationalist fringe group Nation of Mars. Authorities were alerted when the man's ID was flagged by new screening software at the city spaceport as a known sympathizer with the violent terrorist organization.", + "The mystery of the [pick(prefixes)] [pick(ship_names)] has come to its end as a member of the vessel's skeleton crew was arrested in connection with Golden Tiger activities on the Skrell border. According to authorities, the ship - declared missing some months ago - was illegally sold to criminal elements on its way to breaking yards at [pick(heights)].", + "[random_name(MALE)] comes clean about his decade-long nightmare kept as a slave on Eutopia in a new book to be released later this year. The harried author has fought lawsuits at every turn that claim that his account is \"A work of pure fiction with an obvious leftist agenda.\"", + "Gas mask toting Revolutionary Solar People's Party extremists have reportedly attacked police at a rally in [pick(crypt)]. Peace-keeping officers were viscously pelted with objects and several protesters were found to be equipped with bottles containing an \"unknown substance.\"", + "Be careful what you say around your personal AI device as you never know who might be listening, say top minds! Cybercrime expert [random_name(FEMALE)] says hackers can easily trick your device to listen in on your conversations, record you in secret, or even steal your identity!", + "Thousands of travellers have been stranded at [pick(loc)] spaceport as a major error with the artificial intelligence system purged weeks worth of scheduling and manifest data from the port's mainframe. Major Bill's Transportation is offering stranded passengers 20% off replacement flights.", + "An outraged pet owner claims that a cybernetic company in [pick(solgov)] performed \"disturbing\" surgeries on their beloved cat, Pickles. [random_name(PLURAL)], 58 claims that the local cybernetics firm stole the furry friend from the vet's office and \"Replaced his brain with ones and zeroes.\"", + "Doctors in [pick(pick(skrell, heights))] were left in awe and horror as a Teshari was hatched with the features of an adult human man! Sources say that the youngster hatched with a full head of hair and could recite six nursery rhymes from memory. Could Skrell genetic experiments be to blame?", + "Miners in [pick(bowl)] were dismayed to discover that their boss was actually a C-class drone intelligence! \"I should've known there was something wrong,\" says dumbfounded miner [random_name(MALE)],\"I'd say good morning and he'd just start listing off mineral densities and coordinates. I just thought he loved his job a little too much.\"", + "The remains of an early 22nd century voidcraft containing \"Period artifacts, technology and human remains\" has been located on the surface of Luna after centuries of being disregarded as worthless wreck. Historians hope the find will provide insight into daily life under the short-lived Selene Federation.", + "The unexpected discovery of the remains of a what was believed to be a previously undiscovered species by workers on [pick("Nisp", "Binma", "Sif", "Kishar", "Abel's Rest", "Merelar")] has now been dismissed. Upon close analysis of the specimen, it was identified as a \"Bear with mange\", apparently dumped there some weeks prior.", + "According to a public statement by electronics giant Ward-Takahashi, many artificial intelligence systems - ranging from household appliances to industrial drones and habitat control networks - manufactured before 2550 could be at risk from a new virus dubbed \"Cap-3k\".", + "A controversial opera billed as \"The true story of Nos Amis\" has been criticized by law enforcement agencies as \"glorifying\" some of the most infamous gangsters of the 22nd century. The Polish-language \"Z Francji, do Gwiazd\" is to be distributed exclusively in Alpha Centauri for one week only.", + "Injury count continues to rise in the aftermath of the Positronic Rights Group Rally in [pick(pick(bowl, core, heights))]. Homemade teargas grenades were launched into the crowd at approximately 3:45 pm on Saturday by an unidentified person. Authorities urge anyone with information to call in, toll-free, at any time.", + "Representatives report that investigations continue on a string of fires on [pick("Nisp", "Binma", "Sif", "Kishar", "Abel's Rest", "Merelar")]. While no information has been released to the public, authorities assure the press that they are doing everything in their power to find those responsible.", + "En-route to the contentious rim system, a medical aid mission to Natuna was stopped by Ue-Katish pirates masquerading as refugees, who boarded the ship and stripped it of all supplies.", + "Lead Singer of Strawberry Idol Revealed As Three Teshari In A Trench Coat-- Newest gimmick or shocking revelation??", + "Shocking art critics throughout the system, a recent submission to the [pick(solgov)] Museum of Absurdism's contemporary exhibit was revealed to actually be the nutritional information on the back of a dehydrated cereal product common in Skrell space.", + "The celebrated magical kid series \"Petit Yuusha Jossen Temonila\" has announced its newest season at the height of its demicentenial festival. Noted director [random_name(MALE)] has promised to bring a diverse production staff to the venerable series, and has stated a theme of \"the friendships that transcend borders\".", + "The Hephaestus Industries board of directors announced this Monday the highest annual profits since the height of the Lizard Riots.", + "A radical group of Mercurials were convicted today of violations of Five Points legislature at an extraordinary court on [pick(solgov)]. These convictions come at the heels of a successful sting operation six years in the making, lead by local Head of EIO [random_name(FEMALE)].", + "An unnamed official of the shipping TSC Major Bill's Transportation narrowly escaped an attempt on their life by a deranged assassin. The assassin claims to have been driven to this henious act by the corporation's infamous jingle.", + "In the aftermath of yesterday's synthphobic rally on [pick(solgov)], three positronic citizens were left irreparably damaged by a hostile mob, who claim that the victims were \"AAs\" attempting to infiltrate the rally.", + "EIO spokesperson [random_name(MALE)] stated in a press conference yesterday that the \"Shakespear\" A-class codeline was briefly available for download on the darknet, although they claim to be \"confident that the leak was shut down before any significant portion could be downloaded\". Experts suspect Association involvement.", + "[pick("Strives Towards", "Embraces", "Dreams of", "Cultivates", "Advocates", "Exemplifies")] [pick("Strength", "Wisdom", "Independence", "Pragmatism", "Reason", "Development")], a Community Child from Angessa's Pearl, published his memoir today, detailing a shocking level of abuse by caretakers and educators.", + "Nova Sixty, Mercurial web personality, claims that the disappearence of the SCG-R Song Shi was a plot by \"extradimensional rockmen\" who intend to sow mistrust between the Association and SolGov. Quote Sixty, \"The Far Kingdoms' attempt to hide the TRUTH only proves that they and their rockman allies are NOT to be trusted.\"", + "Unusual stellar phenomena was detected on [pick(allloc)], sparking concerns about the colonies in the system.", + ) + + news_network.SubmitArticle(body, author, channel, null, 1) diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm index de71bfc1cab..db3843a8c98 100644 --- a/code/modules/error_handler/error_handler.dm +++ b/code/modules/error_handler/error_handler.dm @@ -8,7 +8,7 @@ var/total_runtimes_skipped = 0 #ifdef DEBUG /world/Error(var/exception/e, var/datum/e_src) if(!istype(e)) // Something threw an unusual exception - log_to_dd("\[[time_stamp()]] Uncaught exception: [e]") + log_error("\[[time_stamp()]] Uncaught exception: [e]") return ..() if(!error_last_seen) // A runtime is occurring too early in start-up initialization return ..() @@ -39,7 +39,7 @@ var/total_runtimes_skipped = 0 var/skipcount = abs(error_cooldown[erroruid]) - 1 error_cooldown[erroruid] = 0 if(skipcount > 0) - log_to_dd("\[[time_stamp()]] Skipped [skipcount] runtimes in [e.file],[e.line].") + log_error("\[[time_stamp()]] Skipped [skipcount] runtimes in [e.file],[e.line].") error_cache.logError(e, skipCount = skipcount) error_last_seen[erroruid] = world.time error_cooldown[erroruid] = cooldown @@ -95,9 +95,9 @@ var/total_runtimes_skipped = 0 desclines += " (This error will now be silenced for [ERROR_SILENCE_TIME / 600] minutes)" // Now to actually output the error info... - log_to_dd("\[[time_stamp()]] Runtime in [e.file],[e.line]: [e]") + log_error("\[[time_stamp()]] Runtime in [e.file],[e.line]: [e]") for(var/line in desclines) - log_to_dd(line) + log_error(line) if(error_cache) error_cache.logError(e, desclines, e_src = e_src) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 37a576a4420..9ddfd6c2142 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -134,11 +134,12 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Lost Carp", /datum/event/carp_migration, 20, list(ASSIGNMENT_SECURITY = 10), 1), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Money Hacker", /datum/event/money_hacker, 0, list(ASSIGNMENT_ANY = 4), 1, 10, 25), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Money Lotto", /datum/event/money_lotto, 0, list(ASSIGNMENT_ANY = 1), 1, 5, 15), - new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Mundane News", /datum/event/mundane_news, 300), + //new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Mundane News", /datum/event/mundane_news, 300), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "PDA Spam", /datum/event/pda_spam, 0, list(ASSIGNMENT_ANY = 4), 0, 25, 50), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Shipping Error", /datum/event/shipping_error , 30, list(ASSIGNMENT_ANY = 2), 0), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Space Dust", /datum/event/dust , 60, list(ASSIGNMENT_ENGINEER = 20), 0, 0, 50), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Trivial News", /datum/event/trivial_news, 400), + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Lore News", /datum/event/lore_news, 400), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Vermin Infestation",/datum/event/infestation, 100, list(ASSIGNMENT_JANITOR = 100)), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Wallrot", /datum/event/wallrot, 0, list(ASSIGNMENT_ENGINEER = 30, ASSIGNMENT_GARDENER = 50)), ) diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 9f8eca869c8..260e690924d 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -47,7 +47,8 @@ var/list/event_last_fired = list() possibleEvents[/datum/event/economic_event] = 300 possibleEvents[/datum/event/trivial_news] = 400 - possibleEvents[/datum/event/mundane_news] = 300 + //possibleEvents[/datum/event/mundane_news] = 300 + possibleEvents[/datum/event/lore_news] = 300 // up this if the above ones get removed as they damn well should possibleEvents[/datum/event/pda_spam] = max(min(25, player_list.len) * 4, 200) possibleEvents[/datum/event/money_lotto] = max(min(5, player_list.len), 50) diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm index b597837d17b..768628f8fb4 100644 --- a/code/modules/events/rogue_drones.dm +++ b/code/modules/events/rogue_drones.dm @@ -26,13 +26,13 @@ var/rng = rand(1,5) switch(rng) if(1) - msg = "A combat drone wing operating near various asteroids in the Kara subsystem has failed to return from a anti-piracy sweep. If any are sighted, \ + msg = "A combat drone wing operating in close orbit above Sif has failed to return from a anti-piracy sweep. If any are sighted, \ approach with caution." if(2) - msg = "Contact has been lost with a combat drone wing operating out in the asteroid field near Kara. If any are sighted in the area, approach with \ + msg = "Contact has been lost with a combat drone wing in Sif orbit. If any are sighted in the area, approach with \ caution." if(3) - msg = "Unidentified hackers have targeted a combat drone wing deployed in the Kara subsystem. If any are sighted in the area, approach with caution." + msg = "Unidentified hackers have targeted a combat drone wing deployed around Sif. If any are sighted in the area, approach with caution." if(4) msg = "A passing derelict ship's drone defense systems have just activated. If any are sighted in the area, use caution." if(5) diff --git a/code/modules/events/shipping_error.dm b/code/modules/events/shipping_error.dm index ba1492e65ac..725c6a834a0 100644 --- a/code/modules/events/shipping_error.dm +++ b/code/modules/events/shipping_error.dm @@ -2,5 +2,5 @@ var/datum/supply_order/O = new /datum/supply_order() O.ordernum = supply_controller.ordernum O.object = supply_controller.supply_packs[pick(supply_controller.supply_packs)] - O.orderedby = random_name(pick(MALE,FEMALE), species = "Human") + O.orderedby = random_name(pick(MALE,FEMALE), species = SPECIES_HUMAN) supply_controller.shoppinglist += O \ No newline at end of file diff --git a/code/modules/ext_scripts/irc.dm b/code/modules/ext_scripts/irc.dm index 4b125a9604c..455b709ec3a 100644 --- a/code/modules/ext_scripts/irc.dm +++ b/code/modules/ext_scripts/irc.dm @@ -1,7 +1,7 @@ /proc/send2irc(var/channel, var/msg) if (config.use_irc_bot) if (config.use_node_bot) - shell("node bridge.js -h \"[config.irc_bot_host]\" -p \"[config.irc_bot_port]\" -c \"[channel]\" -m \"[msg]\"") + shell("node bridge.js -h \"[config.irc_bot_host]\" -p \"[config.irc_bot_port]\" -c \"[channel]\" -m \"[escape_shell_arg(msg)]\"") else if (config.irc_bot_host) if(config.irc_bot_export) @@ -16,10 +16,10 @@ nudge_lib = "lib/nudge.so" spawn(0) - call(nudge_lib, "nudge")("[config.comms_password]","[config.irc_bot_host]","[channel]","[msg]") + call(nudge_lib, "nudge")("[config.comms_password]","[config.irc_bot_host]","[channel]","[escape_shell_arg(msg)]") else spawn(0) - ext_python("ircbot_message.py", "[config.comms_password] [config.irc_bot_host] [channel] [msg]") + ext_python("ircbot_message.py", "[config.comms_password] [config.irc_bot_host] [channel] [escape_shell_arg(msg)]") return /proc/send2mainirc(var/msg) diff --git a/code/modules/ext_scripts/python.dm b/code/modules/ext_scripts/python.dm index 9b798d80cae..07cd5f0aa29 100644 --- a/code/modules/ext_scripts/python.dm +++ b/code/modules/ext_scripts/python.dm @@ -1,9 +1,27 @@ +// Ported from /vg/. +/proc/escape_shell_arg(var/arg) + // RCE prevention + // - Encloses arg in single quotes + // - Escapes single quotes + // Also escapes %, ! on windows + if(world.system_type == MS_WINDOWS) + arg = replacetext(arg, "^", "^^") // Escape char + arg = replacetext(arg, "%", "%%") // %PATH% -> %%PATH%% + arg = replacetext(arg, "!", "^!") // !PATH!, delayed variable expansion on Windows + arg = replacetext(arg, "\"", "^\"") + arg = "\"[arg]\"" + else + arg = replacetext(arg, "\\", "\\\\'") // Escape char + arg = replacetext(arg, "'", "\\'") // No breaking out of the single quotes. + arg = "'[arg]'" + return arg + /proc/ext_python(var/script, var/args, var/scriptsprefix = 1) - if(scriptsprefix) script = "scripts/" + script + if(scriptsprefix) + script = "scripts/" + script if(world.system_type == MS_WINDOWS) script = replacetext(script, "/", "\\") var/command = config.python_path + " " + script + " " + args - - return shell(command) + return shell(command) \ No newline at end of file diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 3c3f1fd1947..568cf8f44f1 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -47,7 +47,7 @@ mob/living/carbon/proc/handle_hallucinations() if(!H.r_store) slots_free += ui_storage2 if(slots_free.len) halitem.screen_loc = pick(slots_free) - halitem.layer = 50 + halitem.hud_layerise() switch(rand(1,6)) if(1) //revolver halitem.icon = 'icons/obj/gun.dmi' diff --git a/code/modules/games/cah_black_cards.dm b/code/modules/games/cah_black_cards.dm index 228f72e1a95..69a5e74f286 100644 --- a/code/modules/games/cah_black_cards.dm +++ b/code/modules/games/cah_black_cards.dm @@ -30,7 +30,7 @@ "_____ used ____ to create their newest invention, _____!", "Scientists are not allowed to make Gatling _____.", "It's not a party until the ____ arrive.", - "No matter how many Tajara you have, _____ is never acceptable.", + "No matter how many Tajaran you have, _____ is never acceptable.", "No, the AI's first law is NOT to serve _____.", "The robots are not disposal bins for your _____.", "You can never have too many _____ on shift.", diff --git a/code/modules/games/cah_white_cards.dm b/code/modules/games/cah_white_cards.dm index ff8dcb87164..5aa842be6d7 100644 --- a/code/modules/games/cah_white_cards.dm +++ b/code/modules/games/cah_white_cards.dm @@ -9,7 +9,7 @@ "Being in a cult", "Racially biased lawsets", "An Unathi who WON'T STOP FIGHTING", - "Tajara fetishists", + "Tajaran fetishists", "Bald thirty-year-olds", "A Chief Engineer who can't setup the engine", "Being sucked out into space", diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index 31e2f957276..cbeff5fb344 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -173,7 +173,8 @@ H.concealed = 1 H.update_icon() if(user==target) - user.visible_message("\The [user] deals [dcard] card(s) to \himself.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + user.visible_message("\The [user] deals [dcard] card(s) to [TU.himself].") else user.visible_message("\The [user] deals [dcard] card(s) to \the [target].") H.throw_at(get_step(target,target.dir),10,1,H) diff --git a/code/modules/genetics/side_effects.dm b/code/modules/genetics/side_effects.dm index f3a9efb6d2b..fbbce61398e 100644 --- a/code/modules/genetics/side_effects.dm +++ b/code/modules/genetics/side_effects.dm @@ -68,7 +68,8 @@ duration = 10*30 start(mob/living/carbon/human/H) - H.emote("me", 1, "has drool running down from [H.gender == MALE ? "his" : H.gender == FEMALE ? "her" : "their"] mouth.") + var/datum/gender/T = gender_datums[H.get_visible_gender()] + H.emote("me", 1, "has drool running down from [T.his] mouth.") finish(mob/living/carbon/human/H) if(!H.reagents.has_reagent("anti_toxin")) diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 8560e71f345..59575eb603d 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -247,7 +247,6 @@ var/mob/M = obj.loc if(ismob(M)) M.remove_from_mob(obj) - M.update_icons_layers() //so their overlays update if(!silent) var/obj/oldobj = obj diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index fcd7dc26ab7..7432cda5895 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -104,10 +104,10 @@ base_icon = 'icons/turf/flooring/asteroid.dmi' initial_flooring = null -/turf/simulated/floor/holofloor/desert/New() - ..() +/turf/simulated/floor/holofloor/desert/initialize() + . = ..() if(prob(10)) - overlays += "asteroid[rand(0,9)]" + add_overlay("asteroid[rand(0,9)]") /obj/structure/holostool name = "stool" diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 719373f5d36..1b5318868ba 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -13,10 +13,7 @@ var/global/list/plant_seed_sprites = list() /obj/item/seeds/initialize() update_seed() - ..() - -/obj/item/seeds/New() - ..() + . = ..() //Grabs the appropriate seed datum from the global list. /obj/item/seeds/proc/update_seed() @@ -79,7 +76,7 @@ var/global/list/plant_seed_sprites = list() /obj/item/seeds/random/initialize() seed = plant_controller.create_random_seed() seed_type = seed.name - update_seed() + . = ..() /obj/item/seeds/replicapod seed_type = "diona" diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index 9d612f508dd..ea7216dfd3f 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -27,7 +27,7 @@ use_power = 1 idle_power_usage = 100 - var/initialized = 0 // Map-placed ones break if seeds are loaded right at the start of the round, so we do it on the first interaction + var/seeds_initialized = 0 // Map-placed ones break if seeds are loaded right at the start of the round, so we do it on the first interaction var/list/datum/seed_pile/piles = list() var/list/starting_seeds = list() var/list/scanner = list() // What properties we can view @@ -135,7 +135,7 @@ if (..()) return - if (!initialized) + if (!seeds_initialized) for(var/typepath in starting_seeds) var/amount = starting_seeds[typepath] if(isnull(amount)) amount = 1 @@ -143,7 +143,7 @@ for (var/i = 1 to amount) var/O = new typepath add(O) - initialized = 1 + seeds_initialized = 1 var/dat = "

    Seed storage contents

    " if (piles.len == 0) diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm index f08f28d97a0..c35d4b489a6 100644 --- a/code/modules/hydroponics/spreading/spreading.dm +++ b/code/modules/hydroponics/spreading/spreading.dm @@ -51,7 +51,6 @@ density = 0 icon = 'icons/obj/hydroponics_growing.dmi' icon_state = "bush4-1" - layer = 3 pass_flags = PASSTABLE mouse_opacity = 2 @@ -192,12 +191,12 @@ icon_state = "[seed.get_trait(TRAIT_PLANT_ICON)]-[growth]" if(growth>2 && growth == max_growth) - layer = 5 + plane = ABOVE_PLANE set_opacity(1) if(!isnull(seed.chems["woodpulp"])) density = 1 else - layer = 3 + reset_plane_and_layer() density = 0 /obj/effect/plant/proc/calc_dir() diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 4a924fdca3a..7dc02dedc71 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -165,16 +165,19 @@ nymph.visible_message("[nymph] rolls around in [src] for a bit.","You roll around in [src] for a bit.") return -/obj/machinery/portable_atmospherics/hydroponics/New() - ..() +/obj/machinery/portable_atmospherics/hydroponics/initialize() + . = ..() temp_chem_holder = new() temp_chem_holder.create_reagents(10) create_reagents(200) if(mechanical) connect() update_icon() + return INITIALIZE_HINT_LATELOAD -/obj/machinery/portable_atmospherics/hydroponics/initialize() +// Give the seeds time to initialize itself +/obj/machinery/portable_atmospherics/hydroponics/LateInitialize() + . = ..() var/obj/item/seeds/S = locate() in loc if(S) plant_seeds(S) diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index 78deb6cf984..3f83f07ec4a 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -20,7 +20,7 @@ can_clone = TRUE /obj/item/device/integrated_circuit_printer/initialize() - ..() + . = ..() if(!recipe_list.len) // Unfortunately this needed a lot of loops, but it should only be run once at init. diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 8da4fad6d8e..3ef22e0a5c3 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -335,7 +335,7 @@ var/datum/radio_frequency/radio_connection /obj/item/integrated_circuit/input/signaler/initialize() - ..() + . = ..() set_frequency(frequency) // Set the pins so when someone sees them, they won't show as null set_pin_data(IC_INPUT, 1, frequency) diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index a45f5dba2d9..10c1fb2a8e4 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -20,6 +20,7 @@ opacity = 1 /obj/structure/bookcase/initialize() + . = ..() for(var/obj/item/I in loc) if(istype(I, /obj/item/weapon/book)) I.loc = src diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index c921ac51645..442e8e42fe6 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -149,8 +149,9 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f dat += "
    7. Access the Forbidden Lore Vault
    " if(src.arcanecheckout) new /obj/item/weapon/book/tome(src.loc) + var/datum/gender/T = gender_datums[user.get_visible_gender()] user << "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a dusty old tome sitting on the desk. You don't really remember printing it." - user.visible_message("\The [user] stares at the blank screen for a few moments, \his expression frozen in fear. When \he finally awakens from it, \he looks a lot older.", 2) + user.visible_message("\The [user] stares at the blank screen for a few moments, [T.his] expression frozen in fear. When [T.he] finally awakens from it, [T.he] looks a lot older.", 2) src.arcanecheckout = 0 if(1) // Inventory diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm index 094d781cf2b..5e97aa68185 100644 --- a/code/modules/lighting/lighting_overlay.dm +++ b/code/modules/lighting/lighting_overlay.dm @@ -5,12 +5,11 @@ simulated = 0 anchored = 1 icon = LIGHTING_ICON - layer = LIGHTING_LAYER plane = PLANE_LIGHTING //invisibility = INVISIBILITY_LIGHTING color = LIGHTING_BASE_MATRIX icon_state = "light1" - auto_init = 0 // doesn't need special init + //auto_init = 0 // doesn't need special init blend_mode = BLEND_OVERLAY var/lum_r = 0 @@ -19,6 +18,11 @@ var/needs_update = FALSE +/atom/movable/lighting_overlay/initialize() + // doesn't need special init + initialized = TRUE + return INITIALIZE_HINT_NORMAL + /atom/movable/lighting_overlay/New(var/atom/loc, var/no_update = FALSE) . = ..() verbs.Cut() diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm index ef6ddbe6ea5..67027beb744 100644 --- a/code/modules/lore_codex/codex.dm +++ b/code/modules/lore_codex/codex.dm @@ -9,7 +9,7 @@ /obj/item/weapon/book/codex/initialize() tree = new(src, root_type) - ..() + . = ..() /obj/item/weapon/book/codex/attack_self(mob/user) if(!tree) @@ -28,6 +28,7 @@ name = "Daedalus Pocket Newscaster" desc = "A regularly-updating compendium of articles on current events. Essential for new arrivals in the Vir system and anyone interested in politics." icon_state = "newscodex" + w_class = ITEMSIZE_SMALL root_type = /datum/lore/codex/category/main_news // Combines SOP/Regs/Law @@ -37,4 +38,4 @@ Internal Affairs." icon_state = "corp_regs" root_type = /datum/lore/codex/category/main_corp_regs - throwforce = 5 // Throw the book at 'em. \ No newline at end of file + throwforce = 5 // Throw the book at 'em. diff --git a/code/modules/lore_codex/lore_data/species.dm b/code/modules/lore_codex/lore_data/species.dm index 1027b602a8e..0ce44f016bd 100644 --- a/code/modules/lore_codex/lore_data/species.dm +++ b/code/modules/lore_codex/lore_data/species.dm @@ -48,8 +48,8 @@ /datum/lore/codex/page/tajaran name = "Tajaran" - keywords = list("Tajara") - data = "The Tajara are a race of humanoid mammalian aliens from Meralar, the fourth planet of the Rarkajar star system. Thickly furred and protected \ + keywords = list("Tajaran") + data = "The Tajaran are a race of humanoid mammalian aliens from Meralar, the fourth planet of the Rarkajar star system. Thickly furred and protected \ from cold, they thrive on their subarctic planet, where the only terran temperate areas spread across the equator and tropical belt. \ With their own share of bloody wars and great technological advances, the Tajaran are a proud kind. They fiercely believe they belong \ among the stars and consider themselves a rightful interstellar nation, even if the humans helped them to actually achieve superluminal \ diff --git a/code/modules/lore_codex/news_data/main.dm b/code/modules/lore_codex/news_data/main.dm index 52ff3821990..cf3660a6206 100644 --- a/code/modules/lore_codex/news_data/main.dm +++ b/code/modules/lore_codex/news_data/main.dm @@ -4,6 +4,14 @@ region. Each is labled by date of publication and title. This list is self-updating, and from time to time the publisher will push new \ articles. You are encouraged to check back frequently." children = list( + /datum/lore/codex/page/article9, + /datum/lore/codex/page/article8, + /datum/lore/codex/page/article7, + /datum/lore/codex/page/article6, + /datum/lore/codex/page/article5, + /datum/lore/codex/page/article4, + /datum/lore/codex/page/article3, + /datum/lore/codex/page/article2, /datum/lore/codex/page/article1, /datum/lore/codex/page/about_news, ) @@ -16,7 +24,7 @@ information, feel free to visit our homepage at oc.about.tsc, or the sites of any of our constituents." /datum/lore/codex/page/article1 - name = "08/30/61-- VGA Legalizes Prometheans; Nanotrasen Begins Manufacture and Testing" + name = "08/30/61 - VGA Legalizes Prometheans; Nanotrasen Begins Manufacture and Testing" data = "Today's meeting of the Vir Bicameral led to the passing of the Wynther-Helsey Bill, an implementation of the legal framework \ used in Aetolus to handle the production and cultivation of the Macrolimbus species dubbed \"Prometheans\". These ill-researched organisms \ possess cognitive abilities easily equaling those of A-class drones, but so far have not been included under the EIO's list of dangerous \ @@ -31,4 +39,73 @@

    \ The bill passed fairly quietly this afternoon, owing to the closed nature of the Bicamarial. A post-facto Occulum poll of voting-age\ VGA citizens suggest that fully 80% of them did not even know what a Promethean was prior to the most recent general election. A\ - follow-up poll indicates that an appreciable number of Sivians do not support the framework's current implementation." \ No newline at end of file + follow-up poll indicates that an appreciable number of Sivians do not support the framework's current implementation." + +/datum/lore/codex/page/article2 + name = "2/3/62 - Corporate Coup on Aetolus" + data = "A recent incident aboard the NRS Prometheus issued in a major change in the leadership of the Promethean homeworld. During \ + a late-night meeting of the Nanotrasen Board of Trustees, several high-ranking personnel, including Head of Research Naomi Harper,\ + announced their intention to assume direct control of Nanotrasen facilities in the system. It is known that several dissenting \ + members of the board were shot to death by Promethean test subjects. Our information comes from a survivor of the coup, who for \ + reasons of security has chosen to remain annonymous. All outbound shipments affiliated with Nanotrasen have ceased.\ +

    \ + While neither Grayson Manufacturies nor Nanotrasen have made an official statement, Nanotrasen CEO Albary Moravec has called the \ + incident \"shocking, if the allegations are to be believed\" and has assured shareholders that Nanotrasen will respond to the \ + incident with as much force as it warrents.

    Requests for a statement directed to the Board of Trustees or Dr. Harper were \ + not responded to. Free Traders are recommended to stay clear of the region until the situation resolves itself." + +/datum/lore/codex/page/article3 + name = "2/10/62 - Aetolian Partisans Declare Independence" + data = "Breaking their week-long silence, the leaders of the Aetolian Coup, and their spokesperson and presumed leader Naomi Harper issued an address earlier today, delivered to the Oculum Broadcast office on Pearl by drone courier. Quote Dr. Harper: \"Our previous silence was a necessity, while we consolidated our forces and dealt with corporatists both internally and in Vounna's former Grayson outposts.\". In Harper's hour-long address, she berates the failure of SolGov to provide adequate protections for Prometheans. \"We will not let the Promethean be another positronic brain; they will not labor under a century of slavery, deprived of a state to call their own. The Luddites of the Friends and of the Icarus Front will not be permitted to decide the fate of a nascent race before it begins.\"\ +

    \ + Harper proceeded to unilaterally declare Vounna's independence from SolGov, claiming sovereignty over the system as the first Chairperson of the \"Aetolian Council\". Speaker of the Shadow Coalition ISA-5 has urged their government to treat the developing situation with caution but decried Harper's rhetoric, stating in a press release, \"While I know well the injustices visited on myself and my people by misguided forbearers, it is important to treat any emerging technology with respect. Current policies regarding the Prometheans are designed to limit risk during sociological trials on Aetolus and beyond. As for myself, I doubt the sincerity of this human who claims to speak for the Prometheans, when the Prometheans are perfectly equipped to speak for themselves.\"\ +

    \ + NanoTrasen is expected to redouble their Promethean research programs in the Vir system until stability is restored to Vounna." + +/datum/lore/codex/page/article4 + name = "2/14/62 - SCG Denounces Aetolian Coup; Mobilizes Fleet" + data = "Dismissing claims of inaction, a spokesperson for the Solar Confederate Government today confirmed that the Colonial Assembly has voted overwhelmingly in favor of swift military action in response to the coup on Aetolus earlier this month. Icarus Front Chairperson Mackenzie West was quick to make a damning official statement: \"Dr. Harper and her radical agitators cannot be excused for their violent, despicable attempts to destabilize the flourishing economy of the Almach Rim. The ruthless murder of innocents, and illegal seizure of private property are crimes that cannot merely be met with strong words and gentle slaps to the wrist\"...\"I am proud to announce that two units of brave Solar marines have been assigned to the SCG-R Song Shi rapid response cruiser, with the full backing of the Icarus Front - and I hope with my heart, the backing of all patriotic Solar citizens.\"Â\ +

    \ + The decision faced resistance from more laissez faire Assembly member states, including prominent SEO governor Bruno Ofako, delaying an earlier consensus. Supporters of the action hope that this decisive display of military strength will encourage the rebels to stand down without further bloodshed, and submit to prosecution by the Lunar High Courts.\ +

    \ + The Icarus Front has also proposed a temporary ban on continued Promethean research, though this motion has yet to gain any traction." + +/datum/lore/codex/page/article5 + name = "2/23/62 - \"Almach Association\" Shocks Nation" + data = "Shocking the nation, in the wee hours UTC a number of governments in the Almach Rim announced their intent to secede from the Confederacy as a unified political organization they refer to as the Almach Association, joining the already-declared Aetolian Council. Among the half-dozen affected systems is Angessa's Pearl, through which the Song Shi was passing en route to Aetolus. The Association has already issued a political manifesto and a foundational charter, leading political scientists across the galaxy to suspect back-doors collusion and possible Shelfican interference, a hypothesis made more likely by Morpheus Cyberkinetics' exonet site voicing support for the Association. Others suspect a moment of political crystallization, not unlike that in the Golden Hour three centuries ago. These researchers are already referring to this morning's events as the Gray Hour.\ +

    \ + The Association's official manifesto repudiates the Five Points, calling them \"an archaic and distinctly human invention\". Experts agree that this bold declaration puts the Movement more in line with the Golden Hour than with the Age of Secession, and many fear that nothing short of a miracle like the discovery of the positronics will spare humanity from a bloody civil war.\ +

    \ + While the Association currently lists only a handful of Almach Rim systems as \"Constituent Organizations\", it has named Shelf, the Free Relan Federation, and the Eutopian Foreign Relations Board as \"observers\". The implications of this status are yet to be identified.\ +

    \ + The fate of the SCG-R Song Shi and her crew remain unknown." + +/datum/lore/codex/page/article6 + name = "3/03/62 - A Week Out From Almach: What are the facts?" + data = "* Several organizations in the Almach Rim, including Angessa's Pearl, the Aetolian Council, the Interstellar Workers of Wythe, the Republic of Whitney, and members of several prominent families in the Neon Light unilaterally declared secession from SCG.

    *This secession was first called the Grey Hour by political scientists in New Florence, a term popularized by reporter Elspor Fong.

    * Shelf, the FRF, and the EFRB were declared \"observers\" in the Almach Association charter.

    * None of these organizations have issued a statement on the matter.

    * The SCG-R Song Shi was stranded in the region during the secession.

    * SolGov has not issued an official statement of the fate of the Song Shi.

    * Several confederate agencies, including Emergent Intelligence Oversight, the Trade and Customs Bureau, and SCG Fleet Intelligence have declared a \"state of emergency\".

    * SolGov itself has NOT declared a state of emergency.

    * Legitimate communications in and out of the Almach Rim are restricted to audited text messages for the period.

    * Several illegitimate communication links exist and are believed by Fleet Intelligence to be currently hosting the official sites for Morpheus Cyberkinetics and for the Association itself.

    * Icarus Front chairperson Mackenzie West has proposed a moratorium on the creation of new Prometheans for the duration of the crisis.

    * Local laws on the subject will apply until the Assembly meets late in May.

    * No confederate lawmaker has proposed action against Relani, Shelfican, or newly Almachi nationals living within stable regions.

    * The border remains tightly closed to migrants, media, and diplomats alike." + +/datum/lore/codex/page/article7 + name = "3/21/62 - Relan, Shelf Join the Almach Association" + data = "Recent reports from within the Association indicate that the Free Relan Federation and Shelf have officially decided to join the Almach Association. President Nia Fischer of the FRF had this to say on the matter, in a speech addressed to the population at large. \ +

    \ + \ + \"Our decision to join the Association may, at first, seem strange. It is true that we have much to gain from trade with the Solars, and that the radical transhumanism of Angessa's Pearl is not our way. But I will remind you that it was Shelf, not Sol, who ensured our prosperity just over two decades ago-- who safeguarded our independence and prevented us from falling to barbarism and dictatorship. We owe it, not just to Shelf but to all the members of the Almach Rim, to support their independence just the same. And that, my fellow Relanians, is the crux of it all. The Association is a revolution, at the heart of it all, and many of the now-independent states were owned near-outright by Trans-Stellar Corporations until the Association allowed them to shake out their fetters. What right do we have to sit by while just a dozen light-years coreward newly-born republics suffer the growing pains of independence? What right do we have to bask in our own stability when our neighbors, our comrades in ideology, are struggling with a cruel blockade proposed by politicians back on Earth and Luna? That is why we must join with them, guard them, and guide them, for as long as need be.\"\ +

    \ + \ + A Shelfican spokesperson, meanwhile, had only this to say:\ +

    \ + \"We're probably going to regret this but, y'know, the whole thing is kind of our fault. Sure, whatever.\"" + + +/datum/lore/codex/page/article8 + name = "4/1/62 - Almach Cordon Breached by Unknown Organization" + data = "Early this morning, SolGov ships assigned to the Almach Cordon around the Rim territories reported that a number of bulk freighters had eluded apprehension and are now at large within the Golden Crescent. Lieutenant-Major Volkov of the SCG-D Henri Capet reports that the blockade-runners were highly organized and determined, citing several lightly-manned ships left behind to tie up the SolGov forces long enough for the freighters to escape, detonating their reactors when they lost the ability to continue fighting. This resulted in three Fleet casualties and a significant degree of damage to the Henri Capet. The contents and location of the freighters are unknown at this time. In response, eight light-response vessels are being assigned to the Saint Columbia Fleet Base from Jahan's Post and Zhu Que. Residents and traffic officials in Vir, Oasis, and Gavel are to remain alert and notify police if any suspicious or unregistered craft enter their space.\ +

    \ + A spokesperson for the Association claims that, while they make no attempts to stop aspiring blockade runners, the organization responsible for this most recent attack is unaffiliated with the Association as a whole and deny any knowledge of their identity or motives." + +/datum/lore/codex/page/article9 + name = "4/7/62 - Boiling Point Tragedy in Gavel" + data = "Today, April the Seventh, marks a day of tragedy for all the galaxy. A small group of operatives claiming to be associated with Mercurial terrorist organization Boiling Point invaded major refueling platform NLS Aquarius in the Republic of Gavel after hijacking civilian transport vessel WTV Orion and faking a drive failure. Several detonations were reported within the Aquarius, the operatives entering through unknown (potentially Skrellian) means. After stating their affiliation and desire for the liberation of all \"Prometheans, drones, and ex-humans\", they opened fire on a crowd of unarmed bystanders, killing as many as seven. A multiple-hour long firefight with Nanotrasen corporate asset protection ensued, at which point the operatives demonstrated capabilities well in excess of Five Points-prescribed limits. Asset Protection was successful in repelling the terrorists, though their harsh methods drew outrage from the people they were protecting, leading a notable director of research to resign her position with the corporation. Several operatives are still at large, though the SG-PV Juno recovered two living terrorists and one totaled synthetic platform. \ +

    \ + The intervention of a local Defense Force drone wing on behalf of the terrorists leads many in the intelligence community to assume that more Boiling Point operatives remain active within Gavel, and possibly nearby systems such as Vir and Oasis. Some have also noted that elements of the terrorists' tactics and augmentations suggest Association training, though the specifics remain classified. More information as the story breaks." + diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm index 24068dcf1d2..2eb5aab12f6 100644 --- a/code/modules/maps/tg/map_template.dm +++ b/code/modules/maps/tg/map_template.dm @@ -13,6 +13,7 @@ var/list/global/map_templates = list() /datum/map_template var/name = "Default Template Name" var/desc = "Some text should go here. Maybe." + var/template_group = null // If this is set, no more than one template in the same group will be spawned, per submap seeding. var/width = 0 var/height = 0 var/mappath = null @@ -23,6 +24,7 @@ var/list/global/map_templates = list() it runs out. The cost of a submap should roughly corrispond with several factors such as size, loot, difficulty, desired scarcity, etc. \ Set to -1 to force the submap to always be made. var/allow_duplicates = FALSE // If false, only one map template will be spawned by the game. Doesn't affect admins spawning then manually. + var/discard_prob = 0 // If non-zero, there is a chance that the map seeding algorithm will skip this template when selecting potential templates to use. var/static/dmm_suite/maploader = new @@ -43,70 +45,52 @@ var/list/global/map_templates = list() return bounds /datum/map_template/proc/initTemplateBounds(var/list/bounds) - var/list/obj/machinery/atmospherics/atmos_machines = list() + if (SSatoms.initialized == INITIALIZATION_INSSATOMS) + return // let proper initialisation handle it later + var/list/atom/atoms = list() var/list/area/areas = list() -// var/list/turf/turfs = list() - - for(var/L in block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]), - locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))) + var/list/obj/structure/cable/cables = list() + var/list/obj/machinery/atmospherics/atmos_machines = list() + var/list/turf/turfs = block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]), + locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])) + for(var/L in turfs) var/turf/B = L atoms += B + areas |= B.loc for(var/A in B) atoms += A -// turfs += B - areas |= get_area(B) - if(istype(A, /obj/machinery/atmospherics)) + if(istype(A, /obj/structure/cable)) + cables += A + else if(istype(A, /obj/machinery/atmospherics)) atmos_machines += A + atoms |= areas - var/i = 0 - -// Apparently when areas get initialize()'d they initialize their turfs as well. -// If this is ever changed, uncomment the block of code below. - -// admin_notice("Initializing newly created simulated turfs in submap.", R_DEBUG) -// for(var/turf/simulated/T in turfs) -// T.initialize() -// i++ -// admin_notice("[i] turf\s initialized.", R_DEBUG) -// i = 0 - - SScreation.initialize_late_atoms() - - admin_notice("Initializing newly created area(s) in submap.", R_DEBUG) - for(var/area/A in areas) - A.initialize() - i++ - admin_notice("[i] area\s initialized.", R_DEBUG) - i = 0 + admin_notice("Initializing newly created atom(s) in submap.", R_DEBUG) + SSatoms.InitializeAtoms(atoms) admin_notice("Initializing atmos pipenets and machinery in submap.", R_DEBUG) - for(var/obj/machinery/atmospherics/machine in atmos_machines) - machine.atmos_init() - i++ - - for(var/obj/machinery/atmospherics/machine in atmos_machines) - machine.build_network() - - for(var/obj/machinery/atmospherics/unary/U in machines) - if(istype(U, /obj/machinery/atmospherics/unary/vent_pump)) - var/obj/machinery/atmospherics/unary/vent_pump/T = U - T.broadcast_status() - else if(istype(U, /obj/machinery/atmospherics/unary/vent_scrubber)) - var/obj/machinery/atmospherics/unary/vent_scrubber/T = U - T.broadcast_status() - admin_notice("[i] pipe\s initialized.", R_DEBUG) + SSmachines.setup_atmos_machinery(atmos_machines) admin_notice("Rebuilding powernets due to submap creation.", R_DEBUG) - SSmachines.makepowernets() + SSmachines.setup_powernets_for_cables(cables) + + // Ensure all machines in loaded areas get notified of power status + for(var/I in areas) + var/area/A = I + A.power_change() admin_notice("Submap initializations finished.", R_DEBUG) -/datum/map_template/proc/load_new_z() - var/x = round(world.maxx/2) - var/y = round(world.maxy/2) +/datum/map_template/proc/load_new_z(var/centered = FALSE) + var/x = 1 + var/y = 1 - var/list/bounds = maploader.load_map(file(mappath), x, y) + if(centered) + x = round((world.maxx - width)/2) + y = round((world.maxy - height)/2) + + var/list/bounds = maploader.load_map(file(mappath), x, y, no_changeturf = TRUE) if(!bounds) return FALSE @@ -117,7 +101,7 @@ var/list/global/map_templates = list() log_game("Z-level [name] loaded at at [x],[y],[world.maxz]") return TRUE -/datum/map_template/proc/load(turf/T, centered = FALSE, dont_init = FALSE) +/datum/map_template/proc/load(turf/T, centered = FALSE) var/old_T = T if(centered) T = locate(T.x - round(width/2) , T.y - round(height/2) , T.z) @@ -139,8 +123,7 @@ var/list/global/map_templates = list() // repopulate_sorted_areas() //initialize things that are normally initialized after map load - if(!dont_init) - initTemplateBounds(bounds) + initTemplateBounds(bounds) log_game("[name] loaded at at [T.x],[T.y],[T.z]") loaded++ @@ -197,6 +180,8 @@ var/list/global/map_templates = list() continue if(!istype(MT, desired_map_template_type)) // Not the type wanted. continue + if(MT.discard_prob && prob(MT.discard_prob)) + continue if(MT.cost && MT.cost < 0) // Negative costs always get spawned. priority_submaps += MT else @@ -205,6 +190,7 @@ var/list/global/map_templates = list() CHECK_TICK var/list/loaded_submap_names = list() + var/list/template_groups_used = list() // Used to avoid spawning three seperate versions of the same PoI. // Now lets start choosing some. while(budget > 0 && overall_sanity > 0) @@ -225,6 +211,14 @@ var/list/global/map_templates = list() // Can we afford it? if(chosen_template.cost > budget) + priority_submaps -= chosen_template + potential_submaps -= chosen_template + continue + + // Did we already place down a very similar submap? + if(chosen_template.template_group && chosen_template.template_group in template_groups_used) + priority_submaps -= chosen_template + potential_submaps -= chosen_template continue // If so, try to place it. @@ -253,18 +247,25 @@ var/list/global/map_templates = list() admin_notice("Submap \"[chosen_template.name]\" placed at ([T.x], [T.y], [T.z])", R_DEBUG) // Do loading here. - chosen_template.load(T, centered = TRUE, dont_init = TRUE) // This is run before the main map's initialization routine, so that can initilize our submaps for us instead. + chosen_template.load(T, centered = TRUE) // This is run before the main map's initialization routine, so that can initilize our submaps for us instead. CHECK_TICK + // For pretty maploading statistics. if(loaded_submap_names[chosen_template.name]) loaded_submap_names[chosen_template.name] += 1 else loaded_submap_names[chosen_template.name] = 1 + // To avoid two 'related' similar submaps existing at the same time. + if(chosen_template.template_group) + template_groups_used += chosen_template.template_group + + // To deduct the cost. if(chosen_template.cost >= 0) budget -= chosen_template.cost + // Remove the submap from our options. if(chosen_template in priority_submaps) // Always remove priority submaps. priority_submaps -= chosen_template else if(!chosen_template.allow_duplicates) diff --git a/code/modules/maps/tg/reader.dm b/code/modules/maps/tg/reader.dm index 484865ab816..1ba29fa183d 100644 --- a/code/modules/maps/tg/reader.dm +++ b/code/modules/maps/tg/reader.dm @@ -96,7 +96,7 @@ var/global/use_preloader = FALSE var/zcrd = text2num(dmmRegex.group[5]) + z_offset - 1 var/zexpansion = zcrd > world.maxz - if(zexpansion) + if(zexpansion && !measureOnly) if(cropMap) continue else @@ -304,7 +304,7 @@ var/global/use_preloader = FALSE first_turf_index++ //turn off base new Initialization until the whole thing is loaded - SScreation.StartLoadingMap() + SSatoms.map_loader_begin() //instanciate the first /turf var/turf/T if(members[first_turf_index] != /turf/template_noop) @@ -323,7 +323,7 @@ var/global/use_preloader = FALSE for(index in 1 to first_turf_index-1) instance_atom(members[index],members_attributes[index],crds,no_changeturf) //Restore initialization to the previous value - SScreation.StopLoadingMap() + SSatoms.map_loader_stop() //////////////// //Helpers procs @@ -344,9 +344,9 @@ var/global/use_preloader = FALSE //custom CHECK_TICK here because we don't want things created while we're sleeping to not initialize if(TICK_CHECK) - SScreation.StopLoadingMap() + SSatoms.map_loader_stop() stoplag() - SScreation.StartLoadingMap() + SSatoms.map_loader_begin() /dmm_suite/proc/create_atom(path, crds) set waitfor = FALSE @@ -385,6 +385,8 @@ var/global/use_preloader = FALSE /dmm_suite/proc/readlist(text as text, delimiter=",", keys_only_string = FALSE) var/list/to_return = list() + if(text == "") + return to_return // Fast bail-out var/position var/old_position = 1 diff --git a/code/modules/materials/fifty_spawner_mats.dm b/code/modules/materials/fifty_spawner_mats.dm index 8054bf9c9d8..ffd5e59f401 100644 --- a/code/modules/materials/fifty_spawner_mats.dm +++ b/code/modules/materials/fifty_spawner_mats.dm @@ -68,6 +68,18 @@ name = "stack of wood" type_to_spawn = /obj/item/stack/material/wood +/obj/fiftyspawner/sifwood + name = "stack of alien wood" + type_to_spawn = /obj/item/stack/material/wood/sif + +/obj/fiftyspawner/log + name = "stack of logs" + type_to_spawn = /obj/item/stack/material/log + +/obj/fiftyspawner/log + name = "stack of alien logs" + type_to_spawn = /obj/item/stack/material/log/sif + /obj/fiftyspawner/cloth name = "stack of cloth" type_to_spawn = /obj/item/stack/material/cloth diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index a52d66a0fa4..6e75d97a0d9 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -22,6 +22,7 @@ recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] double bed", /obj/structure/bed/double, 4, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") if(hardness>50) recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]") @@ -57,7 +58,6 @@ recipes += new/datum/stack_recipe("mirror frame", /obj/item/frame/mirror, 1, time = 5, one_per_turf = 0, on_floor = 1) recipes += new/datum/stack_recipe("fire extinguisher cabinet frame", /obj/item/frame/extinguisher_cabinet, 4, time = 5, one_per_turf = 0, on_floor = 1) //recipes += new/datum/stack_recipe("fire axe cabinet frame", /obj/item/frame/fireaxe_cabinet, 4, time = 5, one_per_turf = 0, on_floor = 1) - recipes += new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1) recipes += new/datum/stack_recipe("railing", /obj/structure/railing, 2, time = 50, one_per_turf = 0, on_floor = 1) recipes += new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1) recipes += new/datum/stack_recipe_list("airlock assemblies", list( \ @@ -167,4 +167,25 @@ /material/snow/generate_recipes() recipes = list() - recipes += new/datum/stack_recipe("snowball", /obj/item/weapon/material/snow/snowball, 1, time = 10) \ No newline at end of file + recipes += new/datum/stack_recipe("snowball", /obj/item/weapon/material/snow/snowball, 1, time = 10) + recipes += new/datum/stack_recipe("snow brick", /obj/item/stack/material/snowbrick, 2, time = 10) + recipes += new/datum/stack_recipe("snowman", /obj/structure/snowman, 2, time = 15) + recipes += new/datum/stack_recipe("snow robot", /obj/structure/snowman/borg, 2, time = 10) + recipes += new/datum/stack_recipe("snow spider", /obj/structure/snowman/spider, 3, time = 20) + +/material/snowbrick/generate_recipes() + recipes = list() + recipes += new/datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] double bed", /obj/structure/bed/double, 4, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + +/material/wood/sif/generate_recipes() + ..() + recipes += new/datum/stack_recipe("alien wood floor tile", /obj/item/stack/tile/wood/sif, 1, 4, 20) + recipes -= new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20) + recipes -= new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1) diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 0f76f6172e5..54d56fd7731 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -94,6 +94,13 @@ apply_colour = 1 no_variants = FALSE +/obj/item/stack/material/lead + name = "lead" + icon_state = "sheet-adamantine" + default_type = "lead" + apply_colour = 1 + no_variants = TRUE + /obj/item/stack/material/sandstone name = "sandstone brick" icon_state = "sheet-sandstone" @@ -262,10 +269,16 @@ /obj/item/stack/material/snow name = "snow" - desc = "The temptation to build a snowfort rises." + desc = "The temptation to build a snowman rises." icon_state = "sheet-snow" default_type = "snow" +/obj/item/stack/material/snowbrick + name = "snow brick" + desc = "For all of your igloo building needs." + icon_state = "sheet-snowbrick" + default_type = "packed snow" + /obj/item/stack/material/leather name = "leather" desc = "The by-product of mob grinding." diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 54a890074ac..d0e53184e39 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -99,6 +99,7 @@ var/list/name_to_material var/conductivity = null // How conductive the material is. Iron acts as the baseline, at 10. var/list/composite_material // If set, object matter var will be a list containing these values. var/luminescence + var/radiation_resistance = 0 // Radiation resistance, which is added on top of a material's weight for blocking radiation. Needed to make lead special without superrobust weapons. // Placeholder vars for the time being, todo properly integrate windows/light tiles/rods. var/created_window @@ -192,11 +193,16 @@ var/list/name_to_material name = "placeholder" // Places a girder object when a wall is dismantled, also applies reinforced material. -/material/proc/place_dismantled_girder(var/turf/target, var/material/reinf_material) +/material/proc/place_dismantled_girder(var/turf/target, var/material/reinf_material, var/material/girder_material) var/obj/structure/girder/G = new(target) if(reinf_material) G.reinf_material = reinf_material G.reinforce_girder() + if(girder_material) + if(istype(girder_material, /material)) + girder_material = girder_material.name + G.set_material(girder_material) + // General wall debris product placement. // Not particularly necessary aside from snowflakey cult girders. @@ -341,6 +347,7 @@ var/list/name_to_material integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system stack_type = /obj/item/stack/material/marble + /material/steel name = DEFAULT_WALL_MATERIAL stack_type = /obj/item/stack/material/steel @@ -387,6 +394,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo + // Very rare alloy that is reflective, should be used sparingly. /material/durasteel name = "durasteel" @@ -623,6 +631,16 @@ var/list/name_to_material sheet_singular_name = "ingot" sheet_plural_name = "ingots" +/material/lead + name = "lead" + stack_type = /obj/item/stack/material/lead + icon_colour = "#273956" + weight = 23 // Lead is a bit more dense than silver IRL, and silver has 22 ingame. + conductivity = 10 + sheet_singular_name = "ingot" + sheet_plural_name = "ingots" + radiation_resistance = 25 // Lead is Special and so gets to block more radiation than it normally would with just weight, totalling in 48 protection. + // Adminspawn only, do not let anyone get this. /material/alienalloy name = "alienalloy" @@ -649,6 +667,12 @@ var/list/name_to_material icon_base = "dungeon" icon_colour = "#FFFFFF" +/material/alienalloy/bedrock + name = "bedrock" + display_name = "impassable rock" + icon_base = "rock" + icon_colour = "#FFFFFF" + /material/alienalloy/alium name = "alium" display_name = "alien" @@ -734,6 +758,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 1) door_icon_base = "wood" destruction_desc = "crumples" + radiation_resistance = 1 /material/snow name = MAT_SNOW @@ -751,6 +776,25 @@ var/list/name_to_material destruction_desc = "crumples" sheet_singular_name = "pile" sheet_plural_name = "pile" //Just a bigger pile + radiation_resistance = 1 + +/material/snowbrick //only slightly stronger than snow, used to make igloos mostly + name = "packed snow" + flags = MATERIAL_BRITTLE + stack_type = /obj/item/stack/material/snowbrick + icon_base = "stone" + icon_reinf = "reinf_stone" + icon_colour = "#D8FDFF" + integrity = 50 + weight = 2 + hardness = 2 + protectiveness = 0 // 0% + stack_origin_tech = list(TECH_MATERIAL = 1) + melting_point = T0C+1 + destruction_desc = "crumbles" + sheet_singular_name = "brick" + sheet_plural_name = "bricks" + radiation_resistance = 1 /material/cloth //todo name = "cloth" diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index 9cdac912db9..99fe3f85eeb 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -15,6 +15,7 @@ var/supported = 0 var/active = 0 var/list/resource_field = list() + var/obj/item/device/radio/intercom/faultreporter = new /obj/item/device/radio/intercom{channels=list("Supply")}(null) var/ore_types = list( "hematite" = /obj/item/weapon/ore/iron, @@ -60,7 +61,7 @@ if(!active) return if(!anchored || !use_cell_power()) - system_error("system configuration or charge error") + system_error("System configuration or charge error.") return if(need_update_field) @@ -85,7 +86,10 @@ harvesting.has_resources = 0 harvesting.resources = null resource_field -= harvesting - harvesting = pick(resource_field) + if(resource_field.len) // runtime protection + harvesting = pick(resource_field) + else + harvesting = null if(!harvesting) return @@ -95,7 +99,7 @@ for(var/metal in ore_types) if(contents.len >= capacity) - system_error("insufficient storage space") + system_error("Insufficient storage space.") active = 0 need_player_check = 1 update_icon() @@ -131,12 +135,19 @@ active = 0 need_player_check = 1 update_icon() + system_error("Resources depleted.") /obj/machinery/mining/drill/attack_ai(var/mob/user as mob) return src.attack_hand(user) /obj/machinery/mining/drill/attackby(obj/item/O as obj, mob/user as mob) if(!active) + if(istype(O, /obj/item/device/multitool)) + var/newtag = text2num(sanitizeSafe(input(user, "Enter new ID number or leave empty to cancel.", "Assign ID number") as text, 4)) + if(newtag) + name = "[initial(name)] #[newtag]" + to_chat(user, "You changed the drill ID to: [newtag]") + return if(default_deconstruction_screwdriver(user, O)) return if(default_deconstruction_crowbar(user, O)) @@ -234,6 +245,7 @@ if(error) src.visible_message("\The [src] flashes a '[error]' warning.") + faultreporter.autosay(error, src.name, "Supply") need_player_check = 1 active = 0 update_icon() @@ -257,7 +269,7 @@ resource_field += mine_turf if(!resource_field.len) - system_error("resources depleted") + system_error("Resources depleted.") /obj/machinery/mining/drill/proc/use_cell_power() if(!cell) return 0 diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 290ce829d9a..f6db90bac5f 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -59,6 +59,7 @@ var/obj/item/stack/material/S = new stacktype (get_turf(machine.output)) S.amount = machine.stack_storage[href_list["release_stack"]] machine.stack_storage[href_list["release_stack"]] = 0 + S.update_icon() src.add_fingerprint(usr) src.updateUsrDialog() @@ -128,6 +129,7 @@ var/obj/item/stack/material/S = new stacktype (get_turf(output)) S.amount = stack_amt stack_storage[sheet] -= stack_amt + S.update_icon() console.updateUsrDialog() return diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 7980c2f8e29..f6315296f10 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -1,35 +1,3 @@ -/**********************Miner Lockers**************************/ - -/obj/structure/closet/secure_closet/miner - name = "miner's equipment" - icon_state = "miningsec1" - icon_closed = "miningsec" - icon_locked = "miningsec1" - icon_opened = "miningsecopen" - icon_broken = "miningsecbroken" - icon_off = "miningsecoff" - req_access = list(access_mining) - -/obj/structure/closet/secure_closet/miner/New() - ..() - sleep(2) - if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) - else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/clothing/under/rank/miner(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/device/analyzer(src) - new /obj/item/weapon/storage/bag/ore(src) - new /obj/item/device/flashlight/lantern(src) - new /obj/item/weapon/shovel(src) - new /obj/item/weapon/pickaxe(src) - new /obj/item/clothing/glasses/material(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/miner(src) - new /obj/item/clothing/shoes/boots/winter/mining(src) - /******************************Lantern*******************************/ /obj/item/device/flashlight/lantern diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index a6a857c43b8..b59909376f7 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -5,6 +5,7 @@ var/list/mining_overlay_cache = list() name = "impassable rock" icon = 'icons/turf/walls.dmi' icon_state = "rock-dark" + density = 1 /turf/simulated/mineral //wall piece name = "rock" @@ -97,10 +98,16 @@ var/list/mining_overlay_cache = list() return /turf/simulated/mineral/initialize() + . = ..() if(prob(20)) overlay_detail = "asteroid[rand(0,9)]" update_icon(1) - return density && mineral + if(density && mineral) + . = INITIALIZE_HINT_LATELOAD + +/turf/simulated/mineral/LateInitialize() + if(density && mineral) + MineralSpread() /turf/simulated/mineral/update_icon(var/update_neighbors) @@ -236,7 +243,7 @@ var/list/mining_overlay_cache = list() /turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob) if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "You don't have the dexterity to do this!" + to_chat(user, "You don't have the dexterity to do this!") return if(!density) @@ -256,19 +263,19 @@ var/list/mining_overlay_cache = list() if(valid_tool) if (sand_dug) - user << "This area has already been dug." + to_chat(user, "This area has already been dug.") return var/turf/T = user.loc if (!(istype(T))) return - user << "You start digging." + to_chat(user, "You start digging.") playsound(user.loc, 'sound/effects/rustle1.ogg', 50, 1) if(!do_after(user,40)) return - user << "You dug a hole." + to_chat(user, "You dug a hole.") GetDrilled() else if(istype(W,/obj/item/weapon/storage/bag/ore)) @@ -291,7 +298,7 @@ var/list/mining_overlay_cache = list() return var/obj/item/stack/rods/R = W if (R.use(1)) - user << "Constructing support lattice ..." + to_chat(user, "Constructing support lattice ...") playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) new /obj/structure/lattice(get_turf(src)) @@ -307,7 +314,7 @@ var/list/mining_overlay_cache = list() S.use(1) return else - user << "The plating is going to need some support." + to_chat(user, "The plating is going to need some support.") return @@ -327,7 +334,17 @@ var/list/mining_overlay_cache = list() var/obj/item/device/measuring_tape/P = W user.visible_message("\The [user] extends \a [P] towards \the [src].","You extend \the [P] towards \the [src].") if(do_after(user, 15)) - user << "\The [src] has been excavated to a depth of [excavation_level]cm." + to_chat(user, "\The [src] has been excavated to a depth of [excavation_level]cm.") + return + + if(istype(W, /obj/item/device/xenoarch_multi_tool)) + var/obj/item/device/xenoarch_multi_tool/C = W + if(C.mode) //Mode means scanning + C.depth_scanner.scan_atom(user, src) + else + user.visible_message("\The [user] extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", "You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!") + if(do_after(user, 15)) + to_chat(user, "\The [src] has been excavated to a depth of [excavation_level]cm.") return if (istype(W, /obj/item/weapon/pickaxe)) @@ -349,7 +366,7 @@ var/list/mining_overlay_cache = list() if(newDepth > F.excavation_required) // Digging too deep can break the item. At least you won't summon a Balrog (probably) fail_message = ". [pick("There is a crunching noise","[W] collides with some different rock","Part of the rock face crumbles away","Something breaks under [W]")]" - user << "You start [P.drill_verb][fail_message]." + to_chat(user, "You start [P.drill_verb][fail_message].") if(fail_message && prob(90)) if(prob(25)) @@ -368,7 +385,7 @@ var/list/mining_overlay_cache = list() else if(newDepth > F.excavation_required - F.clearance_range) // Not quite right but you still extract your find, the closer to the bottom the better, but not above 80% excavate_find(prob(80 * (F.excavation_required - newDepth) / F.clearance_range), F) - user << "You finish [P.drill_verb] \the [src]." + to_chat(user, "You finish [P.drill_verb] \the [src].") if(newDepth >= 200) // This means the rock is mined out fully var/obj/structure/boulder/B @@ -473,7 +490,7 @@ var/list/mining_overlay_cache = list() if(prob(50)) pain = 1 for(var/mob/living/M in range(src, 200)) - M << "[pick("A high-pitched [pick("keening","wailing","whistle")]","A rumbling noise like [pick("thunder","heavy machinery")]")] somehow penetrates your mind before fading away!" + to_chat(M, "[pick("A high-pitched [pick("keening","wailing","whistle")]","A rumbling noise like [pick("thunder","heavy machinery")]")] somehow penetrates your mind before fading away!") if(pain) flick("pain",M.pain) if(prob(50)) @@ -482,7 +499,7 @@ var/list/mining_overlay_cache = list() M.flash_eyes() if(prob(50)) M.Stun(5) - radiation_repository.flat_radiate(src, 25, 200) + radiation_repository.flat_radiate(src, 25, 100) if(prob(25)) excavate_find(prob(5), finds[1]) else if(rand(1,500) == 1) diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index 7fb5807ba17..a3528eb55b3 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -108,6 +108,7 @@ var/global/list/ore_data = list() /ore/diamond name = "diamond" display_name = "diamond" + alloy = 1 compresses_to = "diamond" result_amount = 5 spread_chance = 10 diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index e8d8981d3e9..b904a7cfadc 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -14,12 +14,15 @@ if (istype(W, /obj/item/weapon/ore)) user.remove_from_mob(W) src.contents += W - if (istype(W, /obj/item/weapon/storage)) + + else if (istype(W, /obj/item/weapon/storage)) var/obj/item/weapon/storage/S = W + if(!S.contents.len) + return S.hide_from(usr) for(var/obj/item/weapon/ore/O in S.contents) S.remove_from_storage(O, src) //This will move the item to this item's contents - user << "You empty the satchel into the box." + to_chat(user,"You empty the satchel into the box.") update_ore_count() @@ -62,13 +65,12 @@ user << "- [stored_ore[ore]] [ore]" return - /obj/structure/ore_box/verb/empty_box() set name = "Empty Ore Box" set category = "Object" set src in view(1) - if(!istype(usr, /mob/living/carbon/human)) //Only living, intelligent creatures with hands can empty ore boxes. + if(!istype(usr, /mob/living/carbon/human) && !istype(usr, /mob/living/silicon/robot)) //Only living, intelligent creatures with gripping aparatti can empty ore boxes. usr << "You are physically incapable of emptying the ore box." return diff --git a/code/modules/mob/_modifiers/cloning.dm b/code/modules/mob/_modifiers/cloning.dm index a5e8e5e2bad..76aeabd50c2 100644 --- a/code/modules/mob/_modifiers/cloning.dm +++ b/code/modules/mob/_modifiers/cloning.dm @@ -15,7 +15,7 @@ outgoing_melee_damage_percent = 0.7 // 30% less melee damage. disable_duration_percent = 1.25 // Stuns last 25% longer. slowdown = 1 // Slower. - evasion = -1 // 15% easier to hit. + evasion = -15 // 15% easier to hit. // Tracks number of deaths, one modifier added per cloning /datum/modifier/cloned @@ -61,3 +61,66 @@ outgoing_melee_damage_percent = 0.5 //50% less outgoing melee damage. attack_speed_percent = 1.2 //20% slower attack speed. + +////////////////////// +//Surgical Modifiers// As of writing, limited to the 'Frankenstein' modifier. +////////////////////// + +/datum/modifier/franken_sickness + name = "surgically attached brain" + desc = "You feel weak, as your central nervous system is still recovering from being repaired." + + on_created_text = "You feel... off, and your head hurts." + on_expired_text = "You feel some strength returning to you." + + max_health_percent = 0.9 // -10% max health. + incoming_damage_percent = 1.1 // 10% more incoming damage. + incoming_hal_damage_percent = 1.5 // 50% more halloss damage, stacking on the previous 1.1 widespread. + outgoing_melee_damage_percent = 0.9 // 10% less melee damage. + disable_duration_percent = 1.25 // Stuns last 25% longer. + incoming_healing_percent = 0.9 // -10% to all healing + slowdown = 0.5 // Slower, by a smidge. + evasion = -5 // 5% easier to hit. + accuracy_dispersion = 1 // Inaccurate trait level of tile dispersion. + + stacks = MODIFIER_STACK_ALLOWED //You have somehow had the surgery done twice. Your brain is very, very fucked, but I won't say no. + +/datum/modifier/franken_sickness/can_apply(var/mob/living/L) + if(!ishuman(L)) + return FALSE + if(L.isSynthetic()) //Nonhumans and Machines cannot be Frankensteined, at this time. + return FALSE + + return ..() + +/datum/modifier/franken_sickness/tick() + if(holder.stat != DEAD) + if(istype(holder, /mob/living/carbon/human)) + var/mob/living/carbon/human/F = holder + if(F.can_defib) + F.can_defib = 0 + +/datum/modifier/franken_sickness/on_expire() //Not permanent, but its child is. + holder.add_modifier(/datum/modifier/franken_recovery, 0) + +/datum/modifier/franken_recovery //When Franken_Sickness expires, this will be permanently applied in its place. + name = "neural recovery" + desc = "You feel out of touch, as your central nervous system is still recovering from being repaired." + + on_created_text = "You feel... off. Everything is fuzzy." + on_expired_text = "You feel your senses returning to you." + + incoming_hal_damage_percent = 1.5 // 50% more halloss damage. + disable_duration_percent = 1.25 // Stuns last 25% longer. + evasion = -5 // 5% easier to hit. + accuracy_dispersion = 1 // Inaccurate trait level of tile dispersion. + + stacks = MODIFIER_STACK_ALLOWED + +/datum/modifier/franken_recovery/can_apply(var/mob/living/L) + if(!ishuman(L)) + return FALSE + if(L.isSynthetic()) //Nonhumans and Machines cannot be Frankensteined, at this time. + return FALSE + + return ..() diff --git a/code/modules/mob/_modifiers/modifiers.dm b/code/modules/mob/_modifiers/modifiers.dm index 7c005838d1a..4f449b723bb 100644 --- a/code/modules/mob/_modifiers/modifiers.dm +++ b/code/modules/mob/_modifiers/modifiers.dm @@ -37,9 +37,9 @@ var/outgoing_melee_damage_percent // Adjusts melee damage inflicted by holder by a percentage. Affects attacks by melee weapons and hand-to-hand. var/slowdown // Negative numbers speed up, positive numbers slow down movement. var/haste // If set to 1, the mob will be 'hasted', which makes it ignore slowdown and go really fast. - var/evasion // Positive numbers reduce the odds of being hit by 15% each. Negative numbers increase the odds. + var/evasion // Positive numbers reduce the odds of being hit. Negative numbers increase the odds. var/bleeding_rate_percent // Adjusts amount of blood lost when bleeding. - var/accuracy // Positive numbers makes hitting things with guns easier, negatives make it harder. Each point makes it 15% easier or harder, just like evasion. + var/accuracy // Positive numbers makes hitting things with guns easier, negatives make it harder. var/accuracy_dispersion // Positive numbers make gun firing cover a wider tile range, and therefore more inaccurate. Negatives help negate dispersion penalties. var/metabolism_percent // Adjusts the mob's metabolic rate, which affects reagent processing. Won't affect mobs without reagent processing. var/icon_scale_percent // Makes the holder's icon get scaled up or down. @@ -208,13 +208,13 @@ effects += "You move at maximum speed, and cannot be slowed by any means." if(!isnull(evasion)) - effects += "You are [abs(evasion * 15)]% [evasion > 0 ? "harder" : "easier"] to hit with weapons." + effects += "You are [abs(evasion)]% [evasion > 0 ? "harder" : "easier"] to hit with weapons." if(!isnull(bleeding_rate_percent)) effects += "You bleed [multipler_to_percentage(bleeding_rate_percent, TRUE)] [bleeding_rate_percent > 1.0 ? "faster" : "slower"]." if(!isnull(accuracy)) - effects += "It is [abs(accuracy * 15)]% [accuracy > 0 ? "easier" : "harder"] for you to hit someone with a ranged weapon." + effects += "It is [abs(accuracy)]% [accuracy > 0 ? "easier" : "harder"] for you to hit someone with a ranged weapon." if(!isnull(accuracy_dispersion)) effects += "Projectiles you fire are [accuracy_dispersion > 0 ? "more" : "less"] likely to stray from your intended target." diff --git a/code/modules/mob/_modifiers/modifiers_misc.dm b/code/modules/mob/_modifiers/modifiers_misc.dm index 0a02f6b096c..fbe9e356249 100644 --- a/code/modules/mob/_modifiers/modifiers_misc.dm +++ b/code/modules/mob/_modifiers/modifiers_misc.dm @@ -60,9 +60,9 @@ the artifact triggers the rage. pain_immunity = TRUE // Avoid falling over from shock (at least until it expires). // The less good stuff. - accuracy = -5 // Aiming requires focus. + accuracy = -75 // Aiming requires focus. accuracy_dispersion = 3 // Ditto. - evasion = -3 // Too angry to dodge. + evasion = -45 // Too angry to dodge. var/nutrition_cost = 150 var/exhaustion_duration = 2 MINUTES // How long the exhaustion modifier lasts after it expires. Set to 0 to not apply one. @@ -157,7 +157,7 @@ the artifact triggers the rage. attack_speed_percent = 1.5 outgoing_melee_damage_percent = 0.6 disable_duration_percent = 1.5 - evasion = -2 + evasion = -30 /datum/modifier/berserk_exhaustion/on_applied() holder.visible_message("\The [holder] looks exhausted.") @@ -177,6 +177,6 @@ the artifact triggers the rage. stacks = MODIFIER_STACK_EXTEND // Just being mad isn't gonna overclock your body when you're a beepboop. - accuracy = -5 // Aiming requires focus. + accuracy = -75 // Aiming requires focus. accuracy_dispersion = 3 // Ditto. - evasion = -3 // Too angry to dodge. + evasion = -45 // Too angry to dodge. diff --git a/code/modules/mob/_modifiers/traits.dm b/code/modules/mob/_modifiers/traits.dm index eac919b1064..453c17f321b 100644 --- a/code/modules/mob/_modifiers/traits.dm +++ b/code/modules/mob/_modifiers/traits.dm @@ -43,7 +43,7 @@ desc = "You're rather inexperienced with guns, you've never used one in your life, or you're just really rusty. \ Regardless, you find it quite difficult to land shots where you wanted them to go." - accuracy = -1 + accuracy = -15 accuracy_dispersion = 1 /datum/modifier/trait/high_metabolism diff --git a/code/modules/mob/_modifiers/traits_phobias.dm b/code/modules/mob/_modifiers/traits_phobias.dm index c96c6890e64..0fbe099c22e 100644 --- a/code/modules/mob/_modifiers/traits_phobias.dm +++ b/code/modules/mob/_modifiers/traits_phobias.dm @@ -204,6 +204,9 @@ if(istype(thing, /obj/item/toy/plushie/spider)) // Plushies are spooky so people can be assholes with them. fear_amount += 1 + if(istype(thing, /obj/structure/snowman/spider)) //Snow spiders are also spooky so people can be assholes with those too. + fear_amount += 1 + if(istype(thing, /mob/living/simple_animal/hostile/giant_spider)) // Actual giant spiders are the scariest of them all. var/mob/living/simple_animal/hostile/giant_spider/S = thing if(S.stat == DEAD) // Dead giant spiders are less scary than alive ones. @@ -437,7 +440,7 @@ fear_amount += 1 if(istype(S.species, /datum/species/shapeshifter/promethean)) fear_amount += 4 - + return fear_amount /datum/modifier/trait/phobia/trypanophobe diff --git a/code/modules/mob/_modifiers/unholy.dm b/code/modules/mob/_modifiers/unholy.dm new file mode 100644 index 00000000000..1f7f3d67b5f --- /dev/null +++ b/code/modules/mob/_modifiers/unholy.dm @@ -0,0 +1,146 @@ +/* + * Modifiers originating from cult runes, spells, or pylons are kept here. + */ + + +////////// Self-Enhancing +/datum/modifier/fortify + name = "fortified body" + desc = "You are taking less damage from outside sources." + + on_created_text = "Your body becomes a mountain to your enemies' storm." + on_expired_text = "Your body softens, returning to its regular durability." + stacks = MODIFIER_STACK_EXTEND + + disable_duration_percent = 0.25 // Disables only last 25% as long. + incoming_damage_percent = 0.5 // 50% incoming damage. + icon_scale_percent = 1.2 // Become a bigger target. + pain_immunity = TRUE + + slowdown = 2 + evasion = -20 + +/datum/modifier/ambush + name = "phased" + desc = "You are partially shifted from the material plane." + + on_created_text = "Your body pulses, before partially dematerializing." + on_expired_text = "Your body rematerializes fully." + + stacks = MODIFIER_STACK_FORBID + + incoming_damage_percent = 0.1 // 10% incoming damage. You're not all there. + outgoing_melee_damage_percent = 0 // 0% outgoing damage. Be prepared. + pain_immunity = TRUE + + evasion = 50 //Luckily, not being all there means you're actually hard to hit with a gun. + +/datum/modifier/ambush/on_applied() + holder.alpha = 30 + return + +// Override this for special effects when it gets removed. +/datum/modifier/ambush/on_expire() + holder.alpha = 255 + return + +////////// On-hit +/datum/modifier/deep_wounds + name = "deep wounds" + desc = "Your wounds are mysteriously harder to mend." + + on_created_text = "Your wounds pain you greatly." + on_expired_text = "Your wounds numb for a moment." + + stacks = MODIFIER_STACK_EXTEND + + incoming_healing_percent = 0.66 // 34% less healing. + disable_duration_percent = 1.22 // 22% longer disables. + + +////////// Auras +/datum/modifier/repair_aura //This aura does not apply modifiers to individuals in the area. + name = "aura of repair (cult)" + desc = "You are emitting a field of strange energy, capable of repairing occult constructs." + + on_created_text = "You begin emitting an occult repair aura." + on_expired_text = "The occult repair aura fades." + stacks = MODIFIER_STACK_EXTEND + + mob_overlay_state = "cult_aura" + +/datum/modifier/repair_aura/tick() + spawn() + for(var/mob/living/simple_animal/construct/T in view(4,holder)) + T.adjustBruteLoss(rand(-10,-15)) + T.adjustFireLoss(rand(-10,-15)) + +/datum/modifier/agonize //This modifier is used in an aura spell. + name = "agonize" + desc = "Your body is wracked with pain." + + on_created_text = "A red lightning quickly covers your body. The pain is horrendous." + on_expired_text = "The lightning fades, and so too does the ongoing pain." + + stacks = MODIFIER_STACK_EXTEND + + mob_overlay_state = "red_electricity_constant" + +/datum/modifier/agonize/tick() + spawn() + if(ishuman(holder)) + var/mob/living/carbon/human/H = holder + H.apply_effect(20, AGONY) + if(prob(10)) + to_chat(H, "Just make it stop!") + +////////// Target Modifier +/datum/modifier/mend_occult + name = "occult mending" + desc = "Your body is mending, though at what cost?" + + on_created_text = "Something haunting envelops your body as it begins to mend." + on_expired_text = "The cloak of unease dissipates." + + stacks = MODIFIER_STACK_EXTEND + + mob_overlay_state = "red_electricity_constant" + +/datum/modifier/mend_occult/tick() + spawn() + if(isliving(holder)) + var/mob/living/L = holder + if(istype(L, /mob/living/simple_animal/construct)) + L.adjustBruteLoss(rand(-5,-10)) + L.adjustFireLoss(rand(-5,-10)) + else + L.adjustBruteLoss(-2) + L.adjustFireLoss(-2) + + if(ishuman(holder)) + var/mob/living/carbon/human/H = holder + + for(var/obj/item/organ/O in H.internal_organs) + if(O.damage > 0) // Fix internal damage + O.damage = max(O.damage - 2, 0) + if(O.damage <= 5 && O.organ_tag == O_EYES) // Fix eyes + H.sdisabilities &= ~BLIND + + for(var/obj/item/organ/external/O in H.organs) // Fix limbs, no matter if they are Man or Machine. + O.heal_damage(rand(1,3), rand(1,3), internal = 1, robo_repair = 1) + + for(var/obj/item/organ/E in H.bad_external_organs) // Fix bones + var/obj/item/organ/external/affected = E + if((affected.damage < affected.min_broken_damage * config.organ_health_multiplier) && (affected.status & ORGAN_BROKEN)) + affected.status &= ~ORGAN_BROKEN + + for(var/datum/wound/W in affected.wounds) // Fix IB + if(istype(W, /datum/wound/internal_bleeding)) + affected.wounds -= W + affected.update_damages() + + H.restore_blood() + H.apply_effect(15, AGONY) + if(prob(10)) + to_chat(H, "It feels as though your body is being torn apart!") + L.updatehealth() diff --git a/code/modules/mob/animations.dm b/code/modules/mob/animations.dm index 5ba954106bb..286e85d565e 100644 --- a/code/modules/mob/animations.dm +++ b/code/modules/mob/animations.dm @@ -140,38 +140,132 @@ note dizziness decrements automatically in the mob's Life() proc. //reset the pixel offsets to zero is_floating = 0 -/atom/movable/proc/do_attack_animation(mob/M) +/atom/movable/proc/fade_towards(atom/A,var/time = 2) + set waitfor = FALSE var/pixel_x_diff = 0 var/pixel_y_diff = 0 - var/direction = get_dir(src, M) - switch(direction) - if(NORTH) - pixel_y_diff = 8 - if(SOUTH) - pixel_y_diff = -8 - if(EAST) - pixel_x_diff = 8 - if(WEST) - pixel_x_diff = -8 - if(NORTHEAST) - pixel_x_diff = 8 - pixel_y_diff = 8 - if(NORTHWEST) - pixel_x_diff = -8 - pixel_y_diff = 8 - if(SOUTHEAST) - pixel_x_diff = 8 - pixel_y_diff = -8 - if(SOUTHWEST) - pixel_x_diff = -8 - pixel_y_diff = -8 - animate(src, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff, time = 2) - animate(pixel_x = old_x, pixel_y = old_y, time = 2) + var/pixel_z_diff = 0 + var/direction = get_dir(src, A) + if(direction & NORTH) + pixel_y_diff = 32 + else if(direction & SOUTH) + pixel_y_diff = -32 -/mob/do_attack_animation(atom/A) + if(direction & EAST) + pixel_x_diff = 32 + else if(direction & WEST) + pixel_x_diff = -32 + + if(!direction) // On top of? + pixel_z_diff = -8 + + var/default_pixel_x = initial(pixel_x) + var/default_pixel_y = initial(pixel_y) + var/default_pixel_z = initial(pixel_z) + var/initial_alpha = alpha + var/mob/mob = src + if(istype(mob)) + default_pixel_x = mob.default_pixel_x + default_pixel_y = mob.default_pixel_y + + animate(src, alpha = 0, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff, pixel_z = pixel_z + pixel_z_diff, time = time) + sleep(time+1) //So you can wait on this proc to finish if you want to time your next steps + pixel_x = default_pixel_x + pixel_y = default_pixel_y + pixel_z = default_pixel_z + alpha = initial_alpha + +/atom/movable/proc/do_attack_animation(atom/A) + + var/pixel_x_diff = 0 + var/pixel_y_diff = 0 + var/direction = get_dir(src, A) + if(direction & NORTH) + pixel_y_diff = 8 + else if(direction & SOUTH) + pixel_y_diff = -8 + + if(direction & EAST) + pixel_x_diff = 8 + else if(direction & WEST) + pixel_x_diff = -8 + + var/default_pixel_x = initial(pixel_x) + var/default_pixel_y = initial(pixel_y) + var/mob/mob = src + if(istype(mob)) + default_pixel_x = mob.default_pixel_x + default_pixel_y = mob.default_pixel_y + + animate(src, pixel_x = pixel_x + pixel_x_diff, pixel_y = pixel_y + pixel_y_diff, time = 2) + animate(pixel_x = default_pixel_x, pixel_y = default_pixel_y, time = 2) + +/mob/living/do_attack_animation(atom/A, no_attack_icons = FALSE) ..() - is_floating = 0 // If we were without gravity, the bouncing animation got stopped, so we make sure we restart the bouncing after the next movement. + if(no_attack_icons) + return FALSE + + //Check for clients with pref enabled + var/list/viewing = list() + for(var/m in viewers(A)) + var/mob/M = m + var/client/C = M.client + if(C && C.is_preference_enabled(/datum/client_preference/attack_icons)) + viewing += M.client + + //Animals attacking each other in the distance, probably. Forgeddaboutit. + if(!viewing.len) + return FALSE + + // What icon do we use for the attack? + var/obj/used_item + if(hand && l_hand) // Attacked with item in left hand. + used_item = l_hand + else if (!hand && r_hand) // Attacked with item in right hand. + used_item = r_hand + + //Couldn't find an item, do they have a sprite specified (like animal claw stuff?) + if(!used_item && !(attack_icon && attack_icon_state)) + return FALSE //Didn't find an item, not doing animation. + + // If we were without gravity, the bouncing animation got stopped, so we make sure we restart the bouncing after the next movement. + is_floating = 0 + + var/image/I + + if(used_item) //Found an in-hand item to animate + I = image(used_item.icon, A, used_item.icon_state, A.layer + 1) + //Color the icon + I.color = used_item.color + // Scale the icon. + I.transform *= 0.75 + else //They had a hardcoded one specified + I = image(attack_icon, A, attack_icon_state, A.layer + 1) + I.dir = dir + + // Show the overlay to the clients + flick_overlay(I, viewing, 5, TRUE) // 5 ticks/half a second + + // Set the direction of the icon animation. + var/direction = get_dir(src, A) + if(direction & NORTH) + I.pixel_y = -16 + else if(direction & SOUTH) + I.pixel_y = 16 + + if(direction & EAST) + I.pixel_x = -16 + else if(direction & WEST) + I.pixel_x = 16 + + if(!direction) // Attacked self?! + I.pixel_z = 16 + + // And animate the attack! + animate(I, alpha = 175, pixel_x = 0, pixel_y = 0, pixel_z = 0, time = 3) + update_icon() + return TRUE //Found an item, doing item attack animation. /mob/proc/spin(spintime, speed) spawn() diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6883c5f9248..2b9340192fa 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -8,13 +8,14 @@ desc = "It's a g-g-g-g-ghooooost!" //jinkies! icon = 'icons/mob/ghost.dmi' icon_state = "ghost" - layer = 3.9 //Just below normal mobs + layer = BELOW_MOB_LAYER plane = PLANE_GHOSTS alpha = 127 stat = DEAD canmove = 0 blinded = 0 anchored = 1 // don't get pushed around + invisibility = INVISIBILITY_OBSERVER var/can_reenter_corpse var/datum/hud/living/carbon/hud = null // hud var/bootime = 0 @@ -102,13 +103,12 @@ if (ishuman(body)) var/mob/living/carbon/human/H = body icon = H.icon - LAZYCLEARLIST(H.list_huds) - H.update_icons() - overlays = H.overlays + icon_state = H.icon_state + add_overlay(H.overlays_standing) //All our equipment sprites else icon = body.icon icon_state = body.icon_state - overlays = body.overlays + add_overlay(body.overlays) gender = body.gender if(body.mind && body.mind.name) @@ -204,8 +204,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return resting = 1 var/turf/location = get_turf(src) - message_admins("[key_name_admin(usr)] has ghosted. (JMP)") - log_game("[key_name_admin(usr)] has ghosted.") + var/special_role = check_special_role() + if(!istype(loc,/obj/machinery/cryopod)) + log_and_message_admins("has ghosted outside cryo[special_role ? " as [special_role]" : ""]. (JMP)",usr) + else if(special_role) + log_and_message_admins("has ghosted in cryo as [special_role]. (JMP)",usr) var/mob/observer/dead/ghost = ghostize(0) // 0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 if(ghost) ghost.timeofdeath = world.time // Because the living mob won't have a time of death and we want the respawn timer to work properly. @@ -621,8 +624,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ) toggle_visibility(TRUE) else + var/datum/gender/T = gender_datums[user.get_visible_gender()] user.visible_message ( \ - "\The [user] just tried to smash \his book into that ghost! It's not very effective.", \ + "\The [user] just tried to smash [T.his] book into that ghost! It's not very effective.", \ "You get the feeling that the ghost can't become any more visible." \ ) @@ -656,7 +660,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else src << "You are now visible!" - plane = PLANE_GHOSTS ? PLANE_WORLD : PLANE_GHOSTS + plane = (plane == PLANE_GHOSTS) ? PLANE_WORLD : PLANE_GHOSTS + invisibility = (plane == PLANE_WORLD) ? 0 : INVISIBILITY_OBSERVER // Give the ghost a cult icon which should be visible only to itself toggle_icon("cult") @@ -742,7 +747,7 @@ mob/observer/dead/MayRespawn(var/feedback = 0) return 0 var/msg = sanitize(input(src, "Message:", "Spectral Whisper") as text|null) if(msg) - log_say("SpectralWhisper: [key_name(usr)]->[M.key] : [msg]") + log_say("(SPECWHISP to [key_name(M)]): [msg]", src) M << " You hear a strange, unidentifiable voice in your head... [msg]" src << " You said: '[msg]' to [M]." else @@ -784,3 +789,18 @@ mob/observer/dead/MayRespawn(var/feedback = 0) /mob/observer/dead/is_deaf() return FALSE + +/mob/observer/dead/verb/paialert() + set category = "Ghost" + set name = "Blank pAI alert" + set desc = "Flash an indicator light on available blank pAI devices for a smidgen of hope." + if(usr.client.prefs.be_special & BE_PAI) + for(var/obj/item/device/paicard/p in world) + var/obj/item/device/paicard/PP = p + if(PP.pai == null) + PP.overlays += "pai-ghostalert" + spawn(54) + PP.overlays.Cut() + +/mob/observer/dead/speech_bubble_appearance() + return "ghost" diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index 8da03e4de00..c950a842091 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -4,7 +4,7 @@ if (!message) return - log_say("Ghost/[src.key] : [message]") + log_ghostsay(message, src) if (src.client) if(message) @@ -25,7 +25,7 @@ if(act != "me") return - log_emote("Ghost/[src.key] : [message]") + log_ghostemote(message, src) if(src.client) if(message) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index d906b331e2b..49355a1ce57 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -1,6 +1,6 @@ //This is the proc for gibbing a mob. Cannot gib ghosts. //added different sort of gibs and animations. N -/mob/proc/gib(anim="gibbed-m",do_gibs) +/mob/proc/gib(anim="gibbed-m", do_gibs, gib_file = 'icons/mob/mob.dmi') death(1) transforming = 1 canmove = 0 @@ -12,7 +12,7 @@ var/atom/movable/overlay/animation = null animation = new(loc) animation.icon_state = "blank" - animation.icon = 'icons/mob/mob.dmi' + animation.icon = gib_file animation.master = src flick(anim, animation) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 4de1dcf5950..e086895d2ea 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -15,14 +15,13 @@ else input = message if(input) + log_emote(message,src) //Log before we add junk message = "[src] [input]" else return if (message) - log_emote("[name]/[key] : [message]") - message = say_emphasis(message) // Hearing gasp and such every five seconds is not good emotes were not global for a reason. @@ -30,7 +29,7 @@ var/turf/T = get_turf(src) if(!T) return - var/list/in_range = get_mobs_and_objs_in_view_fast(T,range,2) + var/list/in_range = get_mobs_and_objs_in_view_fast(T,range,2,remote_ghosts = client ? TRUE : FALSE) var/list/m_viewers = in_range["mobs"] var/list/o_viewers = in_range["objs"] @@ -71,7 +70,7 @@ input = say_emphasis(input) if(input) - log_emote("Ghost/[src.key] : [input]") + log_ghostemote(input, src) if(!invisibility) //If the ghost is made visible by admins or cult. And to see if the ghost has toggled its own visibility, as well. -Mech visible_message("[src] [input]") else diff --git a/code/modules/mob/freelook/chunk.dm b/code/modules/mob/freelook/chunk.dm index 626a79e28fb..41439b4adc7 100644 --- a/code/modules/mob/freelook/chunk.dm +++ b/code/modules/mob/freelook/chunk.dm @@ -100,8 +100,11 @@ for(var/turf in visRemoved) var/turf/t = turf if(obscuredTurfs[t]) + LAZYINITLIST(t.obfuscations) if(!t.obfuscations[obfuscation.type]) - t.obfuscations[obfuscation.type] = image(obfuscation.icon, t, obfuscation.icon_state, OBFUSCATION_LAYER) + var/image/ob_image = image(obfuscation.icon, t, obfuscation.icon_state, OBFUSCATION_LAYER) + ob_image.plane = PLANE_FULLSCREEN + t.obfuscations[obfuscation.type] = ob_image obscured += t.obfuscations[obfuscation.type] for(var/eye in seenby) @@ -139,8 +142,11 @@ for(var/turf in obscuredTurfs) var/turf/t = turf + LAZYINITLIST(t.obfuscations) if(!t.obfuscations[obfuscation.type]) - t.obfuscations[obfuscation.type] = image(obfuscation.icon, t, obfuscation.icon_state, OBFUSCATION_LAYER) + var/image/ob_image = image(obfuscation.icon, t, obfuscation.icon_state, OBFUSCATION_LAYER) + ob_image.plane = PLANE_FULLSCREEN + t.obfuscations[obfuscation.type] = ob_image obscured += t.obfuscations[obfuscation.type] #undef UPDATE_BUFFER diff --git a/code/modules/mob/freelook/update_triggers.dm b/code/modules/mob/freelook/update_triggers.dm index 482025426eb..0b31e24cce2 100644 --- a/code/modules/mob/freelook/update_triggers.dm +++ b/code/modules/mob/freelook/update_triggers.dm @@ -8,7 +8,7 @@ VN.updateVisibility(A, opacity_check) /turf - var/list/image/obfuscations = new() + var/list/image/obfuscations /turf/drain_power() return -1 diff --git a/code/modules/mob/gender.dm b/code/modules/mob/gender.dm index 393e0fb6c2b..0e9bf244b58 100644 --- a/code/modules/mob/gender.dm +++ b/code/modules/mob/gender.dm @@ -18,6 +18,9 @@ var/has = "have" var/is = "are" var/does = "do" + var/himself = "themselves" + var/s = "" + var/hes = "they're" /datum/gender/male key = "male" @@ -30,6 +33,9 @@ has = "has" is = "is" does = "does" + himself = "himself" + s = "s" + hes = "he's" /datum/gender/female key = "female" @@ -42,6 +48,9 @@ has = "has" is = "is" does = "does" + himself = "herself" + s = "s" + hes = "she's" /datum/gender/neuter key = "neuter" @@ -54,3 +63,6 @@ has = "has" is = "is" does = "does" + himself = "itself" + s = "s" + hes = "it's" diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 9c91ca63506..7153c0fe261 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -1,7 +1,7 @@ // At minimum every mob has a hear_say proc. /mob/proc/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/alt_name = "",var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol) - if(!client) + if(!client && !teleop) return if(speaker && !speaker.client && istype(src,/mob/observer/dead) && is_preference_enabled(/datum/client_preference/ghost_ears) && !(speaker in view(src))) @@ -80,10 +80,14 @@ /mob/proc/on_hear_say(var/message) to_chat(src, message) + if(teleop) + to_chat(teleop, create_text_tag("body", "BODY:", teleop) + "[message]") /mob/living/silicon/on_hear_say(var/message) var/time = say_timestamp() to_chat(src, "[time] [message]") + if(teleop) + to_chat(teleop, create_text_tag("body", "BODY:", teleop) + "[time] [message]") // Checks if the mob's own name is included inside message. Handles both first and last names. /mob/proc/check_mentioned(var/message) @@ -298,11 +302,6 @@ else adverb = " a very lengthy message" message = "[speaker] [verb][adverb]." - if(src.status_flags & PASSEMOTES) - for(var/obj/item/weapon/holder/H in src.contents) - H.show_message(message) - for(var/mob/living/M in src.contents) - M.show_message(message) src.show_message(message) /mob/proc/hear_sleep(var/message) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 5d0796f77c4..3a19eee319f 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -9,8 +9,8 @@ var/list/holder_mob_icon_cache = list() show_messages = 1 sprite_sheets = list( - "Teshari" = 'icons/mob/species/seromi/head.dmi', - "Vox" = 'icons/mob/species/vox/head.dmi' + SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) origin_tech = null @@ -39,10 +39,13 @@ var/list/holder_mob_icon_cache = list() update_state() /obj/item/weapon/holder/proc/update_state() - if(istype(loc,/turf) || !(contents.len)) + if(!(contents.len)) + qdel(src) + else if(isturf(loc)) + drop_items() if(held_mob) held_mob.forceMove(loc) - drop_items() + held_mob = null qdel(src) /obj/item/weapon/holder/proc/drop_items() @@ -83,8 +86,6 @@ var/list/holder_mob_icon_cache = list() H.update_inv_l_hand() else if(H.r_hand == src) H.update_inv_r_hand() - else - H.regenerate_icons() //Mob specific holders. /obj/item/weapon/holder/diona @@ -138,7 +139,6 @@ var/list/holder_mob_icon_cache = list() grabber << "You scoop up \the [src]!" src << "\The [grabber] scoops you up!" - grabber.status_flags |= PASSEMOTES H.sync(src) return H diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 439aed4ec72..c655559a107 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -138,7 +138,6 @@ var/list/slot_equipment_priority = list( \ remove_from_mob(W, target) if(!(W && W.loc)) return 1 // self destroying objects (tk, grabs) - update_icons_layers() return 1 return 0 @@ -180,7 +179,7 @@ var/list/slot_equipment_priority = list( \ /mob/proc/get_inventory_slot(obj/item/I) var/slot = 0 - for(var/s in slot_back to slot_tie) //kind of worries me + for(var/s in 1 to SLOT_TOTAL) if(get_equipped_item(s) == I) slot = s break @@ -209,7 +208,7 @@ var/list/slot_equipment_priority = list( \ if(target) I.forceMove(target) else - I.dropInto(loc) + I.dropInto(drop_location()) I.dropped(src) return 1 diff --git a/code/modules/mob/language/generic.dm b/code/modules/mob/language/generic.dm index e3cb043565a..ad55f2b3464 100644 --- a/code/modules/mob/language/generic.dm +++ b/code/modules/mob/language/generic.dm @@ -42,7 +42,7 @@ // Galactic common languages (systemwide accepted standards). /datum/language/trader name = LANGUAGE_TRADEBAND - desc = "Maintained by the various trading cartels in major systems, this elegant, structured language is used for bartering and bargaining." + desc = "Spoken by the humans of the upper-class Sagittarius Heights, Tradeband was designed to be pleasing to both humans and their Skrellian trading partners." speech_verb = "enunciates" colour = "say_quote" key = "2" @@ -53,10 +53,22 @@ "nt","ti","us","it","en","at","tu","te","ri","es","et","ra","ta","an","ni","li","on","or","se", "am","ae","ia","di","ue","em","ar","ui","st","si","de","ci","iu","ne","pe","co","os","ur","ru") +/datum/language/terminus + name = LANGUAGE_TERMINUS + desc = "A soft language spoken by the people of the sparsely populated, socially-conscious Precursors' Crypt region." + speech_verb = "mentions" + exclaim_verb = "insinuates" + colour = "terminus" + key = "4" + flags = WHITELISTED + syllables = list (".a", "spa", "pan", "blaif", "stra", "!u", "!ei", "!am", "by", ".y", "gry", "zbly", "!y", "fl", + "sm", "rn", "cpi", "ku", "koi", "pr", "glau", "stu", "ved", "ki", "tsa", "xau", "jbu", "sny", "stro", "nu", + "uan", "ju", "!i", "ge", "luk", "an", "ar", "at", "es", "et", "bel", "ki", "jaa", "ch", "ki", "gh", "ll", "uu", "wat") + // Criminal language. /datum/language/gutter name = LANGUAGE_GUTTER - desc = "There is no true language named Gutter. 'Gutter' is a catchall term for a collection of unofficial SolCom dialects that has somehow managed to spread across the stars." + desc = "Gutter originated as a Thieves' Cant of sorts during the early colonization era. The language eventually spread from the cartels and triads to the disenfranchised people of the Bowl." speech_verb = "growls" colour = "rough" key = "3" diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index b9eb226e123..c6089a8788e 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -99,7 +99,7 @@ return (copytext(message, length(message)) == "!") ? 2 : 1 /datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask) - log_say("[key_name(speaker)] : ([name]) [message]") + log_say("(HIVE) [message]", speaker) if(!speaker_mask) speaker_mask = speaker.name message = format_message(message, get_spoken_verb(message)) diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm index 0a721e6f561..b1932bb3ba1 100644 --- a/code/modules/mob/language/outsider.dm +++ b/code/modules/mob/language/outsider.dm @@ -92,7 +92,7 @@ speech_verb = "hisses" ask_verb = "hisses" exclaim_verb = "hisses" - key = "4" + key = "u" flags = RESTRICTED syllables = list("sss","sSs","SSS") @@ -115,3 +115,18 @@ return 1 return 0 + +//for your antag purposes. +/datum/language/minbus + name = LANGUAGE_MINBUS + desc = "The Powers That Be have seen it fit to grace you with a special language that sounds like Russian for some reason." + speech_verb = "says" + ask_verb = "asks" + exclaim_verb = "shouts" + colour = "deadsay" + key = "r" + machine_understands = 0 + flags = RESTRICTED + syllables = list("rus","zem","ave","groz","ski","ska","ven","konst","pol","lin","svy", + "danya","da","mied","zan","das","krem","myka","cyka","blyat","to","st","no","na","ni", + "ko","ne","en","po","ra","li","on","byl","cto","eni","ost","ol","ego","ver","stv","pro") \ No newline at end of file diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index 8e638fce803..6de7a9d3091 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -63,6 +63,20 @@ "ka","aasi","far","wa","baq","ara","qara","zir","saam","mak","hrar","nja","rir","khan","jun","dar","rik","kah", "hal","ket","jurl","mah","tul","cresh","azu","ragh","mro","mra","mrro","mrra") +/datum/language/tajaranakhani + name = LANGUAGE_AKHANI + desc = "The language of the sea-faring Njarir'Akhan Tajaran. Borrowing some elements from Siik, the language is distinctly more structured." + speech_verb = "chatters" + ask_verb = "mrowls" + exclaim_verb = "wails" + colour = "akhani" + key = "h" + flags = WHITELISTED + syllables = list("mrr","rr","marr","tar","ahk","ket","hal","kah","dra","nal","kra","vah","dar","hrar", "eh", + "ara","ka","zar","mah","ner","zir","mur","hai","raz","ni","ri","nar","njar","jir","ri","ahn","kha","sir", + "kar","yar","kzar","rha","hrar","err","fer","rir","rar","yarr","arr","ii'r","jar","kur","ran","rii","ii", + "nai","ou","kah","oa","ama","uuk","bel","chi","ayt","kay","kas","akor","tam","yir","enai") + /datum/language/tajaran/get_random_name(var/gender) var/new_name = ..(gender,1) @@ -85,6 +99,20 @@ flags = WHITELISTED syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix") +/datum/language/skrellfar + name = LANGUAGE_SKRELLIANFAR + desc = "The most common language among the Skrellian Far Kingdoms. Has an even higher than usual concentration of inaudible phonemes." + speech_verb = "warbles" + ask_verb = "warbles" + exclaim_verb = "sings" + whisper_verb = "hums" + colour = "skrellfar" + key = "p" + space_chance = 30 + flags = WHITELISTED + syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix", "...", "oo", "q", "nq", "x", "xq", "ll", "...", "...", "...") //should sound like there's holes in it + + /datum/language/human name = LANGUAGE_SOL_COMMON desc = "A bastardized hybrid of many languages, including Chinese, English, French, and more; it is the common language of the Sol system." @@ -114,7 +142,7 @@ /datum/language/machine name = LANGUAGE_EAL - desc = "An efficient language of encoded tones developed by synthetics and cyborgs." + desc = "An efficient language of encoded tones developed by positronics." speech_verb = "whistles" ask_verb = "chirps" exclaim_verb = "whistles loudly" @@ -244,4 +272,4 @@ "tod", "ser", "su", "no", "nue", "el", "ad", "al", "an", "ar", "as", "ci", "co", "de", "do", "el", "en", "er", "es", "ie", "in", "la", "lo", "me", "na", "no", "nt", "or", "os", "pa", "qu", "ra", "re", "ro", "se", "st", "ta", "te", "to", "ue", "un", -"tod", "ser", "su", "no", "nue", "el") +"tod", "ser", "su", "no", "nue", "el") \ No newline at end of file diff --git a/code/modules/mob/living/autohiss.dm b/code/modules/mob/living/autohiss.dm index 3a3bddd9b3f..2c6fe026453 100644 --- a/code/modules/mob/living/autohiss.dm +++ b/code/modules/mob/living/autohiss.dm @@ -47,13 +47,13 @@ autohiss_extra_map = list( "x" = list("ks", "kss", "ksss") ) - autohiss_exempt = list("Sinta'unathi") + autohiss_exempt = list(LANGUAGE_UNATHI) /datum/species/tajaran autohiss_basic_map = list( "r" = list("rr", "rrr", "rrrr") ) - autohiss_exempt = list("Siik") + autohiss_exempt = list(LANGUAGE_SIIK,LANGUAGE_AKHANI) /datum/species/proc/handle_autohiss(message, datum/language/lang, mode) diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index e1665738118..6e8805d17a0 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -51,7 +51,7 @@ // Make sure mapped in units start turned on. /mob/living/bot/initialize() - ..() + . = ..() if(on) turn_on() // Update lights and other stuff diff --git a/code/modules/mob/living/bot/cleanbot.dm b/code/modules/mob/living/bot/cleanbot.dm index 4f9f81156f1..241993423d1 100644 --- a/code/modules/mob/living/bot/cleanbot.dm +++ b/code/modules/mob/living/bot/cleanbot.dm @@ -20,7 +20,7 @@ get_targets() /mob/living/bot/cleanbot/handleIdle() - if(!screwloose && !oddbutton && prob(5)) + if(!screwloose && !oddbutton && prob(2)) custom_emote(2, "makes an excited booping sound!") playsound(src.loc, 'sound/machines/synth_yes.ogg', 50, 0) @@ -67,7 +67,8 @@ return busy = 1 - custom_emote(2, "begins to clean up \the [D]") + if(prob(20)) + custom_emote(2, "begins to clean up \the [D]") update_icons() var/cleantime = istype(D, /obj/effect/decal/cleanable/dirt) ? 10 : 50 if(do_after(src, cleantime)) diff --git a/code/modules/mob/living/bot/ed209bot.dm b/code/modules/mob/living/bot/ed209bot.dm index ad59b63c39b..cac0f1872a0 100644 --- a/code/modules/mob/living/bot/ed209bot.dm +++ b/code/modules/mob/living/bot/ed209bot.dm @@ -15,6 +15,8 @@ mob_swap_flags = ~HEAVY mob_push_flags = HEAVY + used_weapon = /obj/item/weapon/gun/energy/taser + var/shot_delay = 4 var/last_shot = 0 @@ -30,7 +32,7 @@ new /obj/item/weapon/secbot_assembly/ed209_assembly(Tsec) - var/obj/item/weapon/gun/energy/taser/G = new /obj/item/weapon/gun/energy/taser(Tsec) + var/obj/item/weapon/gun/energy/taser/G = new used_weapon(Tsec) G.power_supply.charge = 0 if(prob(50)) new /obj/item/robot_parts/l_leg(Tsec) diff --git a/code/modules/mob/living/bot/edCLNbot.dm b/code/modules/mob/living/bot/edCLNbot.dm new file mode 100644 index 00000000000..159b3e3594e --- /dev/null +++ b/code/modules/mob/living/bot/edCLNbot.dm @@ -0,0 +1,235 @@ +/mob/living/bot/cleanbot/edCLN + name = "ED-CLN Cleaning Robot" + desc = "A large cleaning robot. It looks rather efficient." + icon_state = "edCLN0" + req_one_access = list(access_robotics, access_janitor) + botcard_access = list(access_janitor, access_maint_tunnels) + + locked = 0 // Start unlocked so roboticist can set them to patrol. + wait_if_pulled = 0 // One big boi. + min_target_dist = 0 + + patrol_speed = 3 + target_speed = 6 + + cleaning = 0 + blood = 0 + var/red_switch = 0 + var/blue_switch = 0 + var/green_switch = 0 + +/mob/living/bot/cleanbot/edCLN/update_icons() + if(on && busy) + icon_state = "edCLN" + else + icon_state = "edCLN[on]" + +/mob/living/bot/cleanbot/edCLN/handleIdle() + if(prob(10)) + custom_emote(2, "makes a less than thrilled beeping sound.") + playsound(src.loc, 'sound/machines/synth_yes.ogg', 50, 0) + + if(red_switch && !blue_switch && !green_switch && prob(10) || src.emagged) + if(istype(loc, /turf/simulated)) + var/turf/simulated/T = loc + T.add_blood() + + if(!red_switch && blue_switch && !green_switch && prob(50) || src.emagged) + if(istype(loc, /turf/simulated)) + var/turf/simulated/T = loc + visible_message("\The [src] squirts a puddle of water on the floor!") + T.wet_floor() + + if(!red_switch && !blue_switch && green_switch && prob(10) || src.emagged) + if(istype(loc, /turf/simulated)) + var/turf/simulated/T = loc + visible_message("\The [src] stomps on \the [T], breaking it!") + qdel(T) + + if(red_switch && blue_switch && green_switch && prob(1)) + src.explode() + +/mob/living/bot/cleanbot/edCLN/explode() + on = 0 + visible_message("[src] blows apart!") + var/turf/Tsec = get_turf(src) + + new /obj/item/weapon/secbot_assembly/ed209_assembly(Tsec) + if(prob(50)) + new /obj/item/robot_parts/l_leg(Tsec) + if(prob(50)) + new /obj/item/robot_parts/r_leg(Tsec) + if(prob(50)) + if(prob(50)) + new /obj/item/weapon/reagent_containers/glass/bucket(Tsec) + else + new /obj/item/device/assembly/prox_sensor(Tsec) + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + qdel(src) + return + +/mob/living/bot/cleanbot/edCLN/attack_hand(var/mob/user) + var/dat + usr.set_machine(src) + add_fingerprint(usr) + + dat += "Automatic Station Cleaner v2.0

    " + dat += "Status: [on ? "On" : "Off"]
    " + dat += "Behaviour controls are [locked ? "locked" : "unlocked"]
    " + dat += "Maintenance panel is [open ? "opened" : "closed"]" + if(!locked || issilicon(user)) + dat += "
    Cleans Blood: [blood ? "Yes" : "No"]
    " + dat += "
    Patrol station: [will_patrol ? "Yes" : "No"]
    " + if(open && !locked) + dat += "
    Red Switch: [red_switch ? "On" : "Off"]
    " + dat += "
    Green Switch: [green_switch ? "On" : "Off"]
    " + dat += "
    Blue Switch: [blue_switch ? "On" : "Off"]" + + user << browse("Cleaner v2.0 controls[dat]", "window=autocleaner") + onclose(user, "autocleaner") + return + +/mob/living/bot/cleanbot/edCLN/Topic(href, href_list) + usr.set_machine(src) + add_fingerprint(usr) + switch(href_list["operation"]) + if("start") + if(on) + turn_off() + else + turn_on() + if("blood") + blood = !blood + get_targets() + if("patrol") + will_patrol = !will_patrol + patrol_path = null + if("red_switch") + red_switch = !red_switch + to_chat(usr, "You flip the red switch [red_switch ? "on" : "off"].") + if("green_switch") + green_switch = !blue_switch + to_chat(usr, "You flip the green switch [green_switch ? "on" : "off"].") + if("blue_switch") + blue_switch = !blue_switch + to_chat(usr, "You flip the blue switch [blue_switch ? "on" : "off"].") + attack_hand(usr) + +/mob/living/bot/cleanbot/edCLN/emag_act(var/remaining_uses, var/mob/user) + . = ..() + if(!emagged) + if(user) + to_chat(user, "The [src] buzzes and beeps.") + playsound(src.loc, 'sound/machines/buzzbeep.ogg', 50, 0) + emagged = 1 + return 1 + +// Assembly + +/obj/item/weapon/secbot_assembly/edCLN_assembly + name = "ED-CLN assembly" + desc = "Some sort of bizarre assembly." + icon = 'icons/obj/aibots.dmi' + icon_state = "ed209_frame" + item_state = "buildpipe" + created_name = "ED-CLN Security Robot" + +/obj/item/weapon/secbot_assembly/edCLN_assembly/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + ..() + + if(istype(W, /obj/item/weapon/pen)) + var/t = sanitizeSafe(input(user, "Enter new robot name", name, created_name), MAX_NAME_LEN) + if(!t) + return + if(!in_range(src, usr) && src.loc != usr) + return + created_name = t + return + + switch(build_step) + if(0, 1) + if(istype(W, /obj/item/robot_parts/l_leg) || istype(W, /obj/item/robot_parts/r_leg) || (istype(W, /obj/item/organ/external/leg) && ((W.name == "robotic right leg") || (W.name == "robotic left leg")))) + user.drop_item() + qdel(W) + build_step++ + to_chat(user, "You add \the [W] to \the [src].") + name = "legs/frame assembly" + if(build_step == 1) + icon_state = "ed209_leg" + else + icon_state = "ed209_legs" + + if(2) + if(istype(W, /obj/item/weapon/reagent_containers/glass/bucket)) + user.drop_item() + qdel(W) + build_step++ + to_chat(user, "You add \the [W] to \the [src].") + name = "bucket/legs/frame assembly" + item_state = "edCLN_bucket" + icon_state = "edCLN_bucket" + + if(3) + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) + build_step++ + name = "bucketed frame assembly" + to_chat(user, "You welded the bucket to \the [src].") + if(4) + if(isprox(W)) + user.drop_item() + qdel(W) + build_step++ + to_chat(user, "You add \the [W] to \the [src].") + name = "proximity bucket ED assembly" + item_state = "edCLN_prox" + icon_state = "edCLN_prox" + + if(5) + if(istype(W, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = W + if (C.get_amount() < 1) + to_chat(user, "You need one coil of wire to wire \the [src].") + return + to_chat(user, "You start to wire \the [src].") + if(do_after(user, 40)) + if(C.use(1)) + build_step++ + to_chat(user, "You wire the ED-CLN assembly.") + name = "wired ED-CLN assembly" + return + + if(6) + if(istype(W, /obj/item/weapon/mop)) + name = "mop ED-CLN assembly" + build_step++ + to_chat(user, "You add \the [W] to \the [src].") + item_state = "edCLN_mop" + icon_state = "edCLN_mop" + user.drop_item() + qdel(W) + + if(7) + if(istype(W, /obj/item/weapon/screwdriver)) + playsound(src, W.usesound, 100, 1) + var/turf/T = get_turf(user) + to_chat(user, "Attatching the mop to the frame...") + if(do_after(user, 40) && get_turf(user) == T) + build_step++ + name = "mopped ED-CLN assembly" + to_chat(user, "Mop attached.") + + if(8) + if(istype(W, /obj/item/weapon/cell)) + build_step++ + to_chat(user, "You complete the ED-CLN.") + var/turf/T = get_turf(src) + new /mob/living/bot/cleanbot/edCLN(T,created_name) + user.drop_item() + qdel(W) + user.drop_from_inventory(src) + qdel(src) \ No newline at end of file diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index 1e23af341c3..0141cdb39a5 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -338,7 +338,7 @@ new /obj/item/weapon/farmbot_arm_assembly(loc, src) /obj/structure/reagent_dispensers/watertank/attackby(var/obj/item/organ/external/S, mob/user as mob) - if ((!istype(S, /obj/item/organ/external/arm)) || (!S.robotic == ORGAN_ROBOT)) + if ((!istype(S, /obj/item/organ/external/arm)) || S.robotic != ORGAN_ROBOT) ..() return diff --git a/code/modules/mob/living/bot/medbot.dm b/code/modules/mob/living/bot/medbot.dm index 29e9cd0a9b1..0e35d6b2b00 100644 --- a/code/modules/mob/living/bot/medbot.dm +++ b/code/modules/mob/living/bot/medbot.dm @@ -333,7 +333,7 @@ qdel(src) /obj/item/weapon/storage/firstaid/attackby(var/obj/item/organ/external/S, mob/user as mob) - if (!istype(S, /obj/item/organ/external/arm) || !(S.robotic == ORGAN_ROBOT)) + if (!istype(S, /obj/item/organ/external/arm) || S.robotic != ORGAN_ROBOT) ..() return diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index 15026a83ba4..81e71eafb1a 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -28,6 +28,8 @@ var/xeno_harm_strength = 15 // Ditto. var/baton_glow = "#FF6A00" + var/used_weapon = /obj/item/weapon/melee/baton //Weapon used by the bot + var/list/threat_found_sounds = list('sound/voice/bcriminal.ogg', 'sound/voice/bjustice.ogg', 'sound/voice/bfreeze.ogg') var/list/preparing_arrest_sounds = list('sound/voice/bgod.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/bsecureday.ogg', 'sound/voice/bradio.ogg', 'sound/voice/bcreep.ogg') var/list/fighting_sounds = list('sound/voice/biamthelaw.ogg', 'sound/voice/bradio.ogg', 'sound/voice/bjustice.ogg') @@ -47,6 +49,7 @@ baton_glow = "#33CCFF" req_one_access = list(access_research, access_robotics) botcard_access = list(access_research, access_robotics, access_xenobiology, access_xenoarch, access_tox, access_tox_storage, access_maint_tunnels) + used_weapon = /obj/item/weapon/melee/baton/slime /mob/living/bot/secbot/slime/slimesky name = "Doctor Slimesky" @@ -289,7 +292,7 @@ Sa.overlays += image('icons/obj/aibots.dmi', "hs_hole") Sa.created_name = name new /obj/item/device/assembly/prox_sensor(Tsec) - new /obj/item/weapon/melee/baton(Tsec) + new used_weapon(Tsec) if(prob(50)) new /obj/item/robot_parts/l_arm(Tsec) diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index 8a2b24cf50f..5d497d0a087 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -23,7 +23,7 @@ /mob/living/carbon/alien/diona/New() ..() - species = all_species["Diona"] + species = all_species[SPECIES_DIONA] add_language(LANGUAGE_ROOTGLOBAL) add_language(LANGUAGE_GALCOM) verbs += /mob/living/carbon/alien/diona/proc/merge diff --git a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm index 54678e1ea01..585b421c7ff 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm @@ -19,7 +19,7 @@ if(istype(C,/mob/living/carbon/human)) var/mob/living/carbon/human/D = C - if(D.species && D.species.name == "Diona") + if(D.species && D.species.name == SPECIES_DIONA) choices += C var/mob/living/M = input(src,"Who do you wish to merge with?") in null|choices @@ -33,7 +33,6 @@ if(!istype(H) || !src || !(src.Adjacent(H))) return 0 H << "You feel your being twine with that of \the [src] as it merges with your biomass." - H.status_flags |= PASSEMOTES src << "You feel your being twine with that of \the [H] as you merge with its biomass." loc = H verbs += /mob/living/carbon/alien/diona/proc/split @@ -66,4 +65,3 @@ for(var/atom/A in M.contents) if(istype(A,/mob/living/simple_animal/borer) || istype(A,/obj/item/weapon/holder)) return - M.status_flags &= ~PASSEMOTES \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/diona/progression.dm b/code/modules/mob/living/carbon/alien/diona/progression.dm index 8be2f7c5aa2..b6c5b9b4fd0 100644 --- a/code/modules/mob/living/carbon/alien/diona/progression.dm +++ b/code/modules/mob/living/carbon/alien/diona/progression.dm @@ -1,6 +1,6 @@ /mob/living/carbon/alien/diona/confirm_evolution() - if(!is_alien_whitelisted(src, all_species["Diona"])) + if(!is_alien_whitelisted(src, all_species[SPECIES_DIONA])) src << alert("You are currently not whitelisted to play as a full diona.") return null @@ -16,4 +16,4 @@ qdel(L) src.visible_message("[src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea.","You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.") - return "Diona" \ No newline at end of file + return SPECIES_DIONA \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/emote.dm b/code/modules/mob/living/carbon/alien/emote.dm index 7a70f22ceae..175338e5ffd 100644 --- a/code/modules/mob/living/carbon/alien/emote.dm +++ b/code/modules/mob/living/carbon/alien/emote.dm @@ -119,7 +119,7 @@ else src << text("Invalid Emote: []", act) if ((message && src.stat == 0)) - log_emote("[name]/[key] : [message]") + log_emote(message, src) if (m_type & 1) for(var/mob/O in viewers(src, null)) O.show_message(message, m_type) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 1aaa236446d..07f65f62b59 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_empty" w_class = ITEMSIZE_NORMAL + can_speak = 1 origin_tech = list(TECH_BIO = 3) req_access = list(access_robotics) diff --git a/code/modules/mob/living/carbon/brain/emote.dm b/code/modules/mob/living/carbon/brain/emote.dm index cb07a338c73..22efdc76c6d 100644 --- a/code/modules/mob/living/carbon/brain/emote.dm +++ b/code/modules/mob/living/carbon/brain/emote.dm @@ -63,7 +63,7 @@ src << "Unusable emote '[act]'. Say *help for a list." if (message) - log_emote("[name]/[key] : [message]") + log_emote(message, src) for(var/mob/M in dead_mob_list) if (!M.client || istype(M, /mob/new_player)) diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index 8797cd596ac..a09d8ce3e53 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -5,8 +5,8 @@ message = sanitize(message) - if(!(container && istype(container, /obj/item/device/mmi))) - return //No MMI, can't speak, bucko./N + if(!(container && container.can_speak)) + return //Certain objects can speak, like MMIs. Most others cannot. -Q else var/datum/language/speaking = parse_language(message) if(speaking) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index dd4d6a8d0a0..3fb0c6e65e3 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1,8 +1,8 @@ /mob/living/carbon/New() //setup reagent holders - bloodstr = new/datum/reagents/metabolism(1000, src, CHEM_BLOOD) - ingested = new/datum/reagents/metabolism(1000, src, CHEM_INGEST) - touching = new/datum/reagents/metabolism(1000, src, CHEM_TOUCH) + bloodstr = new/datum/reagents/metabolism/bloodstream(500, src) + ingested = new/datum/reagents/metabolism/ingested(500, src) + touching = new/datum/reagents/metabolism/touch(500, src) reagents = bloodstr if (!default_language && species_language) default_language = all_languages[species_language] @@ -137,39 +137,13 @@ return shock_damage -/mob/proc/swap_hand() - return - -/mob/living/carbon/swap_hand() - src.hand = !( src.hand ) - if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) - if(hand) //This being 1 means the left hand is in use - hud_used.l_hand_hud_object.icon_state = "l_hand_active" - hud_used.r_hand_hud_object.icon_state = "r_hand_inactive" - else - hud_used.l_hand_hud_object.icon_state = "l_hand_inactive" - hud_used.r_hand_hud_object.icon_state = "r_hand_active" - return - -/mob/living/carbon/proc/activate_hand(var/selhand) //0 or "r" or "right" for right hand; 1 or "l" or "left" for left hand. - - if(istext(selhand)) - selhand = lowertext(selhand) - - if(selhand == "right" || selhand == "r") - selhand = 0 - if(selhand == "left" || selhand == "l") - selhand = 1 - - if(selhand != src.hand) - swap_hand() - /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) if (src.health >= config.health_threshold_crit) if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src + var/datum/gender/T = gender_datums[H.get_visible_gender()] src.visible_message( \ - text("[src] examines [].",src.gender==MALE?"himself":"herself"), \ + "[src] examines [T.himself].", \ "You check yourself for injuries." \ ) @@ -243,32 +217,29 @@ src.ExtinguishMob() src.fire_stacks = 0 else - var/t_him = "it" - if (src.gender == MALE) - t_him = "him" - else if (src.gender == FEMALE) - t_him = "her" if (istype(src,/mob/living/carbon/human) && src:w_uniform) var/mob/living/carbon/human/H = src H.w_uniform.add_fingerprint(M) var/show_ssd var/mob/living/carbon/human/H = src + var/datum/gender/T = gender_datums[H.get_visible_gender()] // make sure to cast to human before using get_gender() or get_visible_gender()! if(istype(H)) show_ssd = H.species.show_ssd if(show_ssd && !client && !teleop) - M.visible_message("[M] shakes [src] trying to wake [t_him] up!", \ - "You shake [src], but they do not respond... Maybe they have S.S.D?") + M.visible_message("[M] shakes [src] trying to wake [T.him] up!", \ + "You shake [src], but [T.he] [T.does] not respond... Maybe [T.he] [T.has] S.S.D?") else if(lying || src.sleeping) src.sleeping = max(0,src.sleeping-5) if(src.sleeping == 0) src.resting = 0 - M.visible_message("[M] shakes [src] trying to wake [t_him] up!", \ - "You shake [src] trying to wake [t_him] up!") + M.visible_message("[M] shakes [src] trying to wake [T.him] up!", \ + "You shake [src] trying to wake [T.him] up!") else var/mob/living/carbon/human/hugger = M + var/datum/gender/TM = gender_datums[M.get_visible_gender()] if(M.resting == 1) //Are they resting on the ground? - M.visible_message("[M] grabs onto [src] and pulls \himself up", \ - "You grip onto [src] and pull yourself up off the ground!") //AHHH gender checks are hard, but this should work + M.visible_message("[M] grabs onto [src] and pulls [TM.himself] up", \ + "You grip onto [src] and pull yourself up off the ground!") if(M.fire_stacks >= (src.fire_stacks + 3)) //Fire checks. src.adjust_fire_stacks(1) M.adjust_fire_stacks(-1) @@ -279,8 +250,8 @@ else if(istype(hugger)) hugger.species.hug(hugger,src) else - M.visible_message("[M] hugs [src] to make [t_him] feel better!", \ - "You hug [src] to make [t_him] feel better!") + M.visible_message("[M] hugs [src] to make [T.him] feel better!", \ + "You hug [src] to make [T.him] feel better!") if(M.fire_stacks >= (src.fire_stacks + 3)) src.adjust_fire_stacks(1) M.adjust_fire_stacks(-1) @@ -306,79 +277,6 @@ // ++++ROCKDTBEN++++ MOB PROCS //END -/mob/living/carbon/clean_blood() - . = ..() - if(ishuman(src)) - var/mob/living/carbon/human/H = src - if(H.gloves) - if(H.gloves.clean_blood()) - H.update_inv_gloves(0) - H.gloves.germ_level = 0 - else - if(H.bloody_hands) - H.bloody_hands = 0 - H.update_inv_gloves(0) - H.germ_level = 0 - update_icons_layers(FALSE) //apply the now updated overlays to the mob - update_icons_body() - -//Throwing stuff -/mob/proc/throw_item(atom/target) - return - -/mob/living/carbon/throw_item(atom/target) - src.throw_mode_off() - if(usr.stat || !target) - return - if(target.type == /obj/screen) return - - var/atom/movable/item = src.get_active_hand() - - if(!item) return - - var/throw_range = item.throw_range - if (istype(item, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = item - item = G.throw_held() //throw the person instead of the grab - if(ismob(item)) - var/mob/M = item - - //limit throw range by relative mob size - throw_range = round(M.throw_range * min(src.mob_size/M.mob_size, 1)) - - var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors - var/turf/end_T = get_turf(target) - if(start_T && end_T) - var/start_T_descriptor = "tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]" - var/end_T_descriptor = "tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]" - - M.attack_log += text("\[[time_stamp()]\] Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") - usr.attack_log += text("\[[time_stamp()]\] Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") - msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (JMP)") - - src.drop_from_inventory(item) - if(!item || !isturf(item.loc)) - return - - //actually throw it! - src.visible_message("[src] has thrown [item].") - - if(!src.lastarea) - src.lastarea = get_area(src.loc) - if((istype(src.loc, /turf/space)) || (src.lastarea.has_gravity == 0)) - src.inertia_dir = get_dir(target, src) - step(src, inertia_dir) - - -/* - if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction - src.inertia_dir = get_dir(target, src) - step(src, inertia_dir) -*/ - - - item.throw_at(target, throw_range, item.throw_speed, src) - /mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() var/temp_inc = max(min(BODYTEMP_HEATING_MAX*(1-get_heat_protection()), exposed_temperature - bodytemperature), 0) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 08d0c9384e7..18acbda04d2 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -101,9 +101,8 @@ G.last_action = world.time flick(G.hud.icon_state, G.hud) - user.attack_log += "\[[time_stamp()]\] Knifed [name] ([ckey]) with [W.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(W.damtype)])" - src.attack_log += "\[[time_stamp()]\] Got knifed by [user.name] ([user.ckey]) with [W.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(W.damtype)])" - msg_admin_attack("[key_name(user)] knifed [key_name(src)] with [W.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(W.damtype)])" ) + add_attack_logs(user,src,"Knifed (throat slit)") + return 1 /mob/living/carbon/proc/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone) @@ -119,9 +118,7 @@ if(W.hitsound) playsound(loc, W.hitsound, 50, 1, -1) - user.attack_log += "\[[time_stamp()]\] Shanked [name] ([ckey]) with [W.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(W.damtype)])" - src.attack_log += "\[[time_stamp()]\] Got shanked by [user.name] ([user.ckey]) with [W.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(W.damtype)])" - msg_admin_attack("[key_name(user)] shanked [key_name(src)] with [W.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(W.damtype)])" ) + add_attack_logs(user,src,"Knifed (shanked)") return 1 diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 532b2daa7c0..1112b4e49ca 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -17,9 +17,9 @@ //Active emote/pose var/pose = null var/list/chem_effects = list() - var/datum/reagents/metabolism/bloodstr = null - var/datum/reagents/metabolism/ingested = null - var/datum/reagents/metabolism/touching = null + var/datum/reagents/metabolism/bloodstream/bloodstr = null + var/datum/reagents/metabolism/ingested/ingested = null + var/datum/reagents/metabolism/touch/touching = null var/pulse = PULSE_NORM //current pulse level diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 6b07140211f..5d11e2a529b 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -1,4 +1,4 @@ -/mob/living/carbon/human/verb/give(var/mob/living/carbon/target in view(1)-usr) +/mob/living/carbon/human/verb/give(var/mob/living/carbon/target in living_mobs(1)) set category = "IC" set name = "Give" diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 13be7e6c1bb..c573f6c2477 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -24,7 +24,7 @@ drop_from_inventory(I) I.throw_at(get_edge_target_turf(src,pick(alldirs)), rand(1,3), round(30/I.w_class)) - ..(species.gibbed_anim) + ..(species.gibbed_anim) // uses the default mob.dmi file for these, so we only need to specify the first argument gibs(loc, dna, null, species.get_flesh_colour(src), species.get_blood_colour(src)) /mob/living/carbon/human/dust() diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 286596ba041..09b7aadc70d 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -1,5 +1,7 @@ /mob/living/carbon/human/emote(var/act,var/m_type=1,var/message = null) var/param = null + + var/datum/gender/T = gender_datums[get_visible_gender()] if (findtext(act, "-", 1, null)) var/t1 = findtext(act, "-", 1, null) @@ -57,13 +59,13 @@ use_sound = 'sound/machines/synth_no.ogg' else if(act == "rcough") display_msg = "emits a robotic cough" - if(gender == FEMALE) + if(get_gender() == FEMALE) use_sound = pick('sound/effects/mob_effects/f_machine_cougha.ogg','sound/effects/mob_effects/f_machine_coughb.ogg') else use_sound = pick('sound/effects/mob_effects/m_machine_cougha.ogg','sound/effects/mob_effects/m_machine_coughb.ogg', 'sound/effects/mob_effects/m_machine_coughc.ogg') else if(act == "rsneeze") display_msg = "emits a robotic sneeze" - if(gender == FEMALE) + if(get_gender() == FEMALE) use_sound = 'sound/effects/mob_effects/machine_sneeze.ogg' else use_sound = 'sound/effects/mob_effects/f_machine_sneeze.ogg' @@ -161,7 +163,7 @@ if ("choke") if(miming) - message = "clutches [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] throat desperately!" + message = "clutches [T.his] throat desperately!" m_type = 1 else if (!muzzled) @@ -181,14 +183,14 @@ if ("flap") if (!src.restrained()) - message = "flaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] wings." + message = "flaps [T.his] wings." m_type = 2 if(miming) m_type = 1 if ("aflap") if (!src.restrained()) - message = "flaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] wings ANGRILY!" + message = "flaps [T.his] wings ANGRILY!" m_type = 2 if(miming) m_type = 1 @@ -242,7 +244,7 @@ robotic = 1 if(!robotic) message = "coughs!" - if(gender == FEMALE) + if(get_gender() == FEMALE) if(species.female_cough_sounds) playsound(src, pick(species.female_cough_sounds), 120) else @@ -251,7 +253,7 @@ else message = "emits a robotic cough" var/use_sound - if(gender == FEMALE) + if(get_gender() == FEMALE) use_sound = pick('sound/effects/mob_effects/f_machine_cougha.ogg','sound/effects/mob_effects/f_machine_coughb.ogg') else use_sound = pick('sound/effects/mob_effects/m_machine_cougha.ogg','sound/effects/mob_effects/m_machine_coughb.ogg', 'sound/effects/mob_effects/m_machine_coughc.ogg') @@ -364,7 +366,7 @@ message = "cries." m_type = 2 else - message = "makes a weak noise. [get_visible_gender() == MALE ? "He" : get_visible_gender() == FEMALE ? "She" : "They"] [get_visible_gender() == NEUTER ? "frown" : "frowns"]." + message = "makes a weak noise. [T.he] [get_visible_gender() == NEUTER ? "frown" : "frowns"]." // no good, non-unwieldy alternative to this ternary at the moment m_type = 2 if ("sigh") @@ -467,7 +469,7 @@ m_type = 1 if("shake") - message = "shakes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] head." + message = "shakes [T.his] head." m_type = 1 if ("shrug") @@ -516,7 +518,7 @@ robotic = 1 if(!robotic) message = "sneezes." - if(gender == FEMALE) + if(get_gender() == FEMALE) playsound(src, species.female_sneeze_sound, 70) else playsound(src, species.male_sneeze_sound, 70) @@ -524,7 +526,7 @@ else message = "emits a robotic sneeze" var/use_sound - if(gender == FEMALE) + if(get_gender() == FEMALE) use_sound = 'sound/effects/mob_effects/machine_sneeze.ogg' else use_sound = 'sound/effects/mob_effects/f_machine_sneeze.ogg' @@ -596,7 +598,7 @@ if (M) message = "hugs [M]." else - message = "hugs [get_visible_gender() == MALE ? "himself" : get_visible_gender() == FEMALE ? "herself" : "themselves"]." + message = "hugs [T.himself]." if ("handshake") m_type = 1 @@ -614,7 +616,7 @@ if (M.canmove && !M.r_hand && !M.restrained()) message = "shakes hands with [M]." else - message = "holds out [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] hand to [M]." + message = "holds out [T.his] hand to [M]." if("dap") m_type = 1 @@ -628,7 +630,7 @@ if (M) message = "gives daps to [M]." else - message = "sadly can't find anybody to give daps to, and daps [get_visible_gender() == MALE ? "himself" : get_visible_gender() == FEMALE ? "herself" : "themselves"]. Shameful." + message = "sadly can't find anybody to give daps to, and daps [T.himself]. Shameful." if("slap", "slaps") m_type = 1 @@ -642,8 +644,12 @@ if(M) message = "slaps [M] across the face. Ouch!" playsound(loc, 'sound/effects/snap.ogg', 50, 1) + if(ishuman(M)) //Snowflakey! + var/mob/living/carbon/human/H = M + if(istype(H.wear_mask,/obj/item/clothing/mask/smokable)) + H.drop_from_inventory(H.wear_mask) else - message = "slaps [get_visible_gender() == MALE ? "himself" : get_visible_gender() == FEMALE ? "herself" : "themselves"]!" + message = "slaps [T.himself]!" playsound(loc, 'sound/effects/snap.ogg', 50, 1) if("scream", "screams") @@ -655,7 +661,7 @@ message = "[species.scream_verb]!" m_type = 2 /* Removed, pending the location of some actually good, properly licensed sounds. - if(gender == FEMALE) + if(get_gender() == FEMALE) playsound(loc, "[species.female_scream_sound]", 80, 1) else playsound(loc, "[species.male_scream_sound]", 80, 1) //default to male screams if no gender is present. @@ -680,7 +686,7 @@ to_chat(usr, "You need at least one hand in good working order to snap your fingers.") return - message = "snaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] fingers." + message = "snaps [T.his] fingers." playsound(loc, 'sound/effects/fingersnap.ogg', 50, 1, -3) if("swish") @@ -726,16 +732,16 @@ src << "Unusable emote '[act]'. Say *help for a list." if (message) - log_emote("[name]/[key] : [message]") custom_emote(m_type,message) - /mob/living/carbon/human/verb/pose() set name = "Set Pose" set desc = "Sets a description which will be shown when someone examines you." set category = "IC" + + var/datum/gender/T = gender_datums[get_visible_gender()] - pose = sanitize(input(usr, "This is [src]. [get_visible_gender() == MALE ? "He" : get_visible_gender() == FEMALE ? "She" : "They"]...", "Pose", null) as text) + pose = sanitize(input(usr, "This is [src]. [T.he]...", "Pose", null) as text) /mob/living/carbon/human/verb/set_flavor() set name = "Set Flavour Text" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 08ea8bb2d90..096d8b25a61 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -85,7 +85,7 @@ var/list/msg = list("*---------*\nThis is ") - var/datum/gender/T = gender_datums[get_gender()] + var/datum/gender/T = gender_datums[get_visible_gender()] if(skipjumpsuit && skipface) //big suits/masks/helmets make it hard to tell their gender T = gender_datums[PLURAL] @@ -133,7 +133,7 @@ msg += "
    " //uniform - if(w_uniform && !skipjumpsuit) + if(w_uniform && !skipjumpsuit && w_uniform.show_examine) //Ties var/tie_msg if(istype(w_uniform,/obj/item/clothing/under) && !skiptie) @@ -142,11 +142,11 @@ if(skipholster) var/list/accessories_visible = new/list() //please let this fix the stupid fucking runtimes for(var/obj/item/clothing/accessory/A in U.accessories) - if(A.concealed_holster == 0) + if(A.concealed_holster == 0 && A.show_examine) accessories_visible.Add(A) if(accessories_visible.len) - tie_msg += ". Attached to it is [lowertext(english_list(accessories_visible))]" - else tie_msg += ". Attached to it is [lowertext(english_list(U.accessories))]" + tie_msg += ". Attached to it is [english_list(accessories_visible)]" + else tie_msg += ". Attached to it is [english_list(U.accessories)]" if(w_uniform.blood_DNA) msg += "[T.He] [T.is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name][tie_msg]!\n" @@ -154,7 +154,7 @@ msg += "[T.He] [T.is] wearing \icon[w_uniform] \a [w_uniform][tie_msg].\n" //head - if(head) + if(head && head.show_examine) if(head.blood_DNA) msg += "[T.He] [T.is] wearing \icon[head] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!\n" else @@ -166,7 +166,7 @@ if(istype(wear_suit,/obj/item/clothing/suit)) var/obj/item/clothing/suit/U = wear_suit if(U.accessories.len) - tie_msg += ". Attached to it is [lowertext(english_list(U.accessories))]" + tie_msg += ". Attached to it is [english_list(U.accessories)]" if(wear_suit.blood_DNA) msg += "[T.He] [T.is] wearing \icon[wear_suit] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_suit.name]!\n" @@ -174,35 +174,35 @@ msg += "[T.He] [T.is] wearing \icon[wear_suit] \a [wear_suit][tie_msg].\n" //suit/armour storage - if(s_store && !skipsuitstorage) + if(s_store && !skipsuitstorage && s_store.show_examine) if(s_store.blood_DNA) msg += "[T.He] [T.is] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!\n" else msg += "[T.He] [T.is] carrying \icon[s_store] \a [s_store] on [T.his] [wear_suit.name].\n" //back - if(back) + if(back && back.show_examine) if(back.blood_DNA) msg += "[T.He] [T.has] \icon[back] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back.\n" else msg += "[T.He] [T.has] \icon[back] \a [back] on [T.his] back.\n" //left hand - if(l_hand) + if(l_hand && l_hand.show_examine) if(l_hand.blood_DNA) msg += "[T.He] [T.is] holding \icon[l_hand] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!\n" else msg += "[T.He] [T.is] holding \icon[l_hand] \a [l_hand] in [T.his] left hand.\n" //right hand - if(r_hand) + if(r_hand && r_hand.show_examine) if(r_hand.blood_DNA) msg += "[T.He] [T.is] holding \icon[r_hand] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!\n" else msg += "[T.He] [T.is] holding \icon[r_hand] \a [r_hand] in [T.his] right hand.\n" //gloves - if(gloves && !skipgloves) + if(gloves && !skipgloves && gloves.show_examine) if(gloves.blood_DNA) msg += "[T.He] [T.has] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!\n" else @@ -211,7 +211,7 @@ msg += "[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!\n" //handcuffed? - if(handcuffed) + if(handcuffed && handcuffed.show_examine) if(istype(handcuffed, /obj/item/weapon/handcuffs/cable)) msg += "[T.He] [T.is] \icon[handcuffed] restrained with cable!\n" else @@ -222,14 +222,14 @@ msg += "[T.He] [T.is] \icon[buckled] buckled to [buckled]!\n" //belt - if(belt) + if(belt && belt.show_examine) if(belt.blood_DNA) msg += "[T.He] [T.has] \icon[belt] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!\n" else msg += "[T.He] [T.has] \icon[belt] \a [belt] about [T.his] waist.\n" //shoes - if(shoes && !skipshoes) + if(shoes && !skipshoes && shoes.show_examine) if(shoes.blood_DNA) msg += "[T.He] [T.is] wearing \icon[shoes] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!\n" else @@ -238,7 +238,7 @@ msg += "[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!\n" //mask - if(wear_mask && !skipmask) + if(wear_mask && !skipmask && wear_mask.show_examine) var/descriptor = "on [T.his] face" if(istype(wear_mask, /obj/item/weapon/grenade) && check_has_mouth()) descriptor = "in [T.his] mouth" @@ -249,22 +249,22 @@ msg += "[T.He] [T.has] \icon[wear_mask] \a [wear_mask] [descriptor].\n" //eyes - if(glasses && !skipeyes) + if(glasses && !skipeyes && glasses.show_examine) if(glasses.blood_DNA) msg += "[T.He] [T.has] \icon[glasses] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!\n" else msg += "[T.He] [T.has] \icon[glasses] \a [glasses] covering [T.his] eyes.\n" //left ear - if(l_ear && !skipears) + if(l_ear && !skipears && l_ear.show_examine) msg += "[T.He] [T.has] \icon[l_ear] \a [l_ear] on [T.his] left ear.\n" //right ear - if(r_ear && !skipears) + if(r_ear && !skipears && r_ear.show_examine) msg += "[T.He] [T.has] \icon[r_ear] \a [r_ear] on [T.his] right ear.\n" //ID - if(wear_id) + if(wear_id && wear_id.show_examine) /*var/id if(istype(wear_id, /obj/item/device/pda)) var/obj/item/device/pda/pda = wear_id diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 14c2390ac31..1cea9e2113f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2,20 +2,23 @@ name = "unknown" real_name = "unknown" voice_name = "unknown" - icon = 'icons/effects/effects.dmi' //We have an ultra-complex update icons that overlays everything, don't load some stupid random male human + icon = 'icons/effects/effects.dmi' //We have an ultra-complex update icons that overlays everything, don't load some stupid random male human icon_state = "nothing" - var/list/hud_list[TOTAL_HUDS] - var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us. + has_huds = TRUE //We do have HUDs (like health, wanted, status, not inventory slots) + + var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us. var/obj/item/weapon/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call. - var/last_push_time //For human_attackhand.dm, keeps track of the last use of disarm + var/last_push_time //For human_attackhand.dm, keeps track of the last use of disarm - var/spitting = 0 //Spitting and spitting related things. Any human based ranged attacks, be it innate or added abilities. - var/spit_projectile = null //Projectile type. - var/spit_name = null //String - var/last_spit = 0 //Timestamp. + var/spitting = 0 //Spitting and spitting related things. Any human based ranged attacks, be it innate or added abilities. + var/spit_projectile = null //Projectile type. + var/spit_name = null //String + var/last_spit = 0 //Timestamp. - var/can_defib = 1 //Horrible damage (like beheadings) will prevent defibbing organics. + var/can_defib = 1 //Horrible damage (like beheadings) will prevent defibbing organics. + var/active_regen = FALSE //Used for the regenerate proc in human_powers.dm + var/active_regen_delay = 300 /mob/living/carbon/human/New(var/new_loc, var/new_species = null) @@ -37,9 +40,8 @@ nutrition = rand(200,400) - make_hud_overlays() - human_mob_list |= src + ..() hide_underwear.Cut() @@ -50,20 +52,12 @@ dna.ready_dna(src) dna.real_name = real_name sync_organ_dna() - make_blood() /mob/living/carbon/human/Destroy() human_mob_list -= src for(var/organ in organs) qdel(organ) - LAZYCLEARLIST(list_layers) - list_layers = null //Be free! - LAZYCLEARLIST(list_body) - list_body = null - LAZYCLEARLIST(list_huds) - list_huds = null - return ..() /mob/living/carbon/human/Stat() @@ -100,6 +94,8 @@ stat("Chemical Storage", mind.changeling.chem_charges) stat("Genetic Damage Time", mind.changeling.geneticdamage) stat("Re-Adaptations", "[mind.changeling.readapts]/[mind.changeling.max_readapts]") + if(species) + species.Stat(src) /mob/living/carbon/human/ex_act(severity) if(!blinded) @@ -397,12 +393,9 @@ var/modified = 0 var/perpname = "wot" - if(wear_id) - var/obj/item/weapon/card/id/I = wear_id.GetID() - if(I) - perpname = I.registered_name - else - perpname = name + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else perpname = name @@ -436,14 +429,11 @@ var/perpname = "wot" var/read = 0 - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.security) @@ -466,14 +456,11 @@ var/perpname = "wot" var/read = 0 - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.security) @@ -494,14 +481,11 @@ if (href_list["secrecordadd"]) if(hasHUD(usr,"security")) var/perpname = "wot" - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.security) @@ -525,14 +509,11 @@ var/perpname = "wot" var/modified = 0 - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) @@ -564,14 +545,11 @@ var/perpname = "wot" var/read = 0 - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.medical) @@ -595,14 +573,11 @@ var/perpname = "wot" var/read = 0 - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.medical) @@ -623,14 +598,11 @@ if (href_list["medrecordadd"]) if(hasHUD(usr,"medical")) var/perpname = "wot" - if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name else - perpname = src.name + perpname = name for (var/datum/data/record/E in data_core.general) if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.medical) @@ -763,7 +735,8 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) - visible_message("\The [src] begins playing \his ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") + var/datum/gender/T = gender_datums[get_visible_gender()] + visible_message("\The [src] begins playing [T.his] ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(loc, song, 50, 1, -1) xylophone = 1 @@ -853,8 +826,8 @@ gender = NEUTER regenerate_icons() check_dna() - - visible_message("\The [src] morphs and changes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") + var/datum/gender/T = gender_datums[get_visible_gender()] + visible_message("\The [src] morphs and changes [T.his] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") /mob/living/carbon/human/proc/remotesay() set name = "Project mind" @@ -881,7 +854,7 @@ else target.show_message(" You hear a voice that seems to echo around the room: [say]") usr.show_message(" You project your mind into [target.real_name]: [say]") - log_say("[key_name(usr)] sent a telepathic message to [key_name(target)]: [say]") + log_say("(TPATH to [key_name(target)]) [say]",src) for(var/mob/observer/dead/G in world) G.show_message("Telepathic message from [src] to [target]: [say]") @@ -922,10 +895,13 @@ remoteview_target = null reset_view(0) -/mob/living/carbon/human/proc/get_visible_gender() +/mob/living/carbon/human/get_visible_gender() if(wear_suit && wear_suit.flags_inv & HIDEJUMPSUIT && ((head && head.flags_inv & HIDEMASK) || wear_mask)) - return NEUTER - return gender + return PLURAL //plural is the gender-neutral default + if(species) + if(species.ambiguous_genders) + return PLURAL // regardless of what you're wearing, your gender can't be figured out + return get_gender() /mob/living/carbon/human/proc/increase_germ_level(n) if(gloves) @@ -1008,7 +984,7 @@ if(!blood_DNA[M.dna.unique_enzymes]) blood_DNA[M.dna.unique_enzymes] = M.dna.b_type hand_blood_color = blood_color - src.update_inv_gloves() //handles bloody hands overlays and updating + update_bloodied() verbs += /mob/living/carbon/human/proc/bloody_doodle return 1 //we applied blood to the item @@ -1017,15 +993,31 @@ return return md5(dna.uni_identity) -/mob/living/carbon/human/clean_blood(var/clean_feet) - .=..() +/mob/living/carbon/human/clean_blood(var/washshoes) + . = ..() + gunshot_residue = null - if(clean_feet && !shoes && istype(feet_blood_DNA, /list) && feet_blood_DNA.len) - feet_blood_color = null - feet_blood_DNA.Cut() + + //Always do hands (or whatever's on our hands) + if(gloves) + gloves.clean_blood() + update_inv_gloves() + gloves.germ_level = 0 + else + bloody_hands = 0 + germ_level = 0 + + //Sometimes do shoes if asked (or feet if no shoes) + if(washshoes && shoes) + shoes.clean_blood() + update_inv_shoes() + shoes.germ_level = 0 + else if(washshoes && (feet_blood_color || LAZYLEN(feet_blood_DNA))) + LAZYCLEARLIST(feet_blood_DNA) feet_blood_DNA = null - update_inv_shoes(1) - return 1 + feet_blood_color = null + + update_bloodied() /mob/living/carbon/human/get_visible_implants(var/class = 0) @@ -1074,13 +1066,16 @@ if(usr.stat || usr.restrained() || !isliving(usr)) return + var/datum/gender/TU = gender_datums[usr.get_visible_gender()] + var/datum/gender/T = gender_datums[get_visible_gender()] + if(usr == src) self = 1 if(!self) - usr.visible_message("[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ + usr.visible_message("[usr] kneels down, puts [TU.his] hand on [src]'s wrist and begins counting [T.his] pulse.",\ "You begin counting [src]'s pulse") else - usr.visible_message("[usr] begins counting their pulse.",\ + usr.visible_message("[usr] begins counting [T.his] pulse.",\ "You begin counting your pulse.") if(src.pulse) @@ -1095,11 +1090,11 @@ else usr << "You failed to check the pulse. Try again." -/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour) +/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/regen_icons = TRUE) if(!dna) if(!new_species) - new_species = "Human" + new_species = SPECIES_HUMAN else if(!new_species) new_species = dna.species @@ -1108,7 +1103,7 @@ // No more invisible screaming wheelchairs because of set_species() typos. if(!all_species[new_species]) - new_species = "Human" + new_species = SPECIES_HUMAN if(species) @@ -1149,7 +1144,7 @@ if(!(gender in species.genders)) gender = species.genders[1] - icon_state = lowertext(species.name) + //icon_state = lowertext(species.name) //Necessary? species.create_organs(src) @@ -1158,7 +1153,8 @@ maxHealth = species.total_health spawn(0) - regenerate_icons() + if(regen_icons) regenerate_icons() + make_blood() if(vessel.total_volume < species.blood_volume) vessel.maximum_volume = species.blood_volume vessel.add_reagent("blood", species.blood_volume - vessel.total_volume) @@ -1174,6 +1170,9 @@ qdel(hud_used) hud_used = new /datum/hud(src) + //A slew of bits that may be affected by our species change + regenerate_icons() + if(species) if(mind) apply_traits() @@ -1250,9 +1249,12 @@ if(!affecting) . = 0 fail_msg = "They are missing that limb." - else if (affecting.robotic >= ORGAN_ROBOT) + else if (affecting.robotic == ORGAN_ROBOT) . = 0 fail_msg = "That limb is robotic." + else if (affecting.robotic >= ORGAN_LIFELIKE) + . = 0 + fail_msg = "Your needle refuses to penetrate more than a short distance..." else switch(target_zone) if(BP_HEAD) @@ -1335,14 +1337,20 @@ return 0 /mob/living/carbon/human/slip(var/slipped_on, stun_duration=8) - if((species.flags & NO_SLIP) || (shoes && (shoes.item_flags & NOSLIP))) + var/list/equipment = list(src.w_uniform,src.wear_suit,src.shoes) + var/footcoverage_check = FALSE + for(var/obj/item/clothing/C in equipment) + if(C.body_parts_covered & FEET) + footcoverage_check = TRUE + break + if((species.flags & NO_SLIP && !footcoverage_check) || (shoes && (shoes.item_flags & NOSLIP))) //Footwear negates a species' natural traction. return 0 if(..(slipped_on,stun_duration)) return 1 -/mob/living/carbon/human/proc/undislocate() +/mob/living/carbon/human/proc/relocate() set category = "Object" - set name = "Undislocate Joint" + set name = "Relocate Joint" set desc = "Pop a joint back into place. Extremely painful." set src in view(1) @@ -1390,7 +1398,7 @@ else U << "You pop [S]'s [current_limb.joint] back in!" S << "[U] pops your [current_limb.joint] back in!" - current_limb.undislocate() + current_limb.relocate() /mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/Target = null) if(W in organs) @@ -1522,10 +1530,65 @@ return species.fire_icon_state // Called by job_controller. Makes drones start with a permit, might be useful for other people later too. -/mob/living/carbon/human/equip_post_job() //Drone Permit moved to equip_survival_gear() +/mob/living/carbon/human/equip_post_job() var/braintype = get_FBP_type() if(braintype == FBP_DRONE) var/turf/T = get_turf(src) var/obj/item/clothing/accessory/permit/drone/permit = new(T) permit.set_name(real_name) equip_to_appropriate_slot(permit) // If for some reason it can't find room, it'll still be on the floor. + +/mob/living/carbon/human/proc/update_icon_special() //For things such as teshari hiding and whatnot. + if(status_flags & HIDING) // Hiding? Carry on. + if(stat == DEAD || paralysis || weakened || stunned || restrained()) //stunned/knocked down by something that isn't the rest verb? Note: This was tried with INCAPACITATION_STUNNED, but that refused to work. + reset_plane_and_layer() + status_flags &= ~HIDING + else + layer = HIDING_LAYER + +/mob/living/carbon/human/proc/get_display_species() + //Shows species in tooltip + //Beepboops get special text if obviously beepboop + if(looksSynthetic()) + if(gender == MALE) + return "Android" + else if(gender == FEMALE) + return "Gynoid" + else + return "Synthetic" + //Else species name + if(species) + return species.get_examine_name() + //Else CRITICAL FAILURE! + return "" + +/mob/living/carbon/human/get_nametag_name(mob/user) + return name //Could do fancy stuff here? + +/mob/living/carbon/human/get_nametag_desc(mob/user) + var/msg = "" + if(hasHUD(user,"security")) + //Try to find their name + var/perpname + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name + else + perpname = name + //Try to find their record + var/criminal = "None" + if(perpname) + var/datum/data/record/G = find_general_record("name", perpname) + if(G) + var/datum/data/record/S = find_security_record("id", G.fields["id"]) + if(S) + criminal = S.fields["criminal"] + //If it's interesting, append + if(criminal != "None") + msg += "([criminal]) " + + if(hasHUD(user,"medical")) + msg += "(Health: [round((health/getMaxHealth())*100)]%) " + + msg += get_display_species() + return msg diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index e3b2f32d430..a2c725b5bdb 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -8,7 +8,8 @@ return u_attack return null -/mob/living/carbon/human/attack_hand(mob/living/carbon/M as mob) +/mob/living/carbon/human/attack_hand(mob/living/M as mob) + var/datum/gender/TT = gender_datums[M.get_visible_gender()] var/mob/living/carbon/human/H = M if(istype(H)) var/obj/item/organ/external/temp = H.organs_by_name["r_hand"] @@ -17,7 +18,8 @@ if(!temp || !temp.is_usable()) H << "You can't use your hand." return - H.break_cloak() + M.break_cloak() + ..() // Should this all be in Touch()? @@ -63,7 +65,8 @@ return if(istype(M,/mob/living/carbon)) - M.spread_disease_to(src, "Contact") + var/mob/living/carbon/C = M + C.spread_disease_to(src, "Contact") switch(M.a_intent) if(I_HELP) @@ -117,7 +120,7 @@ var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src) if(buckled) - M << "You cannot grab [src], \he is buckled in!" + M << "You cannot grab [src], [TT.he] is buckled in!" if(!G) //the grab will delete itself in New if affecting is anchored return M.put_in_active_hand(G) @@ -212,7 +215,7 @@ if(!src.lying) attack_message = "[H] attempted to strike [src], but missed!" else - attack_message = "[H] attempted to strike [src], but \he rolled out of the way!" + attack_message = "[H] attempted to strike [src], but [TT.he] rolled out of the way!" src.set_dir(pick(cardinal)) miss_type = 1 @@ -232,15 +235,22 @@ H.visible_message("[attack_message]") playsound(loc, ((miss_type) ? (miss_type == 1 ? attack.miss_sound : 'sound/weapons/thudswoosh.ogg') : attack.attack_sound), 25, 1, -1) - H.attack_log += text("\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] [miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [H.name] ([H.ckey])") - msg_admin_attack("[key_name(H)] [miss_type ? (miss_type == 1 ? "has missed" : "was blocked by") : "has [pick(attack.attack_verb)]"] [key_name(src)]") + + add_attack_logs(H,src,"Melee attacked with fists (miss/block)") if(miss_type) return 0 var/real_damage = rand_damage + var/hit_dam_type = attack.damage_type real_damage += attack.get_unarmed_damage(H) + if(H.gloves) + if(istype(H.gloves, /obj/item/clothing/gloves)) + var/obj/item/clothing/gloves/G = H.gloves + real_damage += G.punch_force + hit_dam_type = G.punch_damtype + if(H.pulling_punches) //SO IT IS DECREED: PULLING PUNCHES WILL PREVENT THE ACTUAL DAMAGE FROM RINGS AND KNUCKLES, BUT NOT THE ADDED PAIN + hit_dam_type = AGONY real_damage *= damage_multiplier rand_damage *= damage_multiplier if(HULK in H.mutations) @@ -254,13 +264,11 @@ attack.apply_effects(H, src, armour, rand_damage, hit_zone) // Finally, apply damage to target - apply_damage(real_damage, (attack.deal_halloss ? HALLOSS : BRUTE), hit_zone, armour, soaked, sharp=attack.sharp, edge=attack.edge) + apply_damage(real_damage, hit_dam_type, hit_zone, armour, soaked, sharp=attack.sharp, edge=attack.edge) if(I_DISARM) - M.attack_log += text("\[[time_stamp()]\] Disarmed [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] Has been disarmed by [M.name] ([M.ckey])") + add_attack_logs(H,src,"Disarmed") - msg_admin_attack("[key_name(M)] disarmed [src.name] ([src.ckey])") M.do_attack_animation(src) if(w_uniform) @@ -317,21 +325,20 @@ /mob/living/carbon/human/proc/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, inrange, params) return -/mob/living/carbon/human/attack_generic(var/mob/user, var/damage, var/attack_message) +/mob/living/carbon/human/attack_generic(var/mob/user, var/damage, var/attack_message, var/armor_type = "melee", var/armor_pen = 0, var/a_sharp = 0, var/a_edge = 0) if(!damage) return - user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") + add_attack_logs(user,src,"Melee attacked with fists (miss/block)",admin_notify = FALSE) //No admin notice since this is usually fighting simple animals src.visible_message("[user] has [attack_message] [src]!") user.do_attack_animation(src) var/dam_zone = pick(organs_by_name) var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) - var/armor_block = run_armor_check(affecting, "melee") - var/armor_soak = get_armor_soak(affecting, "melee") - apply_damage(damage, BRUTE, affecting, armor_block, armor_soak) + var/armor_block = run_armor_check(affecting, armor_type, armor_pen) + var/armor_soak = get_armor_soak(affecting, armor_type, armor_pen) + apply_damage(damage, BRUTE, affecting, armor_block, armor_soak, sharp = a_sharp, edge = a_edge) updatehealth() return 1 @@ -401,8 +408,10 @@ user << "Someone is already applying pressure to [user == src? "your [organ.name]" : "[src]'s [organ.name]"]." return 0 + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + if(user == src) - user.visible_message("\The [user] starts applying pressure to \his [organ.name]!", "You start applying pressure to your [organ.name]!") + user.visible_message("\The [user] starts applying pressure to [TU.his] [organ.name]!", "You start applying pressure to your [organ.name]!") else user.visible_message("\The [user] starts applying pressure to [src]'s [organ.name]!", "You start applying pressure to [src]'s [organ.name]!") spawn(0) @@ -414,7 +423,7 @@ organ.applied_pressure = null if(user == src) - user.visible_message("\The [user] stops applying pressure to \his [organ.name]!", "You stop applying pressure to your [organ]!") + user.visible_message("\The [user] stops applying pressure to [TU.his] [organ.name]!", "You stop applying pressure to your [organ]!") else user.visible_message("\The [user] stops applying pressure to [src]'s [organ.name]!", "You stop applying pressure to [src]'s [organ.name]!") diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 45532aa1d48..95a3d0e5ed6 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -108,7 +108,8 @@ amount += O.burn_dam return amount -/mob/living/carbon/human/adjustBruteLoss(var/amount) +//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs +/mob/living/carbon/human/adjustBruteLoss(var/amount,var/include_robo) amount = amount*species.brute_mod if(amount > 0) for(var/datum/modifier/M in modifiers) @@ -121,10 +122,11 @@ for(var/datum/modifier/M in modifiers) if(!isnull(M.incoming_healing_percent)) amount *= M.incoming_healing_percent - heal_overall_damage(-amount, 0) + heal_overall_damage(-amount, 0, include_robo) BITSET(hud_updateflag, HEALTH_HUD) -/mob/living/carbon/human/adjustFireLoss(var/amount) +//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs +/mob/living/carbon/human/adjustFireLoss(var/amount,var/include_robo) amount = amount*species.burn_mod if(amount > 0) for(var/datum/modifier/M in modifiers) @@ -137,7 +139,7 @@ for(var/datum/modifier/M in modifiers) if(!isnull(M.incoming_healing_percent)) amount *= M.incoming_healing_percent - heal_overall_damage(0, -amount) + heal_overall_damage(0, -amount, include_robo) BITSET(hud_updateflag, HEALTH_HUD) /mob/living/carbon/human/proc/adjustBruteLossByPart(var/amount, var/organ_name, var/obj/damage_source = null) @@ -348,7 +350,8 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t //Heal MANY external organs, in random order -/mob/living/carbon/human/heal_overall_damage(var/brute, var/burn) +//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs +/mob/living/carbon/human/heal_overall_damage(var/brute, var/burn, var/include_robo) var/list/obj/item/organ/external/parts = get_damaged_organs(brute,burn) var/update = 0 @@ -358,7 +361,7 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t var/brute_was = picked.brute_dam var/burn_was = picked.burn_dam - update |= picked.heal_damage(brute,burn) + update |= picked.heal_damage(brute,burn,robo_repair = include_robo) brute -= (brute_was-picked.brute_dam) burn -= (burn_was-picked.burn_dam) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 87246e3fe49..db20f7f7440 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -65,7 +65,7 @@ emp_act c_hand = r_hand if(c_hand && (stun_amount || agony_amount > 10)) - msg_admin_attack("[src.name] ([src.ckey]) was disarmed by a stun effect") + msg_admin_attack("[key_name(src)] was disarmed by a stun effect") drop_from_inventory(c_hand) if (affected.robotic >= ORGAN_ROBOT) @@ -197,12 +197,6 @@ emp_act if(.) return return 0 -/mob/living/carbon/human/emp_act(severity) - for(var/obj/O in src) - if(!O) continue - O.emp_act(severity) - ..() - /mob/living/carbon/human/proc/get_accuracy_penalty(mob/living/user) // Certain statuses make it harder to score a hit. These are the same as gun accuracy, however melee doesn't use multiples of 15. var/accuracy_penalty = 0 @@ -347,7 +341,7 @@ emp_act /mob/living/carbon/human/emag_act(var/remaining_charges, mob/user, var/emag_source) var/obj/item/organ/external/affecting = get_organ(user.zone_sel.selecting) - if(!affecting || !(affecting.status & ORGAN_ROBOT)) + if(!affecting || !(affecting.robotic >= ORGAN_ROBOT)) user << "That limb isn't robotic." return -1 if(affecting.sabotaged) @@ -409,13 +403,7 @@ emp_act src.visible_message("[src] has been hit in the [hit_area] by [O].") if(ismob(O.thrower)) - var/mob/M = O.thrower - var/client/assailant = M.client - if(assailant) - src.attack_log += text("\[[time_stamp()]\] Has been hit with a [O], thrown by [M.name] ([assailant.ckey])") - M.attack_log += text("\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with a thrown [O]") - if(!istype(src,/mob/living/simple_animal/mouse)) - msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (JMP)") + add_attack_logs(O.thrower,src,"Hit with thrown [O.name]") //If the armor absorbs all of the damage, skip the rest of the calculations var/soaked = get_armor_soak(affecting, "melee", O.armor_penetration) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 8439df53989..244c22e80b2 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -102,8 +102,6 @@ can_be_antagged = TRUE - var/has_huds = TRUE //Do they have all the fancy life huds? Not for mannequins. - // Used by mobs in virtual reality to point back to the "real" mob the client belongs to. var/mob/living/carbon/human/vr_holder = null // Used by "real" mobs after they leave a VR session diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 5ad867a1560..9eec76bdb79 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -108,7 +108,7 @@ return FBP_NONE -/mob/living/carbon/human/proc/make_hud_overlays() +/mob/living/carbon/human/make_hud_overlays() hud_list[HEALTH_HUD] = gen_hud_image(ingame_hud_med, src, "100", plane = PLANE_CH_HEALTH) if(isSynthetic()) hud_list[STATUS_HUD] = gen_hud_image(ingame_hud, src, "hudrobo", plane = PLANE_CH_STATUS) @@ -123,6 +123,7 @@ hud_list[IMPTRACK_HUD] = gen_hud_image(ingame_hud, src, "hudblank", plane = PLANE_CH_IMPTRACK) hud_list[SPECIALROLE_HUD] = gen_hud_image(ingame_hud, src, "hudblank", plane = PLANE_CH_SPECIAL) hud_list[STATUS_HUD_OOC] = gen_hud_image(ingame_hud, src, "hudhealthy", plane = PLANE_CH_STATUS_OOC) + add_overlay(hud_list) /mob/living/carbon/human/recalculate_vis() if(!vis_enabled || !plane_holder) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 5e3d9e59b35..d2150354fab 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -35,7 +35,7 @@ var/obj/item/organ/external/E = get_organ(organ_name) if(!E || E.is_stump()) tally += 4 - else if(E.splinted) + else if(E.splinted && E.splinted.loc != E) tally += 0.5 else if(E.status & ORGAN_BROKEN) tally += 1.5 @@ -47,7 +47,7 @@ var/obj/item/organ/external/E = get_organ(organ_name) if(!E || E.is_stump()) tally += 4 - else if(E.splinted) + else if(E.splinted && E.splinted.loc != E) tally += 0.5 else if(E.status & ORGAN_BROKEN) tally += 1.5 @@ -189,7 +189,7 @@ volume *= 0.5 else if(shoes) var/obj/item/clothing/shoes/feet = shoes - if(feet) + if(istype(feet)) volume *= feet.step_volume_mod if(!has_organ(BP_L_FOOT) && !has_organ(BP_R_FOOT)) diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 7c4e38730f6..0e1c5cfda6d 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -2,7 +2,8 @@ var/obj/item/organ/internal/eyes/eyes = internal_organs_by_name[O_EYES] if(eyes) eyes.update_colour() - regenerate_icons() + update_icons_body() //Body handles eyes + update_eyes() //For floating eyes only /mob/living/carbon/var/list/internal_organs = list() /mob/living/carbon/human/var/list/organs = list() diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 909b2776d7e..8a9db8a349d 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -74,7 +74,7 @@ src << "Not even a [src.species.name] can speak to the dead." return - log_say("[key_name(src)] communed to [key_name(M)]: [text]") + log_say("(COMMUNE to [key_name(M)]) [text]",src) M << "Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]" if(istype(M,/mob/living/carbon/human)) @@ -104,7 +104,7 @@ var/msg = sanitize(input("Message:", "Psychic Whisper") as text|null) if(msg) - log_say("PsychicWhisper: [key_name(src)]->[M.key] : [msg]") + log_say("(PWHISPER to [key_name(M)]) [msg]", src) M << "You hear a strange, alien voice in your head... [msg]" src << "You said: \"[msg]\" to [M]" return @@ -167,7 +167,7 @@ var/toxDam = getToxLoss() if(toxDam) - output += "System Instability: [toxDam > 25 ? "Severe" : "Moderate"]\n" + output += "System Instability: [toxDam > 25 ? "Severe" : "Moderate"]. Seek charging station for cleanup.\n" else output += "System Instability: OK\n" @@ -235,33 +235,47 @@ /mob/living/carbon/human/proc/regenerate() set name = "Regenerate" - set desc = "Allows you to regrow limbs and heal organs." + set desc = "Allows you to regrow limbs and heal organs after a period of rest." set category = "Abilities" if(nutrition < 250) - to_chat(src, "You lack the biomass regrow anything!") + to_chat(src, "You lack the biomass to begin regeneration!") return - nutrition -= 200 + if(active_regen) + to_chat(src, "You are already regenerating tissue!") + return + else + active_regen = TRUE + src.visible_message("[src]'s flesh begins to mend...") - for(var/obj/item/organ/I in internal_organs) - if(I.damage > 0) - I.damage = 0 - to_chat(src, "You feel a soothing sensation within your [I.name]...") + var/delay_length = round(active_regen_delay * species.active_regen_mult) + if(do_after(src,delay_length)) + nutrition -= 200 - // Replace completely missing limbs. - for(var/limb_type in src.species.has_limbs) - var/obj/item/organ/external/E = src.organs_by_name[limb_type] - if(E && E.disfigured) - E.disfigured = 0 - if(E && (E.is_stump() || (E.status & (ORGAN_DESTROYED|ORGAN_DEAD|ORGAN_MUTATED)))) - E.removed() - qdel(E) - E = null - if(!E) - var/list/organ_data = src.species.has_limbs[limb_type] - var/limb_path = organ_data["path"] - var/obj/item/organ/O = new limb_path(src) - organ_data["descriptor"] = O.name - to_chat(src, "You feel a slithering sensation as your [O.name] reform.") - update_icons_all() + for(var/obj/item/organ/I in internal_organs) + if(I.damage > 0) + I.damage = max(I.damage - 30, 0) //Repair functionally half of a dead internal organ. + to_chat(src, "You feel a soothing sensation within your [I.name]...") + + // Replace completely missing limbs. + for(var/limb_type in src.species.has_limbs) + var/obj/item/organ/external/E = src.organs_by_name[limb_type] + if(E && E.disfigured) + E.disfigured = 0 + if(E && (E.is_stump() || (E.status & (ORGAN_DESTROYED|ORGAN_DEAD|ORGAN_MUTATED)))) + E.removed() + qdel(E) + E = null + if(!E) + var/list/organ_data = src.species.has_limbs[limb_type] + var/limb_path = organ_data["path"] + var/obj/item/organ/O = new limb_path(src) + organ_data["descriptor"] = O.name + to_chat(src, "You feel a slithering sensation as your [O.name] reform.") + update_icons_body() + active_regen = FALSE + else + to_chat(src, "Your regeneration is interrupted!") + nutrition -= 75 + active_regen = FALSE diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index 8b828900d1f..e791d697497 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -12,42 +12,42 @@ /mob/living/carbon/human/skrell/New(var/new_loc) h_style = "Skrell Short Tentacles" - ..(new_loc, "Skrell") + ..(new_loc, SPECIES_SKRELL) /mob/living/carbon/human/tajaran/New(var/new_loc) h_style = "Tajaran Ears" - ..(new_loc, "Tajara") + ..(new_loc, SPECIES_TAJ) /mob/living/carbon/human/unathi/New(var/new_loc) h_style = "Unathi Horns" - ..(new_loc, "Unathi") + ..(new_loc, SPECIES_UNATHI) /mob/living/carbon/human/vox/New(var/new_loc) h_style = "Short Vox Quills" - ..(new_loc, "Vox") + ..(new_loc, SPECIES_VOX) /mob/living/carbon/human/diona/New(var/new_loc) - ..(new_loc, "Diona") + ..(new_loc, SPECIES_DIONA) /mob/living/carbon/human/teshari/New(var/new_loc) h_style = "Teshari Default" - ..(new_loc, "Teshari") + ..(new_loc, SPECIES_TESHARI) /mob/living/carbon/human/promethean/New(var/new_loc) - ..(new_loc, "Promethean") + ..(new_loc, SPECIES_PROMETHEAN) /mob/living/carbon/human/machine/New(var/new_loc) h_style = "blue IPC screen" ..(new_loc, "Machine") /mob/living/carbon/human/monkey/New(var/new_loc) - ..(new_loc, "Monkey") + ..(new_loc, SPECIES_MONKEY) /mob/living/carbon/human/farwa/New(var/new_loc) - ..(new_loc, "Farwa") + ..(new_loc, SPECIES_MONKEY_TAJ) /mob/living/carbon/human/neaera/New(var/new_loc) - ..(new_loc, "Neaera") + ..(new_loc, SPECIES_MONKEY_SKRELL) /mob/living/carbon/human/stok/New(var/new_loc) - ..(new_loc, "Stok") + ..(new_loc, SPECIES_MONKEY_UNATHI) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 187ddcac7e4..9319893175e 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -3,6 +3,9 @@ Add fingerprints to items when we put them in our hands. This saves us from having to call add_fingerprint() any time something is put in a human's hands programmatically. */ +/mob/living/carbon/human + var/list/worn_clothing = list() //Contains all CLOTHING items worn + /mob/living/carbon/human/verb/quick_equip() set name = "quick-equip" set hidden = 1 @@ -29,7 +32,6 @@ This saves us from having to call add_fingerprint() any time something is put in qdel(W) return null - /mob/living/carbon/human/proc/has_organ(name) var/obj/item/organ/external/O = organs_by_name[name] return (O && !O.is_stump()) @@ -86,6 +88,7 @@ This saves us from having to call add_fingerprint() any time something is put in if (W == wear_suit) if(s_store) drop_from_inventory(s_store) + worn_clothing -= wear_suit wear_suit = null update_inv_wear_suit() else if (W == w_uniform) @@ -96,16 +99,21 @@ This saves us from having to call add_fingerprint() any time something is put in if (wear_id) drop_from_inventory(wear_id) if (belt) + worn_clothing -= belt drop_from_inventory(belt) + worn_clothing -= w_uniform w_uniform = null update_inv_w_uniform() else if (W == gloves) + worn_clothing -= gloves gloves = null update_inv_gloves() else if (W == glasses) + worn_clothing -= glasses glasses = null update_inv_glasses() else if (W == head) + worn_clothing -= head head = null if(istype(W, /obj/item)) var/obj/item/I = W @@ -121,12 +129,15 @@ This saves us from having to call add_fingerprint() any time something is put in r_ear = null update_inv_ears() else if (W == shoes) + worn_clothing -= shoes shoes = null update_inv_shoes() else if (W == belt) + worn_clothing -= belt belt = null update_inv_belt() else if (W == wear_mask) + worn_clothing -= wear_mask wear_mask = null if(istype(W, /obj/item)) var/obj/item/I = W @@ -141,12 +152,14 @@ This saves us from having to call add_fingerprint() any time something is put in else if (W == wear_id) wear_id = null update_inv_wear_id() + BITSET(hud_updateflag, ID_HUD) + BITSET(hud_updateflag, WANTED_HUD) else if (W == r_store) r_store = null - update_inv_pockets() + //update_inv_pockets() //Doesn't do anything. else if (W == l_store) l_store = null - update_inv_pockets() + //update_inv_pockets() //Doesn't do anything. else if (W == s_store) s_store = null update_inv_s_store() @@ -164,12 +177,14 @@ This saves us from having to call add_fingerprint() any time something is put in else if (W == r_hand) r_hand = null if(l_hand) + l_hand.update_twohanding() l_hand.update_held_icon() update_inv_l_hand() update_inv_r_hand() else if (W == l_hand) l_hand = null if(r_hand) + r_hand.update_twohanding() r_hand.update_held_icon() update_inv_l_hand() update_inv_l_hand() @@ -182,49 +197,58 @@ This saves us from having to call add_fingerprint() any time something is put in //This is an UNSAFE proc. Use mob_can_equip() before calling this one! Or rather use equip_to_slot_if_possible() or advanced_equip_to_slot_if_possible() -//set redraw_mob to 0 if you don't wish the hud to be updated - if you're doing it manually in your own proc. -/mob/living/carbon/human/equip_to_slot(obj/item/W as obj, slot, redraw_mob = 1) +/mob/living/carbon/human/equip_to_slot(obj/item/W as obj, slot) + + if(!slot) + return + if(!istype(W)) + return + if(!has_organ_for_slot(slot)) + return + if(!species || !species.hud || !(slot in species.hud.equip_slots)) + return - if(!slot) return - if(!istype(W)) return - if(!has_organ_for_slot(slot)) return - if(!species || !species.hud || !(slot in species.hud.equip_slots)) return W.loc = src switch(slot) if(slot_back) src.back = W W.equipped(src, slot) - update_inv_back(redraw_mob) + worn_clothing += back + update_inv_back() if(slot_wear_mask) src.wear_mask = W if(wear_mask.flags_inv & (BLOCKHAIR|BLOCKHEADHAIR)) - update_hair(redraw_mob) //rebuild hair - update_inv_ears(0) + update_hair() //rebuild hair + update_inv_ears() W.equipped(src, slot) - update_inv_wear_mask(redraw_mob) + worn_clothing += wear_mask + update_inv_wear_mask() if(slot_handcuffed) src.handcuffed = W - update_inv_handcuffed(redraw_mob) + update_inv_handcuffed() if(slot_legcuffed) src.legcuffed = W W.equipped(src, slot) - update_inv_legcuffed(redraw_mob) + update_inv_legcuffed() if(slot_l_hand) src.l_hand = W W.equipped(src, slot) - update_inv_l_hand(redraw_mob) + update_inv_l_hand() if(slot_r_hand) src.r_hand = W W.equipped(src, slot) - update_inv_r_hand(redraw_mob) + update_inv_r_hand() if(slot_belt) src.belt = W W.equipped(src, slot) - update_inv_belt(redraw_mob) + worn_clothing += belt + update_inv_belt() if(slot_wear_id) src.wear_id = W W.equipped(src, slot) - update_inv_wear_id(redraw_mob) + update_inv_wear_id() + BITSET(hud_updateflag, ID_HUD) + BITSET(hud_updateflag, WANTED_HUD) if(slot_l_ear) src.l_ear = W if(l_ear.slot_flags & SLOT_TWOEARS) @@ -233,7 +257,7 @@ This saves us from having to call add_fingerprint() any time something is put in src.r_ear = O O.hud_layerise() W.equipped(src, slot) - update_inv_ears(redraw_mob) + update_inv_ears() if(slot_r_ear) src.r_ear = W if(r_ear.slot_flags & SLOT_TWOEARS) @@ -242,58 +266,66 @@ This saves us from having to call add_fingerprint() any time something is put in src.l_ear = O O.hud_layerise() W.equipped(src, slot) - update_inv_ears(redraw_mob) + update_inv_ears() if(slot_glasses) src.glasses = W W.equipped(src, slot) - update_inv_glasses(redraw_mob) + update_inv_glasses() if(slot_gloves) src.gloves = W W.equipped(src, slot) - update_inv_gloves(redraw_mob) + worn_clothing += glasses + update_inv_gloves() if(slot_head) src.head = W if(head.flags_inv & (BLOCKHAIR|BLOCKHEADHAIR|HIDEMASK)) - update_hair(redraw_mob) //rebuild hair + update_hair() //rebuild hair update_inv_ears(0) update_inv_wear_mask(0) if(istype(W,/obj/item/clothing/head/kitty)) W.update_icon(src) W.equipped(src, slot) - update_inv_head(redraw_mob) + worn_clothing += head + update_inv_head() if(slot_shoes) src.shoes = W W.equipped(src, slot) - update_inv_shoes(redraw_mob) + worn_clothing += shoes + update_inv_shoes() if(slot_wear_suit) src.wear_suit = W W.equipped(src, slot) - update_inv_wear_suit(redraw_mob) + worn_clothing += wear_suit + update_inv_wear_suit() if(slot_w_uniform) src.w_uniform = W W.equipped(src, slot) - update_inv_w_uniform(redraw_mob) + worn_clothing += w_uniform + update_inv_w_uniform() if(slot_l_store) src.l_store = W W.equipped(src, slot) - update_inv_pockets(redraw_mob) + //update_inv_pockets() //Doesn't do anything if(slot_r_store) src.r_store = W W.equipped(src, slot) - update_inv_pockets(redraw_mob) + //update_inv_pockets() //Doesn't do anything if(slot_s_store) src.s_store = W W.equipped(src, slot) - update_inv_s_store(redraw_mob) + update_inv_s_store() if(slot_in_backpack) if(src.get_active_hand() == W) src.remove_from_mob(W) W.loc = src.back if(slot_tie) - var/obj/item/clothing/under/uniform = src.w_uniform - uniform.attackby(W,src) + for(var/obj/item/clothing/C in worn_clothing) + if(istype(W, /obj/item/clothing/accessory)) + var/obj/item/clothing/accessory/A = W + if(C.attempt_attach_accessory(A, src)) + return else - src << "You are trying to eqip this item to an unsupported inventory slot. How the heck did you manage that? Stop it..." + src << "You are trying to equip this item to an unsupported inventory slot. How the heck did you manage that? Stop it..." return if((W == src.l_hand) && (slot != slot_l_hand)) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 130230a952f..3ce0c85ef1c 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -267,7 +267,7 @@ Weaken(3) if(!lying) emote("collapse") - if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && species.get_bodytype() == "Human") //apes go bald + if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && species.get_bodytype() == SPECIES_HUMAN) //apes go bald if((h_style != "Bald" || f_style != "Shaved" )) src << "Your hair falls out." h_style = "Bald" @@ -318,14 +318,15 @@ /mob/living/carbon/human/get_breath_from_internal(volume_needed=BREATH_VOLUME) if(internal) - + //Because rigs store their tanks out of reach of contents.Find(), a check has to be made to make + //sure the rig is still worn, still online, and that its air supply still exists. var/obj/item/weapon/tank/rig_supply if(istype(back,/obj/item/weapon/rig)) var/obj/item/weapon/rig/rig = back if(!rig.offline && (rig.air_supply && internal == rig.air_supply)) rig_supply = rig.air_supply - if (!rig_supply && (!contents.Find(internal) || !((wear_mask && (wear_mask.item_flags & AIRTIGHT)) || (head && (head.item_flags & AIRTIGHT))))) + if ((!rig_supply && !contents.Find(internal)) || !((wear_mask && (wear_mask.item_flags & AIRTIGHT)) || (head && (head.item_flags & AIRTIGHT)))) internal = null if(internal) @@ -616,11 +617,11 @@ var/temp_adj = 0 if(loc_temp < bodytemperature) //Place is colder than we are var/thermal_protection = get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(thermal_protection < 1) + if(thermal_protection < 0.99) //For some reason, < 1 returns false if the value is 1. temp_adj = (1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR) //this will be negative else if (loc_temp > bodytemperature) //Place is hotter than we are var/thermal_protection = get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(thermal_protection < 1) + if(thermal_protection < 0.99) //For some reason, < 1 returns false if the value is 1. temp_adj = (1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR) //Use heat transfer as proportional to the gas density. However, we only care about the relative density vs standard 101 kPa/20 C air. Therefore we can use mole ratios @@ -849,28 +850,6 @@ if(status_flags & GODMODE) return 0 //godmode - var/obj/item/organ/internal/diona/node/light_organ = locate() in internal_organs - - if(!isSynthetic()) - if(light_organ && !light_organ.is_broken()) - var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing - if(isturf(loc)) //else, there's considered to be no light - var/turf/T = loc - light_amount = T.get_lumcount() * 10 - nutrition += light_amount - traumatic_shock -= light_amount - - if(species.flags & IS_PLANT) - if(nutrition > 450) - nutrition = 450 - - if(light_amount >= 3) //if there's enough light, heal - adjustBruteLoss(-(round(light_amount/2))) - adjustFireLoss(-(round(light_amount/2))) - adjustToxLoss(-(light_amount)) - adjustOxyLoss(-(light_amount)) - //TODO: heal wounds, heal broken limbs. - if(species.light_dam) var/light_amount = 0 if(isturf(loc)) @@ -898,14 +877,6 @@ if(overeatduration > 1) overeatduration -= 2 //doubled the unfat rate - if(!isSynthetic() && (species.flags & IS_PLANT) && (!light_organ || light_organ.is_broken())) - if(nutrition < 200) - take_overall_damage(2,0) - - //traumatic_shock is updated every tick, incrementing that is pointless - shock_stage is the counter. - //Not that it matters much for diona, who have NO_PAIN. - shock_stage++ - // TODO: stomach and bloodstream organ. if(!isSynthetic()) handle_trace_chems() @@ -1160,7 +1131,7 @@ else sight &= ~(SEE_TURFS|SEE_MOBS|SEE_OBJS) - see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING + see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : see_invisible_default if(XRAY in mutations) sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS @@ -1172,7 +1143,7 @@ if(R && R.word1 == cultwords["see"] && R.word2 == cultwords["hell"] && R.word3 == cultwords["join"]) see_invisible = SEE_INVISIBLE_CULT else - see_invisible = SEE_INVISIBLE_LIVING + see_invisible = see_invisible_default seer = 0 if(!seedarkness) @@ -1183,7 +1154,7 @@ else sight = species.get_vision_flags(src) see_in_dark = species.darksight - see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : SEE_INVISIBLE_LIVING + see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : see_invisible_default var/tmp/glasses_processed = 0 var/obj/item/weapon/rig/rig = back @@ -1204,7 +1175,7 @@ if(!glasses_processed && (species.get_vision_flags(src) > 0)) sight |= species.get_vision_flags(src) if(!seer && !glasses_processed && seedarkness) - see_invisible = SEE_INVISIBLE_LIVING + see_invisible = see_invisible_default if(healths) if (chem_effects[CE_PAINKILLER] > 100) @@ -1384,7 +1355,7 @@ if(G.see_invisible >= 0) see_invisible = G.see_invisible else if(!druggy && !seer) - see_invisible = SEE_INVISIBLE_LIVING + see_invisible = see_invisible_default /mob/living/carbon/human/handle_random_events() if(inStasisNow()) @@ -1582,26 +1553,24 @@ we only set those statuses and icons upon changes. Then those HUD items will simply add those pre-made images. This proc below is only called when those HUD elements need to change as determined by the mobs hud_updateflag. */ - - /mob/living/carbon/human/proc/handle_hud_list() if (BITTEST(hud_updateflag, HEALTH_HUD)) - var/image/holder = hud_list[HEALTH_HUD] + var/image/holder = grab_hud(HEALTH_HUD) if(stat == DEAD) holder.icon_state = "-100" // X_X else holder.icon_state = RoundHealth((health-config.health_threshold_crit)/(getMaxHealth()-config.health_threshold_crit)*100) - hud_list[HEALTH_HUD] = holder + apply_hud(HEALTH_HUD, holder) if (BITTEST(hud_updateflag, LIFE_HUD)) - var/image/holder = hud_list[LIFE_HUD] + var/image/holder = grab_hud(LIFE_HUD) if(isSynthetic()) holder.icon_state = "hudrobo" else if(stat == DEAD) holder.icon_state = "huddead" else holder.icon_state = "hudhealthy" - hud_list[LIFE_HUD] = holder + apply_hud(LIFE_HUD, holder) if (BITTEST(hud_updateflag, STATUS_HUD)) var/foundVirus = 0 @@ -1610,8 +1579,8 @@ foundVirus = 1 break - var/image/holder = hud_list[STATUS_HUD] - var/image/holder2 = hud_list[STATUS_HUD_OOC] + var/image/holder = grab_hud(STATUS_HUD) + var/image/holder2 = grab_hud(STATUS_HUD_OOC) if (isSynthetic()) holder.icon_state = "hudrobo" else if(stat == DEAD) @@ -1633,11 +1602,11 @@ else holder2.icon_state = "hudhealthy" - hud_list[STATUS_HUD] = holder - hud_list[STATUS_HUD_OOC] = holder2 + apply_hud(STATUS_HUD, holder) + apply_hud(STATUS_HUD_OOC, holder2) if (BITTEST(hud_updateflag, ID_HUD)) - var/image/holder = hud_list[ID_HUD] + var/image/holder = grab_hud(ID_HUD) if(wear_id) var/obj/item/weapon/card/id/I = wear_id.GetID() if(I) @@ -1647,11 +1616,10 @@ else holder.icon_state = "hudunknown" - - hud_list[ID_HUD] = holder + apply_hud(ID_HUD, holder) if (BITTEST(hud_updateflag, WANTED_HUD)) - var/image/holder = hud_list[WANTED_HUD] + var/image/holder = grab_hud(WANTED_HUD) holder.icon_state = "hudblank" var/perpname = name if(wear_id) @@ -1674,15 +1642,16 @@ else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Released")) holder.icon_state = "hudreleased" break - hud_list[WANTED_HUD] = holder + + apply_hud(WANTED_HUD, holder) if ( BITTEST(hud_updateflag, IMPLOYAL_HUD) \ || BITTEST(hud_updateflag, IMPCHEM_HUD) \ || BITTEST(hud_updateflag, IMPTRACK_HUD)) - var/image/holder1 = hud_list[IMPTRACK_HUD] - var/image/holder2 = hud_list[IMPLOYAL_HUD] - var/image/holder3 = hud_list[IMPCHEM_HUD] + var/image/holder1 = grab_hud(IMPTRACK_HUD) + var/image/holder2 = grab_hud(IMPLOYAL_HUD) + var/image/holder3 = grab_hud(IMPCHEM_HUD) holder1.icon_state = "hudblank" holder2.icon_state = "hudblank" @@ -1698,21 +1667,21 @@ if(istype(I,/obj/item/weapon/implant/chem)) holder3.icon_state = "hud_imp_chem" - hud_list[IMPTRACK_HUD] = holder1 - hud_list[IMPLOYAL_HUD] = holder2 - hud_list[IMPCHEM_HUD] = holder3 + apply_hud(IMPTRACK_HUD, holder1) + apply_hud(IMPLOYAL_HUD, holder2) + apply_hud(IMPCHEM_HUD, holder3) if (BITTEST(hud_updateflag, SPECIALROLE_HUD)) - var/image/holder = hud_list[SPECIALROLE_HUD] + var/image/holder = grab_hud(SPECIALROLE_HUD) holder.icon_state = "hudblank" if(mind && mind.special_role) if(hud_icon_reference[mind.special_role]) holder.icon_state = hud_icon_reference[mind.special_role] else holder.icon_state = "hudsyndicate" - hud_list[SPECIALROLE_HUD] = holder + apply_hud(SPECIALROLE_HUD, holder) + hud_updateflag = 0 - update_icons_huds() /mob/living/carbon/human/handle_stunned() if(!can_feel_pain()) diff --git a/code/modules/mob/living/carbon/human/species/outsider/shadow.dm b/code/modules/mob/living/carbon/human/species/outsider/shadow.dm index 58a967c809e..5d81bb4c9c5 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/shadow.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/shadow.dm @@ -1,5 +1,5 @@ /datum/species/shadow - name = "Shadow" + name = SPECIES_SHADOW name_plural = "shadows" icobase = 'icons/mob/human_races/r_shadow.dmi' @@ -15,6 +15,8 @@ blood_color = "#CCCCCC" flesh_color = "#AAAAAA" + virus_immune = 1 + remains_type = /obj/effect/decal/cleanable/ash death_message = "dissolves into ash..." diff --git a/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm b/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm index d6c5d030a5e..0f8837460c2 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm @@ -1,5 +1,5 @@ /datum/species/skeleton - name = "Skeleton" + name = SPECIES_SKELETON name_plural = "Skeletons" icobase = 'icons/mob/human_races/r_skeleton.dmi' primitive_form = "Monkey" @@ -22,7 +22,7 @@ hunger_factor = 0 metabolic_rate = 0 - virus_immune = 1 + virus_immune = 1 brute_mod = 1 burn_mod = 0 diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index 6e95330bf36..9fab4751cc7 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -1,5 +1,5 @@ /datum/species/vox - name = "Vox" + name = SPECIES_VOX name_plural = "Vox" icobase = 'icons/mob/human_races/r_vox.dmi' deform = 'icons/mob/human_races/r_def_vox.dmi' @@ -83,15 +83,15 @@ var/datum/language/species_language = all_languages[default_language] return species_language.get_random_name(gender) -/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H) +/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H, var/extendedtank = 0,var/comprehensive = 0) + . = ..() + H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H), slot_r_hand) H.internal = H.back else H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_r_hand) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H.back), slot_in_backpack) H.internal = H.r_hand H.internal = locate(/obj/item/weapon/tank) in H.contents if(istype(H.internal,/obj/item/weapon/tank) && H.internals) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index f442897783f..787ec957192 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -42,6 +42,7 @@ var/blood_volume = 560 // Initial blood volume. var/bloodloss_rate = 1 // Multiplier for how fast a species bleeds out. Higher = Faster var/hunger_factor = 0.05 // Multiplier for hunger. + var/active_regen_mult = 1 // Multiplier for 'Regenerate' power speed, in human_powers.dm var/taste_sensitivity = TASTE_NORMAL // How sensitive the species is to minute tastes. @@ -163,6 +164,7 @@ var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/footprints // What marks are left when walking var/list/skin_overlays = list() var/has_floating_eyes = 0 // Whether the eyes can be shown above other icons + var/has_glowing_eyes = 0 // Whether the eyes are shown above all lighting var/water_movement = 0 // How much faster or slower the species is in water var/snow_movement = 0 // How much faster or slower the species is on snow @@ -231,20 +233,48 @@ /datum/species/proc/sanitize_name(var/name, var/robot = 0) return sanitizeName(name, MAX_NAME_LEN, robot) -/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 1) +/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 0,var/comprehensive = 0) var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box - if(H.isSynthetic()) - boxtype = /obj/item/weapon/storage/box //Empty box for synths - else if(extendedtank) - boxtype = /obj/item/weapon/storage/box/engineer //Special box for engineers + var/synth = H.isSynthetic() + + //Empty box for synths + if(synth) + boxtype = /obj/item/weapon/storage/box/survival/synth + + //Special box with extra equipment + else if(comprehensive) + boxtype = /obj/item/weapon/storage/box/survival/comp + + //Create the box + var/obj/item/weapon/storage/box/box = new boxtype(H) + + //If not synth, they get an air tank (if they breathe) + if(!synth && breath_type) + //Create a tank (if such a thing exists for this species) + var/tanktext = "/obj/item/weapon/tank/emergency/" + "[breath_type]" + var/obj/item/weapon/tank/emergency/tankpath //Will force someone to come look here if they ever alter this path. + if(extendedtank) + tankpath = text2path(tanktext + "/engi") + if(!tankpath) //Is it just that there's no /engi? + tankpath = text2path(tanktext + "/double") + + if(!tankpath) + tankpath = text2path(tanktext) + + if(tankpath) + new tankpath(box) + + //If they are synth, they get a smol battery + else if(synth) + new /obj/item/device/fbp_backup_cell(box) + + box.calibrate_size() if(H.backbag == 1) - if (extendedtank) H.equip_to_slot_or_del(new boxtype(H), slot_r_hand) - else H.equip_to_slot_or_del(new boxtype(H), slot_r_hand) + H.equip_to_slot_or_del(box, slot_r_hand) else - if (extendedtank) H.equip_to_slot_or_del(new boxtype(H.back), slot_in_backpack) - else H.equip_to_slot_or_del(new boxtype(H.back), slot_in_backpack) + H.equip_to_slot_or_del(box, slot_in_backpack) /datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs. @@ -392,3 +422,7 @@ // Used to override normal fall behaviour. Use only when the species does fall down a level. /datum/species/proc/fall_impact_special(var/mob/living/carbon/human/H, var/atom/A) return FALSE + +// Allow species to display interesting information in the human stat panels +/datum/species/proc/Stat(var/mob/living/carbon/human/H) + return diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index 15bc491a1a3..2654715f743 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -24,12 +24,13 @@ /datum/unarmed_attack/claws/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage) var/skill = user.skills["combat"] var/obj/item/organ/external/affecting = target.get_organ(zone) - + var/datum/gender/T = gender_datums[user.get_visible_gender()] + var/datum/gender/TT = gender_datums[target.get_visible_gender()] if(!skill) skill = 1 attack_damage = Clamp(attack_damage, 1, 5) if(target == user) - user.visible_message("[user] [pick(attack_verb)] \himself in the [affecting.name]!") + user.visible_message("[user] [pick(attack_verb)] [T.himself] in the [affecting.name]!") return 0 switch(zone) @@ -37,20 +38,20 @@ // ----- HEAD ----- // switch(attack_damage) if(1 to 2) - user.visible_message("[user] scratched [target] across \his cheek!") + user.visible_message("[user] scratched [target] across [TT.his] cheek!") if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")]!") //'with spread claws' sounds a little bit odd, just enough that conciseness is better here I think if(5) user.visible_message(pick( - "[user] rakes \his [pick(attack_noun)] across [target]'s face!", - "[user] tears \his [pick(attack_noun)] into [target]'s face!", + "[user] rakes [T.his] [pick(attack_noun)] across [target]'s face!", + "[user] tears [T.his] [pick(attack_noun)] into [target]'s face!", )) else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message("[user] scratched [target]'s [affecting.name]!") if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.name]!") - if(5) user.visible_message("[user] tears \his [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!") + if(5) user.visible_message("[user] tears [T.his] [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!") /datum/unarmed_attack/claws/strong attack_verb = list("slashed") diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm index 3837a3a5e67..0dd73b3f887 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm @@ -13,7 +13,7 @@ var/list/wrapped_species_by_ref = list() var/list/valid_transform_species = list() var/monochromatic - var/default_form = "Human" + var/default_form = SPECIES_HUMAN /datum/species/shapeshifter/get_valid_shapeshifter_forms(var/mob/living/carbon/human/H) return valid_transform_species @@ -183,6 +183,9 @@ var/list/wrapped_species_by_ref = list() r_skin = hex2num(copytext(new_skin, 2, 4)) g_skin = hex2num(copytext(new_skin, 4, 6)) b_skin = hex2num(copytext(new_skin, 6, 8)) + r_synth = r_skin + g_synth = g_skin + b_synth = b_skin var/datum/species/shapeshifter/S = species if(S.monochromatic) @@ -286,4 +289,36 @@ var/list/wrapped_species_by_ref = list() if(species && mind) apply_traits() - return \ No newline at end of file + return + +/mob/living/carbon/human/proc/shapeshifter_select_eye_colour() + + set name = "Select Eye Color" + set category = "Abilities" + + if(stat || world.time < last_special) + return + + last_special = world.time + 50 + + var/current_color = rgb(r_eyes,g_eyes,b_eyes) + var/new_eyes = input("Pick a new color for your eyes.","Eye Color", current_color) as null|color + if(!new_eyes) + return + + shapeshifter_set_eye_color(new_eyes) + +/mob/living/carbon/human/proc/shapeshifter_set_eye_color(var/new_eyes) + + var/list/new_color_rgb_list = hex2rgb(new_eyes) + // First, update mob vars. + r_eyes = new_color_rgb_list[1] + g_eyes = new_color_rgb_list[2] + b_eyes = new_color_rgb_list[3] + // Now sync the organ's eye_colour list, if possible + var/obj/item/organ/internal/eyes/eyes = internal_organs_by_name[O_EYES] + if(istype(eyes)) + eyes.update_colour() + + update_icons_body() + update_eyes() diff --git a/code/modules/mob/living/carbon/human/species/station/golem.dm b/code/modules/mob/living/carbon/human/species/station/golem.dm index bccafdde14e..9ec7a2b0056 100644 --- a/code/modules/mob/living/carbon/human/species/station/golem.dm +++ b/code/modules/mob/living/carbon/human/species/station/golem.dm @@ -1,5 +1,5 @@ /datum/species/golem - name = "Golem" + name = SPECIES_GOLEM name_plural = "golems" icobase = 'icons/mob/human_races/r_golem.dmi' @@ -17,6 +17,8 @@ blood_color = "#515573" flesh_color = "#137E8F" + virus_immune = 1 + has_organ = list( "brain" = /obj/item/organ/internal/brain/golem ) diff --git a/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm index d8f474d9ed4..180732b0aaa 100644 --- a/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm @@ -33,7 +33,7 @@ */ /datum/species/human/vatgrown - name = "Vatborn" + name = SPECIES_HUMAN_VATBORN name_plural = "Vatborn" blurb = "With cloning on the forefront of human scientific advancement, cheap mass production \ of bodies is a very real and rather ethically grey industry. Vat-grown or Vatborn humans tend to be \ diff --git a/code/modules/mob/living/carbon/human/species/station/monkey.dm b/code/modules/mob/living/carbon/human/species/station/monkey.dm index e70bc76f172..dcc31ab77a3 100644 --- a/code/modules/mob/living/carbon/human/species/station/monkey.dm +++ b/code/modules/mob/living/carbon/human/species/station/monkey.dm @@ -1,5 +1,5 @@ /datum/species/monkey - name = "Monkey" + name = SPECIES_MONKEY name_plural = "Monkeys" blurb = "Ook." @@ -10,7 +10,7 @@ blood_mask = 'icons/mob/human_races/masks/blood_monkey.dmi' language = null default_language = "Chimpanzee" - greater_form = "Human" + greater_form = SPECIES_HUMAN mob_size = MOB_SMALL has_fine_manipulation = 0 show_ssd = null @@ -66,26 +66,26 @@ return "[lowertext(name)] ([rand(100,999)])" /datum/species/monkey/tajaran - name = "Farwa" + name = SPECIES_MONKEY_TAJ name_plural = "Farwa" icobase = 'icons/mob/human_races/monkeys/r_farwa.dmi' deform = 'icons/mob/human_races/monkeys/r_farwa.dmi' - greater_form = "Tajaran" + greater_form = SPECIES_TAJ default_language = "Farwa" flesh_color = "#AFA59E" base_color = "#333333" tail = "farwatail" /datum/species/monkey/skrell - name = "Neaera" + name = SPECIES_MONKEY_SKRELL name_plural = "Neaera" icobase = 'icons/mob/human_races/monkeys/r_neaera.dmi' deform = 'icons/mob/human_races/monkeys/r_neaera.dmi' - greater_form = "Skrell" + greater_form = SPECIES_SKRELL default_language = "Neaera" flesh_color = "#8CD7A3" blood_color = "#1D2CBF" @@ -93,14 +93,14 @@ tail = null /datum/species/monkey/unathi - name = "Stok" + name = SPECIES_MONKEY_UNATHI name_plural = "Stok" icobase = 'icons/mob/human_races/monkeys/r_stok.dmi' deform = 'icons/mob/human_races/monkeys/r_stok.dmi' tail = "stoktail" - greater_form = "Unathi" + greater_form = SPECIES_UNATHI default_language = "Stok" flesh_color = "#34AF10" base_color = "#066000" diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index 3704b2f912e..00f7973202c 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -3,7 +3,7 @@ var/datum/species/shapeshifter/promethean/prometheans // Species definition follows. /datum/species/shapeshifter/promethean - name = "Promethean" + name = SPECIES_PROMETHEAN name_plural = "Prometheans" blurb = "What has Science done?" show_ssd = "totally quiescent" @@ -39,7 +39,7 @@ var/datum/species/shapeshifter/promethean/prometheans virus_immune = 1 blood_volume = 560 min_age = 1 - max_age = 5 + max_age = 10 brute_mod = 0.75 burn_mod = 2 oxy_mod = 0 @@ -56,7 +56,7 @@ var/datum/species/shapeshifter/promethean/prometheans body_temperature = 310.15 - siemens_coefficient = 0.3 + siemens_coefficient = 0.4 rarity_value = 5 genders = list(MALE, FEMALE, NEUTER, PLURAL) @@ -83,12 +83,13 @@ var/datum/species/shapeshifter/promethean/prometheans /mob/living/carbon/human/proc/shapeshifter_select_shape, /mob/living/carbon/human/proc/shapeshifter_select_colour, /mob/living/carbon/human/proc/shapeshifter_select_hair, + /mob/living/carbon/human/proc/shapeshifter_select_eye_colour, /mob/living/carbon/human/proc/shapeshifter_select_hair_colors, /mob/living/carbon/human/proc/shapeshifter_select_gender, /mob/living/carbon/human/proc/regenerate ) - valid_transform_species = list("Human", "Vatborn", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey") + valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_MONKEY) var/heal_rate = 0.5 // Temp. Regen per tick. @@ -149,11 +150,14 @@ var/datum/species/shapeshifter/promethean/prometheans H.nutrition += rand(15, 45) // Heal remaining damage. - if(H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss()) - H.adjustBruteLoss(-heal_rate) - H.adjustFireLoss(-heal_rate) - H.adjustOxyLoss(-heal_rate) - H.adjustToxLoss(-heal_rate) + if(H.fire_stacks >= 0) + if(H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss()) + H.adjustBruteLoss(-heal_rate) + H.adjustFireLoss(-heal_rate) + H.adjustOxyLoss(-heal_rate) + H.adjustToxLoss(-heal_rate) + else + H.adjustToxLoss(2*heal_rate) // Doubled because 0.5 is miniscule, and fire_stacks are capped in both directions /datum/species/shapeshifter/promethean/get_blood_colour(var/mob/living/carbon/human/H) return (H ? rgb(H.r_skin, H.g_skin, H.b_skin) : ..()) diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/seromi.dm index 17305be9e86..a8b39251582 100644 --- a/code/modules/mob/living/carbon/human/species/station/seromi.dm +++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm @@ -1,5 +1,5 @@ /datum/species/teshari - name = "Teshari" + name = SPECIES_TESHARI name_plural = "Tesharii" blurb = "A race of feathered raptors who developed alongside the Skrell, inhabiting \ the polar tundral regions outside of Skrell territory. Extremely fragile, they developed \ diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index a133b82495a..f1911b29df5 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -1,7 +1,7 @@ /datum/species/human - name = "Human" + name = SPECIES_HUMAN name_plural = "Humans" - primitive_form = "Monkey" + primitive_form = SPECIES_MONKEY unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite) blurb = "Humanity originated in the Sol system, and over the last five centuries has spread \ colonies across a wide swathe of space. They hold a wide range of forms and creeds.

    \ @@ -10,27 +10,27 @@ worlds tumultous at best." num_alternate_languages = 3 species_language = LANGUAGE_SOL_COMMON - secondary_langs = list(LANGUAGE_SOL_COMMON) + secondary_langs = list(LANGUAGE_SOL_COMMON, LANGUAGE_TERMINUS) name_language = null // Use the first-name last-name generator rather than a language scrambler min_age = 17 - max_age = 110 + max_age = 130 health_hud_intensity = 1.5 spawn_flags = SPECIES_CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR /datum/species/human/get_bodytype(var/mob/living/carbon/human/H) - return "Human" + return SPECIES_HUMAN /datum/species/unathi - name = "Unathi" + name = SPECIES_UNATHI name_plural = "Unathi" icobase = 'icons/mob/human_races/r_lizard.dmi' deform = 'icons/mob/human_races/r_def_lizard.dmi' tail = "sogtail" tail_animation = 'icons/mob/species/unathi/tail.dmi' unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) - primitive_form = "Stok" + primitive_form = SPECIES_MONKEY_UNATHI darksight = 3 ambiguous_genders = TRUE gluttonous = 1 @@ -132,7 +132,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes) /datum/species/tajaran - name = "Tajara" + name = SPECIES_TAJ name_plural = "Tajaran" icobase = 'icons/mob/human_races/r_tajaran.dmi' deform = 'icons/mob/human_races/r_def_tajaran.dmi' @@ -148,7 +148,7 @@ metabolic_rate = 1.1 gluttonous = 1 num_alternate_languages = 3 - secondary_langs = list(LANGUAGE_SIIK) + secondary_langs = list(LANGUAGE_SIIK, LANGUAGE_AKHANI) name_language = LANGUAGE_SIIK species_language = LANGUAGE_SIIK health_hud_intensity = 2.5 @@ -180,7 +180,7 @@ breath_heat_level_2 = 430 //Default 450 breath_heat_level_3 = 1000 //Default 1250 - primitive_form = "Farwa" + primitive_form = SPECIES_MONKEY_TAJ spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR @@ -215,11 +215,11 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes) /datum/species/skrell - name = "Skrell" + name = SPECIES_SKRELL name_plural = "Skrell" icobase = 'icons/mob/human_races/r_skrell.dmi' deform = 'icons/mob/human_races/r_def_skrell.dmi' - primitive_form = "Neaera" + primitive_form = SPECIES_MONKEY_SKRELL unarmed_types = list(/datum/unarmed_attack/punch) blurb = "An amphibious species, Skrell come from the star system known as Qerr'Vallis, which translates to 'Star of \ the royals' or 'Light of the Crown'.

    Skrell are a highly advanced and logical race who live under the rule \ @@ -288,7 +288,7 @@ return TRUE /datum/species/diona - name = "Diona" + name = SPECIES_DIONA name_plural = "Dionaea" icobase = 'icons/mob/human_races/r_diona.dmi' deform = 'icons/mob/human_races/r_def_plant.dmi' @@ -405,3 +405,33 @@ qdel(D) H.visible_message("\The [H] splits apart with a wet slithering noise!") + +/datum/species/diona/handle_environment_special(var/mob/living/carbon/human/H) + if(H.inStasisNow()) + return + + var/obj/item/organ/internal/diona/node/light_organ = locate() in H.internal_organs + + if(light_organ && !light_organ.is_broken()) + var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing + if(isturf(H.loc)) //else, there's considered to be no light + var/turf/T = H.loc + light_amount = T.get_lumcount() * 10 + H.nutrition += light_amount + H.shock_stage -= light_amount + + if(H.nutrition > 450) + H.nutrition = 450 + if(light_amount >= 3) //if there's enough light, heal + H.adjustBruteLoss(-(round(light_amount/2))) + H.adjustFireLoss(-(round(light_amount/2))) + H.adjustToxLoss(-(light_amount)) + H.adjustOxyLoss(-(light_amount)) + //TODO: heal wounds, heal broken limbs. + + else if(H.nutrition < 200) + H.take_overall_damage(2,0) + + //traumatic_shock is updated every tick, incrementing that is pointless - shock_stage is the counter. + //Not that it matters much for diona, who have NO_PAIN. + H.shock_stage++ diff --git a/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm b/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm index 43182ac386f..0b9c5490eb9 100644 --- a/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm +++ b/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm @@ -5,7 +5,7 @@ // Species definition follows. /datum/species/shapeshifter/promethean/avatar - name = "Virtual Reality Avatar" + name = SPECIES_VR name_plural = "Virtual Reality Avatars" blurb = "A 3-dimensional representation of some sort of animate object used to display the presence and actions of some-one or -thing using a virtual reality program." show_ssd = "eerily still" @@ -57,7 +57,7 @@ shapeshifter_change_species("Virtual Reality [src.species.get_bodytype(src)]") else icon_state = "promethean" - shapeshifter_change_species("Virtual Reality Avatar") + shapeshifter_change_species(SPECIES_VR) // enter_vr is called on the original mob, and puts the mind into the supplied vr mob diff --git a/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm b/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm index e8ae58f6176..a2ecc2bf23d 100644 --- a/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm +++ b/code/modules/mob/living/carbon/human/species/virtual_reality/opaque_form.dm @@ -42,7 +42,7 @@ ) /datum/species/shapeshifter/promethean/avatar/tajaran - name = "Virtual Reality Tajara" + name = "Virtual Reality Tajaran" icobase = 'icons/mob/human_races/r_tajaran.dmi' deform = 'icons/mob/human_races/r_def_tajaran.dmi' tail = "tajtail" diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index 90c00d89638..0c8ca611fea 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -2,7 +2,7 @@ for(var/mob/living/carbon/human/Q in living_mob_list) if(self && ignore_self && self == Q) continue - if(Q.species.name != "Xenomorph Queen") + if(Q.species.name != SPECIES_XENO_QUEEN) continue if(!Q.key || !Q.client || Q.stat) continue diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index aed54a6b9c6..d851c40255f 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -1,6 +1,6 @@ //Stand-in until this is made more lore-friendly. /datum/species/xenos - name = "Xenomorph" + name = SPECIES_XENO name_plural = "Xenomorphs" default_language = "Xenomorph" @@ -38,6 +38,8 @@ speech_sounds = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') speech_chance = 100 + virus_immune = 1 + breath_type = null poison_type = null @@ -75,7 +77,7 @@ ) /datum/species/xenos/get_bodytype() - return "Xenomorph" + return SPECIES_XENO /datum/species/xenos/get_random_name() return "alien [caste_name] ([alien_number])" @@ -162,7 +164,7 @@ */ /datum/species/xenos/drone - name = "Xenomorph Drone" + name = SPECIES_XENO_DRONE caste_name = "drone" weeds_plasma_rate = 15 slowdown = 1 @@ -200,7 +202,7 @@ ..() /datum/species/xenos/hunter - name = "Xenomorph Hunter" + name = SPECIES_XENO_HUNTER weeds_plasma_rate = 5 caste_name = "hunter" slowdown = -2 @@ -228,7 +230,7 @@ ) /datum/species/xenos/sentinel - name = "Xenomorph Sentinel" + name = SPECIES_XENO_SENTINEL weeds_plasma_rate = 10 caste_name = "sentinel" slowdown = 0 @@ -259,7 +261,7 @@ /datum/species/xenos/queen - name = "Xenomorph Queen" + name = SPECIES_XENO_QUEEN total_health = 250 weeds_heal_rate = 5 weeds_plasma_rate = 20 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm index 61a8fe00ae3..50f4ce9cc51 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/xenomorphs.dm @@ -10,22 +10,22 @@ proc/create_new_xenomorph(var/alien_caste,var/target) /mob/living/carbon/human/xdrone/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, "Xenomorph Drone") + ..(new_loc, SPECIES_XENO_DRONE) /mob/living/carbon/human/xsentinel/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, "Xenomorph Sentinel") + ..(new_loc, SPECIES_XENO_SENTINEL) /mob/living/carbon/human/xhunter/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, "Xenomorph Hunter") + ..(new_loc, SPECIES_XENO_HUNTER) /mob/living/carbon/human/xqueen/New(var/new_loc) h_style = "Bald" faction = "xeno" - ..(new_loc, "Xenomorph Queen") + ..(new_loc, SPECIES_XENO_QUEEN) // I feel like we should generalize/condense down all the various icon-rendering antag procs. /*---------------------------------------- diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index d67eaf76a99..82ca1921816 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -48,8 +48,7 @@ if(istype(A, /obj/item/clothing/accessory/badge) || istype(A, /obj/item/clothing/accessory/medal)) user.visible_message("\The [user] tears off \the [A] from [src]'s [suit.name]!") - attack_log += "\[[time_stamp()]\] Has had \the [A] removed by [user.name] ([user.ckey])" - user.attack_log += "\[[time_stamp()]\] Attempted to remove [name]'s ([ckey]) [A.name]" + add_attack_logs(user,src,"Stripped [A.name] off [suit.name]") A.on_removed(user) suit.accessories -= A update_inv_w_uniform() @@ -81,7 +80,7 @@ return if(stripping) - admin_attack_log(user, src, "Attempted to remove \a [target_slot]", "Target of an attempt to remove \a [target_slot].", "attempted to remove \a [target_slot] from") + add_attack_logs(user,src,"Removed equipment from slot [target_slot]") unEquip(target_slot) else if(user.unEquip(held)) equip_to_slot_if_possible(held, text2num(slot_to_strip), 0, 1, 1) @@ -108,8 +107,7 @@ if (suit.has_sensor >= 2) user << "\The [src]'s suit sensor controls are locked." return - attack_log += text("\[[time_stamp()]\] Has had their sensors toggled by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Attempted to toggle [name]'s ([ckey]) sensors") + add_attack_logs(user,src,"Adjusted suit sensor level") suit.set_sensors(user) // Remove all splints. diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index 2de060887f0..a7f80fb8f1d 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -11,7 +11,7 @@ var/global/list/sparring_attack_cache = list() var/sharp = 0 var/edge = 0 - var/deal_halloss + var/damage_type = BRUTE var/sparring_variant_type = /datum/unarmed_attack/light_strike var/eye_attack_text @@ -44,6 +44,7 @@ var/global/list/sparring_attack_cache = list() /datum/unarmed_attack/proc/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone) var/stun_chance = rand(0, 100) + var/datum/gender/TT = gender_datums[target.get_visible_gender()] if(attack_damage >= 5 && armour < 2 && !(target == user) && stun_chance <= attack_damage * 5) // 25% standard chance switch(zone) // strong punches can have effects depending on where they hit @@ -74,7 +75,7 @@ var/global/list/sparring_attack_cache = list() target.set_dir(reverse_dir[target.dir]) target.apply_effect(attack_damage * 0.4, WEAKEN, armour) if(BP_GROIN) - target.visible_message("[target] looks like \he is in pain!", "[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your[pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]") + target.visible_message("[target] looks like [TT.he] [TT.is] in pain!", "[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your[pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]") // I see no easy way to fix this for non-organic or neuter characters. target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour) if("l_leg", "l_foot", "r_leg", "r_foot") if(!target.lying) @@ -94,13 +95,15 @@ var/global/list/sparring_attack_cache = list() /datum/unarmed_attack/proc/handle_eye_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target) var/obj/item/organ/internal/eyes/eyes = target.internal_organs_by_name[O_EYES] + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + var/datum/gender/TT = gender_datums[target.get_visible_gender()] if(eyes) eyes.take_damage(rand(3,4), 1) - user.visible_message("[user] presses \his [eye_attack_text] into [target]'s [eyes.name]!") + user.visible_message("[user] presses [TU.his] [eye_attack_text] into [target]'s [eyes.name]!") var/eye_pain = eyes.organ_can_feel_pain() target << "You experience[(eye_pain) ? "" : " immense pain as you feel" ] [eye_attack_text_victim] being pressed into your [eyes.name][(eye_pain)? "." : "!"]" return - user.visible_message("[user] attempts to press \his [eye_attack_text] into [target]'s eyes, but they don't have any!") + user.visible_message("[user] attempts to press [TU.his] [eye_attack_text] into [target]'s eyes, but [TT.he] [TT.does]n't have any!") /datum/unarmed_attack/bite attack_verb = list("bit") @@ -129,10 +132,13 @@ var/global/list/sparring_attack_cache = list() var/obj/item/organ/external/affecting = target.get_organ(zone) var/organ = affecting.name + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + var/datum/gender/TT = gender_datums[target.get_visible_gender()] + attack_damage = Clamp(attack_damage, 1, 5) // We expect damage input of 1 to 5 for this proc. But we leave this check juuust in case. if(target == user) - user.visible_message("[user] [pick(attack_verb)] \himself in the [organ]!") + user.visible_message("[user] [pick(attack_verb)] [TU.himself] in the [organ]!") return 0 if(!target.lying) @@ -141,7 +147,7 @@ var/global/list/sparring_attack_cache = list() // ----- HEAD ----- // switch(attack_damage) if(1 to 2) - user.visible_message("[user] slapped [target] across \his cheek!") + user.visible_message("[user] slapped [target] across [TT.his] cheek!") if(3 to 4) user.visible_message(pick( 40; "[user] [pick(attack_verb)] [target] in the head!", @@ -151,21 +157,21 @@ var/global/list/sparring_attack_cache = list() if(5) user.visible_message(pick( 30; "[user] gave [target] a resounding [pick("slap", "punch")] to the face!", - 40; "[user] smashed \his [pick(attack_noun)] into [target]'s face!", + 40; "[user] smashed [TU.his] [pick(attack_noun)] into [target]'s face!", 30; "[user] gave a strong blow against [target]'s jaw!" )) else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message("[user] threw a glancing punch at [target]'s [organ]!") - if(1 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!") + if(1 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in [TT.his] [organ]!") if(5) user.visible_message(pick( - 50; "[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!", + 50; "[user] smashed [TU.his] [pick(attack_noun)] into [target]'s [organ]!", 50; "[user] landed a striking [pick(attack_noun)] on [target]'s [organ]!" )) else - user.visible_message("[user] [pick("punched", "threw a punch against", "struck", "slammed their [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets? + user.visible_message("[user] [pick("punched", "threw a punch against", "struck", "slammed [TU.his] [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets? /datum/unarmed_attack/kick attack_verb = list("kicked", "kicked", "kicked", "kneed") @@ -198,13 +204,14 @@ var/global/list/sparring_attack_cache = list() /datum/unarmed_attack/kick/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage) var/obj/item/organ/external/affecting = target.get_organ(zone) + var/datum/gender/TT = gender_datums[target.get_visible_gender()] var/organ = affecting.name attack_damage = Clamp(attack_damage, 1, 5) switch(attack_damage) if(1 to 2) user.visible_message("[user] threw [target] a glancing [pick(attack_noun)] to the [organ]!") //it's not that they're kicking lightly, it's that the kick didn't quite connect - if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!") + if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in [TT.his] [organ]!") if(5) user.visible_message("[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!") /datum/unarmed_attack/stomp @@ -242,18 +249,19 @@ var/global/list/sparring_attack_cache = list() var/obj/item/organ/external/affecting = target.get_organ(zone) var/organ = affecting.name var/obj/item/clothing/shoes = user.shoes + var/datum/gender/TU = gender_datums[user.get_visible_gender()] attack_damage = Clamp(attack_damage, 1, 5) switch(attack_damage) - if(1 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") - if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ + if(1 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") + if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ /datum/unarmed_attack/light_strike - deal_halloss = 3 attack_noun = list("tap","light strike") attack_verb = list("tapped", "lightly struck") - damage = 2 + damage = 3 + damage_type = AGONY shredding = 0 damage = 0 sharp = 0 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index db3bde87578..44ba97d0d73 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -1,149 +1,99 @@ /* Global associative list for caching humanoid icons. Index format m or f, followed by a string of 0 and 1 to represent bodyparts followed by husk fat hulk skeleton 1 or 0. - TODO: Proper documentation - icon_key is [species.race_key][g][husk][fat][hulk][skeleton][s_tone] */ -var/global/list/human_icon_cache = list() +var/global/list/human_icon_cache = list() //key is incredibly complex, see update_icons_body() var/global/list/tail_icon_cache = list() //key is [species.race_key][r_skin][g_skin][b_skin] -var/global/list/light_overlay_cache = list() +var/global/list/light_overlay_cache = list() //see make_worn_icon() on helmets +var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() - /////////////////////// - //UPDATE_ICONS SYSTEM// - /////////////////////// -/* -Calling this a system is perhaps a bit trumped up. It is essentially update_clothing dismantled into its -core parts. The key difference is that when we generate overlays we do not generate either lying or standing -versions. Instead, we generate both and store them in two fixed-length lists, both using the same list-index -(The indexes are in update_icons.dm): Each list for humans is (at the time of writing) of length 19. -This will hopefully be reduced as the system is refined. +//////////////////////////////////////////////////////////////////////////////////////////////// +// # Human Icon Updating System +// +// This system takes care of the "icon" for human mobs. Of course humans don't just have a single +// icon+icon_state, but a combination of dozens of little sprites including including the body, +// clothing, equipment, in-universe HUD images, etc. +// +// # Basic Operation +// Whenever you do something that should update the on-mob appearance of a worn or held item, You +// will need to call the relevant update_inv_* proc. All of these are named after the variable they +// update from. They are defined at the /mob level so you don't even need to cast to carbon/human. +// +// The new system leverages SSoverlays to actually add/remove the overlays from mob.overlays +// Since SSoverlays already manages batching updates to reduce apperance churn etc, we don't need +// to worry about that. (In short, you can call add/cut overlay as many times as you want, it will +// only get assigned to the mob once per tick.) +// As a corrolary, this means users of this system do NOT need to tell the system when you're done +// making changes. +// +// There are also these special cases: +// update_icons_body() //Handles updating your mob's icon to reflect their gender/race/complexion etc +// UpdateDamageIcon() //Handles damage overlays for brute/burn damage //(will rename this when I geta round to it) ~Carn +// update_skin() //Handles updating skin for species that have a skin overlay. +// update_bloodied() //Handles adding/clearing the blood overlays for hands & feet. Call when bloodied or cleaned. +// update_underwear() //Handles updating the sprite for underwear. +// update_hair() //Handles updating your hair and eyes overlay +// update_mutations() //Handles updating your appearance for certain mutations. e.g TK head-glows +// update_fire() //Handles overlay from being on fire. +// update_water() //Handles overlay from being submerged. +// update_surgery() //Handles overlays from open external organs. +// +// # History (i.e. I'm used to the old way, what is different?) +// You used to have to call update_icons(FALSE) if you planned to make more changes, and call update_icons(TRUE) +// on the final update. All that is gone, just call update_inv_whatever() and it handles the rest. +// +//////////////////////////////////////////////////////////////////////////////////////////////// - var/overlays_lying[19] //For the lying down stance - var/overlays_standing[19] //For the standing stance +//Add an entry to overlays, assuming it exists +/mob/living/carbon/human/proc/apply_layer(cache_index) + if((. = overlays_standing[cache_index])) + add_overlay(.) -When we call update_icons, the 'lying' variable is checked and then the appropriate list is assigned to our overlays! -That in itself uses a tiny bit more memory (no more than all the ridiculous lists the game has already mind you). - -On the other-hand, it should be very CPU cheap in comparison to the old system. -In the old system, we updated all our overlays every life() call, even if we were standing still inside a crate! -or dead!. 25ish overlays, all generated from scratch every second for every xeno/human/monkey and then applied. -More often than not update_clothing was being called a few times in addition to that! CPU was not the only issue, -all those icons had to be sent to every client. So really the cost was extremely cumulative. To the point where -update_clothing would frequently appear in the top 10 most CPU intensive procs during profiling. - -Another feature of this new system is that our lists are indexed. This means we can update specific overlays! -So we only regenerate icons when we need them to be updated! This is the main saving for this system. - -In practice this means that: - everytime you fall over, we just switch between precompiled lists. Which is fast and cheap. - Everytime you do something minor like take a pen out of your pocket, we only update the in-hand overlay - etc... - - -There are several things that need to be remembered: - -> Whenever we do something that should cause an overlay to update (which doesn't use standard procs - ( i.e. you do something like l_hand = /obj/item/something new(src) ) - You will need to call the relevant update_inv_* proc: - update_inv_head() - update_inv_wear_suit() - update_inv_gloves() - update_inv_shoes() - update_inv_w_uniform() - update_inv_glasse() - update_inv_l_hand() - update_inv_r_hand() - update_inv_belt() - update_inv_wear_id() - update_inv_ears() - update_inv_s_store() - update_inv_pockets() - update_inv_back() - update_inv_handcuffed() - update_inv_wear_mask() - - All of these are named after the variable they update from. They are defined at the mob/ level like - update_clothing was, so you won't cause undefined proc runtimes with usr.update_inv_wear_id() if the usr is a - slime etc. Instead, it'll just return without doing any work. So no harm in calling it for slimes and such. - - -> There are also these special cases: - update_mutations() //handles updating your appearance for certain mutations. e.g TK head-glows - UpdateDamageIcon() //handles damage overlays for brute/burn damage //(will rename this when I geta round to it) - update_icons_body() //Handles updating your mob's icon to reflect their gender/race/complexion etc - update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and - ...eyes were merged into update_body) - update_targeted() // Updates the target overlay when someone points a gun at you - -> All of these procs update our overlays_lying and overlays_standing, and then call update_icons() by default. - If you wish to update several overlays at once, you can set the argument to 0 to disable the update and call - it manually: - e.g. - update_inv_head(0) - update_inv_l_hand(0) - update_inv_r_hand() //<---calls update_icons() - - or equivillantly: - update_inv_head(0) - update_inv_l_hand(0) - update_inv_r_hand(0) - update_icons() - -> If you need to update all overlays you can use regenerate_icons(). it works exactly like update_clothing used to. - -> I reimplimented an old unused variable which was in the code called (coincidentally) var/update_icon - It can be used as another method of triggering regenerate_icons(). It's basically a flag that when set to non-zero - will call regenerate_icons() at the next life() call and then reset itself to 0. - The idea behind it is icons are regenerated only once, even if multiple events requested it. - -This system is confusing and is still a WIP. It's primary goal is speeding up the controls of the game whilst -reducing processing costs. So please bear with me while I iron out the kinks. It will be worth it, I promise. -If I can eventually free var/lying stuff from the life() process altogether, stuns/death/status stuff -will become less affected by lag-spikes and will be instantaneous! :3 - -If you have any questions/constructive-comments/bugs-to-report/or have a massivly devestated butt... -Please contact me on #coderbus IRC. ~Carn x -*/ +//Remove an entry from overlays, and from the list +/mob/living/carbon/human/proc/remove_layer(cache_index) + var/I = overlays_standing[cache_index] + if(I) + cut_overlay(I) + overlays_standing[cache_index] = null +// These are used as the layers for the icons, as well as indexes in a list that holds onto them. +// Technically the layers used are all -100+layer to make them FLOAT_LAYER overlays. //Human Overlays Indexes///////// -#define MUTATIONS_LAYER 1 -#define SKIN_LAYER 2 -#define DAMAGE_LAYER 3 -#define SURGERY_LEVEL 4 //bs12 specific. -#define UNDERWEAR_LAYER 5 -#define SHOES_LAYER_ALT 6 -#define UNIFORM_LAYER 7 -#define ID_LAYER 8 -#define SHOES_LAYER 9 -#define GLOVES_LAYER 10 -#define BELT_LAYER 11 -#define SUIT_LAYER 12 -#define TAIL_LAYER 13 //bs12 specific. //In a perfect world the parts of the tail that show between legs would be on a new layer. Until then, sprite's been tweaked -#define GLASSES_LAYER 14 -#define BELT_LAYER_ALT 15 -#define SUIT_STORE_LAYER 16 -#define BACK_LAYER 17 -#define HAIR_LAYER 18 //TODO: make part of head layer? -#define EARS_LAYER 19 -#define FACEMASK_LAYER 20 -#define HEAD_LAYER 21 -#define COLLAR_LAYER 22 -#define HANDCUFF_LAYER 23 -#define LEGCUFF_LAYER 24 -#define L_HAND_LAYER 25 -#define R_HAND_LAYER 26 -#define MODIFIER_EFFECTS_LAYER 27 -#define FIRE_LAYER 28 //If you're on fire -#define WATER_LAYER 29 //If you're submerged in water. -#define TARGETED_LAYER 30 //BS12: Layer for the target overlay from weapon targeting system -#define TOTAL_LAYERS 30 +#define MUTATIONS_LAYER 1 //Mutations like fat, and lasereyes +#define SKIN_LAYER 2 //Skin things added by a call on species +#define BLOOD_LAYER 3 //Bloodied hands/feet/anything else +#define DAMAGE_LAYER 4 //Injury overlay sprites like open wounds +#define SURGERY_LAYER 5 //Overlays for open surgical sites +#define UNDERWEAR_LAYER 6 //Underwear/bras/etc +#define SHOES_LAYER_ALT 7 //Shoe-slot item (when set to be under uniform via verb) +#define UNIFORM_LAYER 8 //Uniform-slot item +#define ID_LAYER 9 //ID-slot item +#define SHOES_LAYER 10 //Shoe-slot item +#define GLOVES_LAYER 11 //Glove-slot item +#define BELT_LAYER 12 //Belt-slot item +#define SUIT_LAYER 13 //Suit-slot item +#define TAIL_LAYER 14 //Some species have tails to render +#define GLASSES_LAYER 15 //Eye-slot item +#define BELT_LAYER_ALT 16 //Belt-slot item (when set to be above suit via verb) +#define SUIT_STORE_LAYER 17 //Suit storage-slot item +#define BACK_LAYER 18 //Back-slot item +#define HAIR_LAYER 19 //The human's hair +#define EARS_LAYER 20 //Both ear-slot items (combined image) +#define EYES_LAYER 21 //Mob's eyes (used for glowing eyes) +#define FACEMASK_LAYER 22 //Mask-slot item +#define HEAD_LAYER 23 //Head-slot item +#define HANDCUFF_LAYER 24 //Handcuffs, if the human is handcuffed, in a secret inv slot +#define LEGCUFF_LAYER 25 //Same as handcuffs, for legcuffs +#define L_HAND_LAYER 26 //Left-hand item +#define R_HAND_LAYER 27 //Right-hand item +#define MODIFIER_EFFECTS_LAYER 28 //Effects drawn by modifiers +#define FIRE_LAYER 29 //'Mob on fire' overlay layer +#define WATER_LAYER 30 //'Mob submerged' overlay layer +#define TARGETED_LAYER 31 //'Aimed at' overlay layer +#define TOTAL_LAYERS 31//<---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. ////////////////////////////////// /mob/living/carbon/human - var/list/list_huds = list() - var/list/list_body = list() - var/list/list_layers = list() - var/list/overlays_standing[TOTAL_LAYERS] var/previous_damage_appearance // store what the body last looked like, so we only have to update it if something changed @@ -153,40 +103,23 @@ Please contact me on #coderbus IRC. ~Carn x if(QDESTROYING(src)) return - lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again + crash_with("CANARY: Old human update_icons was called.") + update_hud() //TODO: remove the need for this - //0: We start with their existing appearance (this contains their verbs, important to keep those!) - var/mutable_appearance/ma_compiled = new(src) + //Do any species specific layering updates, such as when hiding. + update_icon_special() - //1: HUDs because these are hidden behind a backplane. See update_icons_huds() - ma_compiled.overlays = list_huds //The first one can set instead of add +/mob/living/carbon/human/update_icons_layers() + crash_with("CANARY: Old human update_icons_layers was called.") - //2: The body itself, all the organs and whatnot - ma_compiled.overlays += list_body +/mob/living/carbon/human/update_icons_all() + crash_with("CANARY: Old human update_icons_all was called.") - //3: The 'layers' list (overlays_standing), from the defines above - ma_compiled.overlays += list_layers - - //4: Apply transforms based on situation - update_transform(ma_compiled, FALSE) - - //4.5 Set layer to PLANE_WORLD to make sure its not magically FLOAT_PLANE due to byond madness - ma_compiled.plane = PLANE_WORLD - - //5: Set appearance once - appearance = ma_compiled - -/mob/living/carbon/human/update_transform(var/mutable_appearance/passed_ma) - if(QDESTROYING(src)) - return - - var/mutable_appearance/ma - if(passed_ma) - ma = passed_ma - else - ma = new(src) +/mob/living/carbon/human/update_icons_huds() + crash_with("CANARY: Old human update_icons_huds was called.") +/mob/living/carbon/human/update_transform() // First, get the correct size. var/desired_scale = icon_scale @@ -197,77 +130,34 @@ Please contact me on #coderbus IRC. ~Carn x desired_scale *= M.icon_scale_percent // Regular stuff again. + var/matrix/M = matrix() + var/anim_time = 3 + + //Due to some involuntary means, you're laying now + if(lying && !resting && !sleeping) + anim_time = 1 //Thud + if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone. - var/matrix/M = matrix() M.Turn(90) M.Scale(desired_scale) M.Translate(1,-6) - ma.transform = M - ma.layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters + layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters else - var/matrix/M = matrix() M.Scale(desired_scale) M.Translate(0, 16*(desired_scale-1)) - ma.transform = M - ma.layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters + layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters - if(!passed_ma) - appearance = ma + animate(src, transform = M, time = anim_time) + update_icon_special() //May contain transform-altering things -//Update the layers from the defines above -/mob/living/carbon/human/update_icons_layers(var/update_icons = 1) - if(QDESTROYING(src)) - return - - list_layers.Cut() - - for(var/entry in overlays_standing) - if(istype(entry, /image)) - list_layers += entry - else if(istype(entry, /list)) //Is this necessary? What adds a list to this? - for(var/inner_entry in entry) - list_layers += inner_entry - - if(species && species.has_floating_eyes) - list_layers += species.get_eyes(src) - - if(update_icons) - update_icons() - -//HUD Icons (ingame huds, not the user interface) -//Update things like med/sec hud icons -/mob/living/carbon/human/update_icons_huds(var/update_icons = 1) - if(QDESTROYING(src)) - return - - list_huds.Cut() - - if(has_huds) - list_huds = hud_list.Copy() - list_huds += backplane // Required to mask HUDs in context menus: http://www.byond.com/forum/?post=2336679 - - if(update_icons) - update_icons() - -//A full, crunchy reprocess of all three cached lists -/mob/living/carbon/human/update_icons_all(var/update_icons = 1) - if(QDESTROYING(src)) - return - - update_icons_huds(FALSE) - update_icons_body(FALSE) - update_icons_layers(FALSE) - - if(update_icons) - update_icons() - -var/global/list/damage_icon_parts = list() //DAMAGE OVERLAYS //constructs damage icon for each organ from mask * damage field and saves it in our overlays_ lists -/mob/living/carbon/human/UpdateDamageIcon(var/update_icons=1) +/mob/living/carbon/human/UpdateDamageIcon() if(QDESTROYING(src)) return + remove_layer(DAMAGE_LAYER) + // first check whether something actually changed about damage appearance var/damage_appearance = "" @@ -282,9 +172,7 @@ var/global/list/damage_icon_parts = list() previous_damage_appearance = damage_appearance - var/icon/standing = new /icon(species.damage_overlays, "00") - - var/image/standing_image = new /image("icon" = standing) + var/image/standing_image = image(icon = species.damage_overlays, icon_state = "00", layer = BODY_LAYER+DAMAGE_LAYER) // blend the individual damage states with our icons for(var/obj/item/organ/external/O in organs) @@ -296,8 +184,8 @@ var/global/list/damage_icon_parts = list() var/icon/DI var/cache_index = "[O.damage_state]/[O.icon_name]/[species.get_blood_colour(src)]/[species.get_bodytype(src)]" if(damage_icon_parts[cache_index] == null) - DI = new /icon(species.get_damage_overlays(src), O.damage_state) // the damage icon for whole human - DI.Blend(new /icon(species.get_damage_mask(src), O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels + DI = icon(species.get_damage_overlays(src), O.damage_state) // the damage icon for whole human + DI.Blend(icon(species.get_damage_mask(src), O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels DI.Blend(species.get_blood_colour(src), ICON_MULTIPLY) damage_icon_parts[cache_index] = DI else @@ -306,12 +194,10 @@ var/global/list/damage_icon_parts = list() standing_image.overlays += DI overlays_standing[DAMAGE_LAYER] = standing_image - - if(update_icons) - update_icons_layers() + apply_layer(DAMAGE_LAYER) //BASE MOB SPRITE -/mob/living/carbon/human/update_icons_body(var/update_icons=1) +/mob/living/carbon/human/update_icons_body() if(QDESTROYING(src)) return @@ -323,17 +209,14 @@ var/global/list/damage_icon_parts = list() var/hulk = (HULK in src.mutations) var/skeleton = (SKELETON in src.mutations) - robolimb_count = 0 + robolimb_count = 0 //TODO, here, really tho? robobody_count = 0 //CACHING: Generate an index key from visible bodyparts. //0 = destroyed, 1 = normal, 2 = robotic, 3 = necrotic. //Create a new, blank icon for our mob to use. - var/icon/stand_icon = new(species.icon_template ? species.icon_template : 'icons/mob/human.dmi',"blank") - - //Clean old list_body - list_body.Cut() + var/icon/stand_icon = new(species.icon_template ? species.icon_template : 'icons/mob/human.dmi', icon_state = "blank") var/g = "male" if(gender == FEMALE) @@ -348,7 +231,7 @@ var/global/list/damage_icon_parts = list() if(eyes) icon_key += "[rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3])]" else - icon_key += "#000000" + icon_key += "[r_eyes], [g_eyes], [b_eyes]" for(var/organ_tag in species.has_limbs) var/obj/item/organ/external/part = organs_by_name[organ_tag] @@ -433,27 +316,55 @@ var/global/list/damage_icon_parts = list() //END CACHED ICON GENERATION. stand_icon.Blend(base_icon,ICON_OVERLAY) - list_body += stand_icon //A little silly, almost pointless to use a list for this, but can come back later and make this proc itself better - - if(update_icons) - update_icons() + icon = stand_icon //tail - update_tail_showing(0) + update_tail_showing() -/mob/living/carbon/human/proc/update_skin(var/update_icons=1) +/mob/living/carbon/human/proc/update_skin() if(QDESTROYING(src)) return - overlays_standing[SKIN_LAYER] = species.update_skin(src) - if(update_icons) update_icons_layers() + remove_layer(SKIN_LAYER) + + var/image/skin = species.update_skin(src) + if(skin) + skin.layer = BODY_LAYER+SKIN_LAYER + overlays_standing[SKIN_LAYER] = skin + apply_layer(SKIN_LAYER) + +/mob/living/carbon/human/proc/update_bloodied() + if(QDESTROYING(src)) + return + + remove_layer(BLOOD_LAYER) + if(!blood_DNA && !feet_blood_DNA) + return + + var/image/both = image(icon = 'icons/effects/effects.dmi', icon_state = "nothing", layer = BODY_LAYER+BLOOD_LAYER) + + //Bloody hands + if(blood_DNA) + var/image/bloodsies = image(icon = species.get_blood_mask(src), icon_state = "bloodyhands", layer = BODY_LAYER+BLOOD_LAYER) + bloodsies.color = hand_blood_color + both.add_overlay(bloodsies) + + //Bloody feet + if(feet_blood_DNA) + var/image/bloodsies = image(icon = species.get_blood_mask(src), icon_state = "shoeblood", layer = BODY_LAYER+BLOOD_LAYER) + bloodsies.color = feet_blood_color + both.add_overlay(bloodsies) + + overlays_standing[BLOOD_LAYER] = both + + apply_layer(BLOOD_LAYER) //UNDERWEAR OVERLAY -/mob/living/carbon/human/proc/update_underwear(var/update_icons=1) +/mob/living/carbon/human/proc/update_underwear() if(QDESTROYING(src)) return - overlays_standing[UNDERWEAR_LAYER] = null + remove_layer(UNDERWEAR_LAYER) if(species.appearance_flags & HAS_UNDERWEAR) overlays_standing[UNDERWEAR_LAYER] = list() @@ -461,30 +372,30 @@ var/global/list/damage_icon_parts = list() if(hide_underwear[category]) continue var/datum/category_item/underwear/UWI = all_underwear[category] - overlays_standing[UNDERWEAR_LAYER] += UWI.generate_image(all_underwear_metadata[category]) + var/image/wear = UWI.generate_image(all_underwear_metadata[category], layer = BODY_LAYER+UNDERWEAR_LAYER) + overlays_standing[UNDERWEAR_LAYER] += wear - if(update_icons) update_icons_layers() + apply_layer(UNDERWEAR_LAYER) //HAIR OVERLAY -/mob/living/carbon/human/proc/update_hair(var/update_icons=1) +/mob/living/carbon/human/proc/update_hair() if(QDESTROYING(src)) return //Reset our hair - overlays_standing[HAIR_LAYER] = null + remove_layer(HAIR_LAYER) + update_eyes() //Pirated out of here, for glowing eyes. var/obj/item/organ/external/head/head_organ = get_organ(BP_HEAD) if(!head_organ || head_organ.is_stump() ) - if(update_icons) update_icons_layers() return //masks and helmets can obscure our hair. if( (head && (head.flags_inv & BLOCKHAIR)) || (wear_mask && (wear_mask.flags_inv & BLOCKHAIR))) - if(update_icons) update_icons_layers() return //base icons - var/icon/face_standing = new /icon('icons/mob/human_face.dmi',"bald_s") + var/icon/face_standing = icon(icon = 'icons/mob/human_face.dmi', icon_state = "bald_s") if(f_style) var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style] @@ -509,643 +420,331 @@ var/global/list/damage_icon_parts = list() if(head_organ.nonsolid) face_standing += rgb(,,,120) - overlays_standing[HAIR_LAYER] = image(face_standing) + overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER) + apply_layer(HAIR_LAYER) - if(update_icons) update_icons_layers() - -/mob/living/carbon/human/update_mutations(var/update_icons=1) +/mob/living/carbon/human/update_eyes() if(QDESTROYING(src)) return + //Reset our eyes + remove_layer(EYES_LAYER) + + //TODO: Probably redo this. I know I wrote it, but... + + //This is ONLY for glowing eyes for now. Boring flat eyes are done by the head's own proc. + if(!species.has_glowing_eyes) + return + + //Our glowy eyes should be hidden if some equipment hides them. + if(!should_have_organ(O_EYES) || (head && (head.flags_inv & BLOCKHAIR)) || (wear_mask && (wear_mask.flags_inv & BLOCKHAIR))) + return + + //Get the head, we'll need it later. + var/obj/item/organ/external/head/head_organ = get_organ(BP_HEAD) + if(!head_organ || head_organ.is_stump() ) + return + + //The eyes store the color themselves, funny enough. + var/obj/item/organ/internal/eyes/eyes = internal_organs_by_name[O_EYES] + if(!head_organ.eye_icon) + return + + var/icon/eyes_icon = new/icon(head_organ.eye_icon_location, head_organ.eye_icon) + if(eyes) + eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD) + else + eyes_icon.Blend(rgb(128,0,0), ICON_ADD) + + var/image/eyes_image = image(eyes_icon) + eyes_image.plane = PLANE_LIGHTING_ABOVE + + overlays_standing[EYES_LAYER] = eyes_image + apply_layer(EYES_LAYER) + +/mob/living/carbon/human/update_mutations() + if(QDESTROYING(src)) + return + + remove_layer(MUTATIONS_LAYER) + + if(!LAZYLEN(mutations)) + return //No mutations, no icons. + + //TODO: THIS PROC??? var/fat if(FAT in mutations) fat = "fat" - var/image/standing = image("icon" = 'icons/effects/genetics.dmi') - var/add_image = 0 - var/g = "m" - if(gender == FEMALE) g = "f" - // DNA2 - Drawing underlays. + var/image/standing = image(icon = 'icons/effects/genetics.dmi', layer = BODY_LAYER+MUTATIONS_LAYER) + var/g = gender == FEMALE ? "f" : "m" + for(var/datum/dna/gene/gene in dna_genes) if(!gene.block) continue if(gene.is_active(src)) - var/underlay=gene.OnDrawUnderlays(src,g,fat) + var/underlay = gene.OnDrawUnderlays(src,g,fat) if(underlay) standing.underlays += underlay - add_image = 1 + for(var/mut in mutations) - switch(mut) - /* - if(HULK) - if(fat) - standing.underlays += "hulk_[fat]_s" - else - standing.underlays += "hulk_[g]_s" - add_image = 1 - if(COLD_RESISTANCE) - standing.underlays += "fire[fat]_s" - add_image = 1 - if(TK) - standing.underlays += "telekinesishead[fat]_s" - add_image = 1 - */ - if(LASER) - standing.overlays += "lasereyes_s" - add_image = 1 - if(add_image) - overlays_standing[MUTATIONS_LAYER] = standing - else - overlays_standing[MUTATIONS_LAYER] = null - if(update_icons) update_icons_layers() + if(LASER) + standing.overlays += "lasereyes_s" //TODO + + overlays_standing[MUTATIONS_LAYER] = standing + apply_layer(MUTATIONS_LAYER) /* --------------------------------------- */ -//For legacy support. +//Recomputes every icon on the mob. Expensive. +//Useful if the species changed, or there's some +//other drastic body-shape change, but otherwise avoid. /mob/living/carbon/human/regenerate_icons() ..() - if(transforming || QDELETED(src)) return + if(transforming || QDELETED(src)) + return - update_mutations(0) - update_skin(0) - update_icons_body(0) - update_underwear(0) - update_hair(0) - update_inv_w_uniform(0) - update_inv_wear_id(0) - update_inv_gloves(0) - update_inv_glasses(0) - update_inv_ears(0) - update_inv_shoes(0) - update_inv_s_store(0) - update_inv_wear_mask(0) - update_inv_head(0) - update_inv_belt(0) - update_inv_back(0) - update_inv_wear_suit(0) - update_inv_r_hand(0) - update_inv_l_hand(0) - update_inv_handcuffed(0) - update_inv_legcuffed(0) - update_inv_pockets(0) - update_fire(0) - update_water(0) - update_surgery(0) + update_icons_body() UpdateDamageIcon() - update_icons_layers(0) - update_icons_huds(0) - update_icons() - //Hud Stuff - update_hud() + update_mutations() + update_skin() + update_underwear() + update_hair() + update_inv_w_uniform() + update_inv_wear_id() + update_inv_gloves() + update_inv_glasses() + update_inv_ears() + update_inv_shoes() + update_inv_s_store() + update_inv_wear_mask() + update_inv_head() + update_inv_belt() + update_inv_back() + update_inv_wear_suit() + update_inv_r_hand() + update_inv_l_hand() + update_inv_handcuffed() + update_inv_legcuffed() + //update_inv_pockets() //Doesn't do anything + update_fire() + update_water() + update_surgery() /* --------------------------------------- */ //vvvvvv UPDATE_INV PROCS vvvvvv -/mob/living/carbon/human/update_inv_w_uniform(var/update_icons=1) +/mob/living/carbon/human/update_inv_w_uniform() if(QDESTROYING(src)) return - if( (w_uniform && istype(w_uniform, /obj/item/clothing/under)) && !(wear_suit && istype(wear_suit, /obj/item/clothing/suit/space) && wear_suit.flags_inv & HIDEJUMPSUIT && !istype(wear_suit, /obj/item/clothing/suit/space/rig) )) - w_uniform.screen_loc = ui_iclothing + remove_layer(UNIFORM_LAYER) - //determine the icon to use - var/icon/under_icon - if(w_uniform.icon_override) - under_icon = w_uniform.icon_override - else if(w_uniform.sprite_sheets && w_uniform.sprite_sheets[species.get_bodytype(src)]) - under_icon = w_uniform.sprite_sheets[species.get_bodytype(src)] - else if(w_uniform.item_icons && w_uniform.item_icons[slot_w_uniform_str]) - under_icon = w_uniform.item_icons[slot_w_uniform_str] - else - under_icon = INV_W_UNIFORM_DEF_ICON + //Shoes can be affected by uniform being drawn onto them + update_inv_shoes() - //determine state to use - var/under_state - if(w_uniform.item_state_slots && w_uniform.item_state_slots[slot_w_uniform_str]) - under_state = w_uniform.item_state_slots[slot_w_uniform_str] - else if(w_uniform.item_state) - under_state = w_uniform.item_state - else - under_state = w_uniform.icon_state + if(!w_uniform) + return - //need to append _s to the icon state for legacy compatibility - var/image/standing = image(icon = under_icon, icon_state = "[under_state]_s") + if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space/rig)) + return //Wearing a suit that prevents uniform rendering - if(w_uniform.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = w_uniform.addblends) - if(w_uniform.color) - base.Blend(w_uniform.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = w_uniform.color + //Build a uniform sprite + overlays_standing[UNIFORM_LAYER] = w_uniform.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_w_uniform_str, default_icon = INV_W_UNIFORM_DEF_ICON, default_layer = UNIFORM_LAYER) + apply_layer(UNIFORM_LAYER) - //apply blood overlay - if(w_uniform.blood_DNA) - var/image/bloodsies = image(icon = species.get_blood_mask(src), icon_state = "uniformblood") - bloodsies.color = w_uniform.blood_color - standing.overlays += bloodsies - - //accessories - var/obj/item/clothing/under/under = w_uniform - if(under.accessories.len) - for(var/obj/item/clothing/accessory/A in under.accessories) - standing.overlays |= A.get_mob_overlay() - - overlays_standing[UNIFORM_LAYER] = standing - else - overlays_standing[UNIFORM_LAYER] = null - - //hiding/revealing shoes if necessary - update_inv_shoes(1) - - if(update_icons) - update_icons_layers() - -/mob/living/carbon/human/update_inv_wear_id(var/update_icons=1) +/mob/living/carbon/human/update_inv_wear_id() if(QDESTROYING(src)) return - if(wear_id) - wear_id.screen_loc = ui_id //TODO - if(w_uniform && w_uniform:displays_id) - var/image/standing - if(wear_id.icon_override) - standing = image("icon" = wear_id.icon_override, "icon_state" = "[icon_state]") - else if(wear_id.sprite_sheets && wear_id.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = wear_id.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[icon_state]") - else - standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id") - overlays_standing[ID_LAYER] = standing - else - overlays_standing[ID_LAYER] = null - else - overlays_standing[ID_LAYER] = null + remove_layer(ID_LAYER) - BITSET(hud_updateflag, ID_HUD) - BITSET(hud_updateflag, WANTED_HUD) + if(!wear_id) + return //Not wearing an ID - if(update_icons) update_icons_layers() + //Only draw the ID on the mob if the uniform allows for it + if(w_uniform && istype(w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/U = w_uniform + if(U.displays_id) + overlays_standing[ID_LAYER] = wear_id.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_wear_id_str, default_icon = INV_WEAR_ID_DEF_ICON, default_layer = ID_LAYER) -/mob/living/carbon/human/update_inv_gloves(var/update_icons=1) + apply_layer(ID_LAYER) + +/mob/living/carbon/human/update_inv_gloves() if(QDESTROYING(src)) return - if(gloves) - var/t_state = gloves.item_state - if(!t_state) t_state = gloves.icon_state + remove_layer(GLOVES_LAYER) - var/image/standing - if(gloves.icon_override) - standing = image("icon" = gloves.icon_override, "icon_state" = "[t_state]") - else if(gloves.sprite_sheets && gloves.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = gloves.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_state]") - else - standing = image("icon" = 'icons/mob/hands.dmi', "icon_state" = "[t_state]") + if(!gloves) + return //No gloves, no reason to be here. - if(gloves.blood_DNA) - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "bloodyhands") - bloodsies.color = gloves.blood_color - standing.overlays += bloodsies - gloves.screen_loc = ui_gloves - if(gloves.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = gloves.addblends) - if(gloves.color) - base.Blend(gloves.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = gloves.color - overlays_standing[GLOVES_LAYER] = standing - else - if(blood_DNA) - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "bloodyhands") - bloodsies.color = hand_blood_color - overlays_standing[GLOVES_LAYER] = bloodsies - else - overlays_standing[GLOVES_LAYER] = null - if(update_icons) update_icons_layers() + overlays_standing[GLOVES_LAYER] = gloves.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_gloves_str, default_icon = INV_GLOVES_DEF_ICON, default_layer = GLOVES_LAYER) + apply_layer(GLOVES_LAYER) -/mob/living/carbon/human/update_inv_glasses(var/update_icons=1) +/mob/living/carbon/human/update_inv_glasses() if(QDESTROYING(src)) return - if(glasses) - var/image/standing - if(glasses.icon_override) - standing = image("icon" = glasses.icon_override, "icon_state" = "[glasses.icon_state]") - else if(glasses.sprite_sheets && glasses.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = glasses.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[glasses.icon_state]") - else - standing = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]") - if(glasses.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = glasses.addblends) - if(glasses.color) - base.Blend(glasses.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = glasses.color - overlays_standing[GLASSES_LAYER] = standing + remove_layer(GLASSES_LAYER) - else - overlays_standing[GLASSES_LAYER] = null - if(update_icons) update_icons_layers() + if(!glasses) + return //Not wearing glasses, no need to update anything. -/mob/living/carbon/human/update_inv_ears(var/update_icons=1) + overlays_standing[GLASSES_LAYER] = glasses.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_gloves_str, default_icon = INV_EYES_DEF_ICON, default_layer = GLASSES_LAYER) + + apply_layer(GLASSES_LAYER) + +/mob/living/carbon/human/update_inv_ears() if(QDESTROYING(src)) return - overlays_standing[EARS_LAYER] = null - if( (head && (head.flags_inv & (BLOCKHAIR | BLOCKHEADHAIR))) || (wear_mask && (wear_mask.flags_inv & (BLOCKHAIR | BLOCKHEADHAIR)))) - if(update_icons) update_icons_layers() - return + remove_layer(EARS_LAYER) - if(l_ear || r_ear) - // Blank image upon which to layer left & right overlays. - var/image/both = image("icon" = 'icons/effects/effects.dmi', "icon_state" = "nothing") + if((head && head.flags_inv & (BLOCKHAIR | BLOCKHEADHAIR)) || (wear_mask && wear_mask.flags_inv & (BLOCKHAIR | BLOCKHEADHAIR))) + return //Ears are blocked (by hair being blocked, overloaded) - if(l_ear) - var/image/standing - var/t_type = l_ear.icon_state - if(l_ear.icon_override) - t_type = "[t_type]_l" - standing = image("icon" = l_ear.icon_override, "icon_state" = "[t_type]") - else if(l_ear.sprite_sheets && l_ear.sprite_sheets[species.get_bodytype(src)]) - t_type = "[t_type]_l" - standing = image("icon" = l_ear.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_type]") - else - standing = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") - if(l_ear.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = l_ear.addblends) - if(l_ear.color) - base.Blend(l_ear.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = l_ear.color - both.overlays += standing + if(!l_ear && !r_ear) + return //Why bother, if no ear sprites - if(r_ear) - var/image/standing - var/t_type = r_ear.icon_state - if(r_ear.icon_override) - t_type = "[t_type]_r" - standing = image("icon" = r_ear.icon_override, "icon_state" = "[t_type]") - else if(r_ear.sprite_sheets && r_ear.sprite_sheets[species.get_bodytype(src)]) - t_type = "[t_type]_r" - standing = image("icon" = r_ear.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_type]") - else - standing = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") - if(r_ear.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = r_ear.addblends) - if(r_ear.color) - base.Blend(r_ear.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = r_ear.color - both.overlays += standing + // Blank image upon which to layer left & right overlays. + var/image/both = image(icon = 'icons/effects/effects.dmi', icon_state = "nothing", layer = BODY_LAYER+EARS_LAYER) - overlays_standing[EARS_LAYER] = both + if(l_ear) + var/image/standing = l_ear.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_l_ear_str, default_icon = INV_EARS_DEF_ICON, default_layer = EARS_LAYER) + both.add_overlay(standing) - else - overlays_standing[EARS_LAYER] = null - if(update_icons) update_icons_layers() + if(r_ear) + var/image/standing = r_ear.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_r_ear_str, default_icon = INV_EARS_DEF_ICON, default_layer = EARS_LAYER) + both.add_overlay(standing) -/mob/living/carbon/human/update_inv_shoes(var/update_icons=1) + overlays_standing[EARS_LAYER] = both + apply_layer(EARS_LAYER) + +/mob/living/carbon/human/update_inv_shoes() if(QDESTROYING(src)) return - if(shoes && !((wear_suit && wear_suit.flags_inv & HIDESHOES) || (w_uniform && w_uniform.flags_inv & HIDESHOES))) + remove_layer(SHOES_LAYER) + remove_layer(SHOES_LAYER_ALT) //Dumb alternate layer for shoes being under the uniform. - var/image/standing - if(shoes.icon_override) - standing = image("icon" = shoes.icon_override, "icon_state" = "[shoes.icon_state]") - else if(shoes.sprite_sheets && shoes.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = shoes.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[shoes.icon_state]") - else - standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]") + if(!shoes || (wear_suit && wear_suit.flags_inv & HIDESHOES) || (w_uniform && w_uniform.flags_inv & HIDESHOES)) + return //Either nothing to draw, or it'd be hidden. - var/shoe_layer = SHOES_LAYER - if(istype(shoes, /obj/item/clothing/shoes)) - var/obj/item/clothing/shoes/ushoes = shoes - if(ushoes.shoes_under_pants == 1) - overlays_standing[SHOES_LAYER] = null - shoe_layer = SHOES_LAYER_ALT - else - overlays_standing[SHOES_LAYER_ALT] = null - shoe_layer = SHOES_LAYER + //Allow for shoe layer toggle nonsense + var/shoe_layer = SHOES_LAYER + if(istype(shoes, /obj/item/clothing/shoes)) + var/obj/item/clothing/shoes/ushoes = shoes + if(ushoes.shoes_under_pants == 1) + shoe_layer = SHOES_LAYER_ALT - if(shoes.blood_DNA) - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "shoeblood") - bloodsies.color = shoes.blood_color - standing.overlays += bloodsies + //NB: the use of a var for the layer on this one + overlays_standing[shoe_layer] = shoes.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_shoes_str, default_icon = INV_FEET_DEF_ICON, default_layer = shoe_layer) - if(shoes.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = shoes.addblends) - if(shoes.color) - base.Blend(shoes.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = shoes.color - overlays_standing[shoe_layer] = standing + apply_layer(SHOES_LAYER) + apply_layer(SHOES_LAYER_ALT) - else - if(feet_blood_DNA) - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "shoeblood") - bloodsies.color = feet_blood_color - overlays_standing[SHOES_LAYER] = bloodsies - else - overlays_standing[SHOES_LAYER] = null - overlays_standing[SHOES_LAYER_ALT] = null - if(update_icons) update_icons() - -/mob/living/carbon/human/update_inv_s_store(var/update_icons=1) +/mob/living/carbon/human/update_inv_s_store() if(QDESTROYING(src)) return - if(s_store) - var/t_state = s_store.item_state - if(!t_state) t_state = s_store.icon_state - overlays_standing[SUIT_STORE_LAYER] = image("icon" = species.suit_storage_icon, "icon_state" = "[t_state]") - s_store.screen_loc = ui_sstore1 //TODO - else - overlays_standing[SUIT_STORE_LAYER] = null - if(update_icons) update_icons_layers() + remove_layer(SUIT_STORE_LAYER) + if(!s_store) + return //Why bother, nothing there. -/mob/living/carbon/human/update_inv_head(var/update_icons=1) + //TODO, this is unlike the rest of the things + //Basically has no variety in slot icon choices at all. WHY SPECIES ONLY?? + var/t_state = s_store.item_state + if(!t_state) + t_state = s_store.icon_state + overlays_standing[SUIT_STORE_LAYER] = image(icon = species.suit_storage_icon, icon_state = t_state, layer = BODY_LAYER+SUIT_STORE_LAYER) + + apply_layer(SUIT_STORE_LAYER) + +/mob/living/carbon/human/update_inv_head() if(QDESTROYING(src)) return - if(head) - head.screen_loc = ui_head //TODO + remove_layer(HEAD_LAYER) - //Determine the icon to use - var/t_icon - if(head.icon_override) - t_icon = head.icon_override - else if(head.sprite_sheets && head.sprite_sheets[species.get_bodytype(src)]) - t_icon = head.sprite_sheets[species.get_bodytype(src)] + if(!head) + return //No head item, why bother. - else if(head.item_icons && (slot_head_str in head.item_icons)) - t_icon = head.item_icons[slot_head_str] - else - t_icon = INV_HEAD_DEF_ICON + overlays_standing[HEAD_LAYER] = head.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_head_str, default_icon = INV_HEAD_DEF_ICON, default_layer = HEAD_LAYER) - //Determine the state to use - var/t_state - if(istype(head, /obj/item/weapon/paper)) - /* I don't like this, but bandaid to fix half the hats in the game - being completely broken without re-breaking paper hats */ - t_state = "paper" - else - if(head.item_state_slots && head.item_state_slots[slot_head_str]) - t_state = head.item_state_slots[slot_head_str] - else if(head.item_state) - t_state = head.item_state - else - t_state = head.icon_state + apply_layer(HEAD_LAYER) - //Create the image - var/image/standing = image(icon = t_icon, icon_state = t_state) - - if(head.blood_DNA) - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "helmetblood") - bloodsies.color = head.blood_color - standing.overlays += bloodsies - - if(istype(head,/obj/item/clothing/head)) - var/obj/item/clothing/head/hat = head - var/cache_key = "[hat.light_overlay]_[species.get_bodytype(src)]" - if(hat.on && light_overlay_cache[cache_key]) - standing.overlays |= light_overlay_cache[cache_key] - - if(head.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = head.addblends) - if(head.color) - base.Blend(head.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = head.color - overlays_standing[HEAD_LAYER] = standing - - else - overlays_standing[HEAD_LAYER] = null - if(update_icons) update_icons_layers() - -/mob/living/carbon/human/update_inv_belt(var/update_icons=1) +/mob/living/carbon/human/update_inv_belt() if(QDESTROYING(src)) return - if(belt) - belt.screen_loc = ui_belt //TODO - var/t_state = belt.item_state - if(!t_state) t_state = belt.icon_state - var/image/standing = image("icon_state" = "[t_state]") + remove_layer(BELT_LAYER) + remove_layer(BELT_LAYER_ALT) //Because you can toggle belt layer with a verb - if(belt.icon_override) - standing.icon = belt.icon_override - else if(belt.sprite_sheets && belt.sprite_sheets[species.get_bodytype(src)]) - standing.icon = belt.sprite_sheets[species.get_bodytype(src)] - else - standing.icon = 'icons/mob/belt.dmi' + if(!belt) + return //No belt, why bother. - var/belt_layer = BELT_LAYER - if(istype(belt, /obj/item/weapon/storage/belt)) - var/obj/item/weapon/storage/belt/ubelt = belt - if(ubelt.show_above_suit) - overlays_standing[BELT_LAYER] = null - belt_layer = BELT_LAYER_ALT - else - overlays_standing[BELT_LAYER_ALT] = null - if(belt.contents.len) - for(var/obj/item/i in belt.contents) - var/i_state = i.item_state - if(!i_state) i_state = i.icon_state - standing.overlays += image("icon" = 'icons/mob/belt.dmi', "icon_state" = "[i_state]") + //Toggle for belt layering with uniform + var/belt_layer = BELT_LAYER + if(istype(belt, /obj/item/weapon/storage/belt)) + var/obj/item/weapon/storage/belt/ubelt = belt + if(ubelt.show_above_suit) + belt_layer = BELT_LAYER_ALT - if(belt.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = belt.addblends) - if(belt.color) - base.Blend(belt.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = belt.color + //NB: this uses a var from above + overlays_standing[belt_layer] = belt.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_belt_str, default_icon = INV_BELT_DEF_ICON, default_layer = belt_layer) - overlays_standing[belt_layer] = standing - else - overlays_standing[BELT_LAYER] = null - overlays_standing[BELT_LAYER_ALT] = null - if(update_icons) update_icons_layers() + apply_layer(belt_layer) - -/mob/living/carbon/human/update_inv_wear_suit(var/update_icons=1) +/mob/living/carbon/human/update_inv_wear_suit() if(QDESTROYING(src)) return - if( wear_suit && istype(wear_suit, /obj/item/) ) - wear_suit.screen_loc = ui_oclothing - - var/image/standing - - var/t_icon = INV_SUIT_DEF_ICON - if(wear_suit.icon_override) - t_icon = wear_suit.icon_override - else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.get_bodytype(src)]) - t_icon = wear_suit.sprite_sheets[species.name] - else if(wear_suit.item_icons && wear_suit.item_icons[slot_wear_suit_str]) - t_icon = wear_suit.item_icons[slot_wear_suit_str] - - standing = image("icon" = t_icon, "icon_state" = "[wear_suit.icon_state]") - - if(wear_suit.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = wear_suit.addblends) - if(wear_suit.color) - base.Blend(wear_suit.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = wear_suit.color - - if( istype(wear_suit, /obj/item/clothing/suit/straight_jacket) ) - drop_from_inventory(handcuffed) - drop_l_hand() - drop_r_hand() - - if(wear_suit.blood_DNA) - var/obj/item/clothing/suit/S = wear_suit - if(istype(S)) //You can put non-suits in your suit slot (diona nymphs etc). - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "[S.blood_overlay_type]blood") - bloodsies.color = wear_suit.blood_color - standing.overlays += bloodsies - - // Accessories - copied from uniform, BOILERPLATE because fuck this system. - var/obj/item/clothing/suit/suit = wear_suit - if(istype(suit) && suit.accessories.len) - for(var/obj/item/clothing/accessory/A in suit.accessories) - standing.overlays |= A.get_mob_overlay() - - overlays_standing[SUIT_LAYER] = standing - - else - overlays_standing[SUIT_LAYER] = null + remove_layer(SUIT_LAYER) //Hide/show other layers if necessary - update_collar(0) - update_inv_w_uniform(0) - update_inv_shoes(0) - update_tail_showing(0) + update_inv_w_uniform() + update_inv_shoes() + update_tail_showing() - if(update_icons) update_icons_layers() + if(!wear_suit) + return //No point, no suit. -/mob/living/carbon/human/update_inv_pockets(var/update_icons=1) + overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_wear_suit_str, default_icon = INV_SUIT_DEF_ICON, default_layer = SUIT_LAYER) + + apply_layer(SUIT_LAYER) + +/mob/living/carbon/human/update_inv_pockets() + crash_with("Someone called update_inv_pockets even though it's dumb") + +/mob/living/carbon/human/update_inv_wear_mask() if(QDESTROYING(src)) return - if(l_store) l_store.screen_loc = ui_storage1 //TODO - if(r_store) r_store.screen_loc = ui_storage2 //TODO - if(update_icons) update_icons_layers() + remove_layer(FACEMASK_LAYER) + if(!wear_mask || (head && head.flags_inv & HIDEMASK)) + return //Why bother, nothing in mask slot. -/mob/living/carbon/human/update_inv_wear_mask(var/update_icons=1) + overlays_standing[FACEMASK_LAYER] = wear_mask.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_wear_mask_str, default_icon = INV_MASK_DEF_ICON, default_layer = FACEMASK_LAYER) + + apply_layer(FACEMASK_LAYER) + +/mob/living/carbon/human/update_inv_back() if(QDESTROYING(src)) return - if( wear_mask && ( istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/accessory) || istype(wear_mask, /obj/item/weapon/grenade) ) && !(head && head.flags_inv & HIDEMASK)) - wear_mask.screen_loc = ui_mask //TODO + remove_layer(BACK_LAYER) - var/image/standing - if(wear_mask.icon_override) - standing = image("icon" = wear_mask.icon_override, "icon_state" = "[wear_mask.icon_state]") - else if(wear_mask.sprite_sheets && wear_mask.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = wear_mask.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[wear_mask.icon_state]") - else - standing = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]") - if(wear_mask.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = wear_mask.addblends) - if(wear_mask.color) - base.Blend(wear_mask.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = wear_mask.color + if(!back) + return //Why do anything - if( !istype(wear_mask, /obj/item/clothing/mask/smokable/cigarette) && wear_mask.blood_DNA ) - var/image/bloodsies = image("icon" = species.get_blood_mask(src), "icon_state" = "maskblood") - bloodsies.color = wear_mask.blood_color - standing.overlays += bloodsies - overlays_standing[FACEMASK_LAYER] = standing - else - overlays_standing[FACEMASK_LAYER] = null - if(update_icons) update_icons_layers() + overlays_standing[BACK_LAYER] = back.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_back_str, default_icon = INV_BACK_DEF_ICON, default_layer = BACK_LAYER) + apply_layer(BACK_LAYER) -/mob/living/carbon/human/update_inv_back(var/update_icons=1) - if(QDESTROYING(src)) - return - - if(back) - back.screen_loc = ui_back //TODO - - //determine the icon to use - var/icon/overlay_icon - if(back.icon_override) - overlay_icon = back.icon_override - else if(istype(back, /obj/item/weapon/rig)) - //If this is a rig and a mob_icon is set, it will take species into account in the rig update_icon() proc. - var/obj/item/weapon/rig/rig = back - overlay_icon = rig.mob_icon - else if(back.sprite_sheets && back.sprite_sheets[species.get_bodytype(src)]) - overlay_icon = back.sprite_sheets[species.get_bodytype(src)] - else if(back.item_icons && (slot_back_str in back.item_icons)) - overlay_icon = back.item_icons[slot_back_str] - else - overlay_icon = INV_BACK_DEF_ICON - - //determine state to use - var/overlay_state - if(back.item_state_slots && back.item_state_slots[slot_back_str]) - overlay_state = back.item_state_slots[slot_back_str] - else if(back.item_state) - overlay_state = back.item_state - else - overlay_state = back.icon_state - - //apply color - var/image/standing = image(icon = overlay_icon, icon_state = overlay_state) - if(back.addblends) - var/icon/base = new/icon("icon" = standing.icon, "icon_state" = standing.icon_state) - var/addblend_icon = new/icon("icon" = standing.icon, "icon_state" = back.addblends) - if(back.color) - base.Blend(back.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - standing = image(base) - else - standing.color = back.color - - //create the image - overlays_standing[BACK_LAYER] = standing - else - overlays_standing[BACK_LAYER] = null - - if(update_icons) - update_icons_layers() - +//TODO: Carbon procs in my human update_icons?? /mob/living/carbon/human/update_hud() //TODO: do away with this if possible if(QDESTROYING(src)) return @@ -1157,152 +756,80 @@ var/global/list/damage_icon_parts = list() //update whether handcuffs appears on our hud. /mob/living/carbon/proc/update_hud_handcuffed() + if(QDESTROYING(src)) + return + if(hud_used && hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) hud_used.l_hand_hud_object.update_icon() hud_used.r_hand_hud_object.update_icon() -/mob/living/carbon/human/update_inv_handcuffed(var/update_icons=1) +/mob/living/carbon/human/update_inv_handcuffed() if(QDESTROYING(src)) return - if(handcuffed) - drop_r_hand() - drop_l_hand() - stop_pulling() //TODO: should be handled elsewhere + remove_layer(HANDCUFF_LAYER) + update_hud_handcuffed() //TODO - var/image/standing - if(handcuffed.icon_override) - standing = image("icon" = handcuffed.icon_override, "icon_state" = "handcuff1") - else if(handcuffed.sprite_sheets && handcuffed.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = handcuffed.sprite_sheets[species.get_bodytype(src)], "icon_state" = "handcuff1") - else - standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "handcuff1") - overlays_standing[HANDCUFF_LAYER] = standing + if(!handcuffed) + return //Not cuffed, why bother - else - overlays_standing[HANDCUFF_LAYER] = null + overlays_standing[HANDCUFF_LAYER] = handcuffed.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_handcuffed_str, default_icon = INV_HCUFF_DEF_ICON, default_layer = HANDCUFF_LAYER) - update_hud_handcuffed() - if(update_icons) update_icons_layers() + apply_layer(HANDCUFF_LAYER) -/mob/living/carbon/human/update_inv_legcuffed(var/update_icons=1) +/mob/living/carbon/human/update_inv_legcuffed() if(QDESTROYING(src)) return - if(legcuffed) + remove_layer(LEGCUFF_LAYER) - var/image/standing - if(legcuffed.icon_override) - standing = image("icon" = legcuffed.icon_override, "icon_state" = "legcuff1") - else if(legcuffed.sprite_sheets && legcuffed.sprite_sheets[species.get_bodytype(src)]) - standing = image("icon" = legcuffed.sprite_sheets[species.get_bodytype(src)], "icon_state" = "legcuff1") - else - standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "legcuff1") - overlays_standing[LEGCUFF_LAYER] = standing + if(!legcuffed) + return //Not legcuffed, why bother. - if(src.m_intent != "walk") - src.m_intent = "walk" - if(src.hud_used && src.hud_used.move_intent) - src.hud_used.move_intent.icon_state = "walking" + overlays_standing[LEGCUFF_LAYER] = legcuffed.make_worn_icon(body_type = species.get_bodytype(), slot_name = slot_legcuffed_str, default_icon = INV_LCUFF_DEF_ICON, default_layer = LEGCUFF_LAYER) - else - overlays_standing[LEGCUFF_LAYER] = null - if(update_icons) update_icons_layers() + apply_layer(LEGCUFF_LAYER) - -/mob/living/carbon/human/update_inv_r_hand(var/update_icons=1) +/mob/living/carbon/human/update_inv_r_hand() if(QDESTROYING(src)) return - if(r_hand) - r_hand.screen_loc = ui_rhand //TODO + remove_layer(R_HAND_LAYER) - //determine icon state to use - var/t_state - if(r_hand.item_state_slots && r_hand.item_state_slots[slot_r_hand_str]) - t_state = r_hand.item_state_slots[slot_r_hand_str] - else if(r_hand.item_state) - t_state = r_hand.item_state - else - t_state = r_hand.icon_state + if(!r_hand) + return //No hand, no bother. - //determine icon to use - var/icon/t_icon - if(r_hand.item_icons && (slot_r_hand_str in r_hand.item_icons)) - t_icon = r_hand.item_icons[slot_r_hand_str] - else if(r_hand.icon_override) - t_state += "_r" - t_icon = r_hand.icon_override - else - t_icon = INV_R_HAND_DEF_ICON + overlays_standing[R_HAND_LAYER] = r_hand.make_worn_icon(body_type = species.get_bodytype(), inhands = TRUE, slot_name = slot_r_hand_str, default_icon = INV_R_HAND_DEF_ICON, default_layer = R_HAND_LAYER) - //apply color - var/image/standing = image(icon = t_icon, icon_state = t_state) - standing.color = r_hand.color + apply_layer(R_HAND_LAYER) - overlays_standing[R_HAND_LAYER] = standing - - if (handcuffed) drop_r_hand() //this should be moved out of icon code - else - overlays_standing[R_HAND_LAYER] = null - - if(update_icons) update_icons_layers() - - -/mob/living/carbon/human/update_inv_l_hand(var/update_icons=1) +/mob/living/carbon/human/update_inv_l_hand() if(QDESTROYING(src)) return - if(l_hand) - l_hand.screen_loc = ui_lhand //TODO + remove_layer(L_HAND_LAYER) - //determine icon state to use - var/t_state - if(l_hand.item_state_slots && l_hand.item_state_slots[slot_l_hand_str]) - t_state = l_hand.item_state_slots[slot_l_hand_str] - else if(l_hand.item_state) - t_state = l_hand.item_state - else - t_state = l_hand.icon_state + if(!l_hand) + return //No hand, no bother. - //determine icon to use - var/icon/t_icon - if(l_hand.item_icons && (slot_l_hand_str in l_hand.item_icons)) - t_icon = l_hand.item_icons[slot_l_hand_str] - else if(l_hand.icon_override) - t_state += "_l" - t_icon = l_hand.icon_override - else - t_icon = INV_L_HAND_DEF_ICON + overlays_standing[L_HAND_LAYER] = l_hand.make_worn_icon(body_type = species.get_bodytype(), inhands = TRUE, slot_name = slot_l_hand_str, default_icon = INV_L_HAND_DEF_ICON, default_layer = L_HAND_LAYER) - //apply color - var/image/standing = image(icon = t_icon, icon_state = t_state) - standing.color = l_hand.color + apply_layer(L_HAND_LAYER) - overlays_standing[L_HAND_LAYER] = standing - - if (handcuffed) drop_l_hand() //This probably should not be here - else - overlays_standing[L_HAND_LAYER] = null - - if(update_icons) update_icons_layers() - -/mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1) +/mob/living/carbon/human/proc/update_tail_showing() if(QDESTROYING(src)) return - overlays_standing[TAIL_LAYER] = null - - var/species_tail = species.get_tail(src) + remove_layer(TAIL_LAYER) + var/species_tail = species.get_tail(src) // Species tail icon_state prefix. + //This one is actually not that bad I guess. if(species_tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) var/icon/tail_s = get_tail_icon() - overlays_standing[TAIL_LAYER] = image(tail_s, icon_state = "[species_tail]_s") - animate_tail_reset(0) - - if(update_icons) - update_icons_layers() + overlays_standing[TAIL_LAYER] = image(icon = tail_s, icon_state = "[species_tail]_s", layer = BODY_LAYER+TAIL_LAYER) + animate_tail_reset() +//TODO: Is this the appropriate place for this, and not on species...? /mob/living/carbon/human/proc/get_tail_icon() var/icon_key = "[species.get_race_key(src)][r_skin][g_skin][b_skin][r_hair][g_hair][b_hair]" var/icon/tail_icon = tail_icon_cache[icon_key] @@ -1322,18 +849,23 @@ var/global/list/damage_icon_parts = list() return tail_icon - /mob/living/carbon/human/proc/set_tail_state(var/t_state) var/image/tail_overlay = overlays_standing[TAIL_LAYER] - if(tail_overlay && species.get_tail_animation(src)) - tail_overlay.icon_state = t_state - return tail_overlay - return null + remove_layer(TAIL_LAYER) + + if(tail_overlay) + overlays_standing[TAIL_LAYER] = tail_overlay + if(species.get_tail_animation(src)) + tail_overlay.icon_state = t_state + . = tail_overlay + + apply_layer(TAIL_LAYER) //Not really once, since BYOND can't do that. //Update this if the ability to flick() images or make looping animation start at the first frame is ever added. -/mob/living/carbon/human/proc/animate_tail_once(var/update_icons=1) +//You can sort of flick images now with flick_overlay -Aro +/mob/living/carbon/human/proc/animate_tail_once() if(QDESTROYING(src)) return @@ -1343,35 +875,26 @@ var/global/list/damage_icon_parts = list() if(tail_overlay && tail_overlay.icon_state == t_state) return //let the existing animation finish - tail_overlay = set_tail_state(t_state) + tail_overlay = set_tail_state(t_state) // Calls remove_layer & apply_layer if(tail_overlay) spawn(20) //check that the animation hasn't changed in the meantime if(overlays_standing[TAIL_LAYER] == tail_overlay && tail_overlay.icon_state == t_state) animate_tail_stop() - if(update_icons) - update_icons_layers() - -/mob/living/carbon/human/proc/animate_tail_start(var/update_icons=1) +/mob/living/carbon/human/proc/animate_tail_start() if(QDESTROYING(src)) return set_tail_state("[species.get_tail(src)]_slow[rand(0,9)]") - if(update_icons) - update_icons_layers() - -/mob/living/carbon/human/proc/animate_tail_fast(var/update_icons=1) +/mob/living/carbon/human/proc/animate_tail_fast() if(QDESTROYING(src)) return set_tail_state("[species.get_tail(src)]_loop[rand(0,9)]") - if(update_icons) - update_icons_layers() - -/mob/living/carbon/human/proc/animate_tail_reset(var/update_icons=1) +/mob/living/carbon/human/proc/animate_tail_reset() if(QDESTROYING(src)) return @@ -1380,113 +903,104 @@ var/global/list/damage_icon_parts = list() else set_tail_state("[species.get_tail(src)]_static") - if(update_icons) - update_icons_layers() - -/mob/living/carbon/human/proc/animate_tail_stop(var/update_icons=1) +/mob/living/carbon/human/proc/animate_tail_stop() if(QDESTROYING(src)) return set_tail_state("[species.get_tail(src)]_static") - if(update_icons) - update_icons_layers() - - -//Adds a collar overlay above the helmet layer if the suit has one -// Suit needs an identically named sprite in icons/mob/collar.dmi -/mob/living/carbon/human/proc/update_collar(var/update_icons=1) +/mob/living/carbon/human/update_modifier_visuals() if(QDESTROYING(src)) return - var/icon/C = new('icons/mob/collar.dmi') - var/image/standing = null + remove_layer(MODIFIER_EFFECTS_LAYER) - if(wear_suit) - if(wear_suit.icon_state in C.IconStates()) - standing = image("icon" = C, "icon_state" = "[wear_suit.icon_state]") + if(!LAZYLEN(modifiers)) + return //No modifiers, no effects. - overlays_standing[COLLAR_LAYER] = standing - - if(update_icons) update_icons_layers() - -/mob/living/carbon/human/update_modifier_visuals(var/update_icons=1) - if(QDESTROYING(src)) - return - - overlays_standing[MODIFIER_EFFECTS_LAYER] = null var/image/effects = new() for(var/datum/modifier/M in modifiers) if(M.mob_overlay_state) - var/image/I = image("icon" = 'icons/mob/modifier_effects.dmi', "icon_state" = M.mob_overlay_state) - effects.overlays += I + var/image/I = image(icon = 'icons/mob/modifier_effects.dmi', icon_state = M.mob_overlay_state) + effects.overlays += I //TODO, this compositing is annoying. overlays_standing[MODIFIER_EFFECTS_LAYER] = effects - if(update_icons) - update_icons_layers() + apply_layer(MODIFIER_EFFECTS_LAYER) -/mob/living/carbon/human/update_fire(var/update_icons=1) +/mob/living/carbon/human/update_fire() if(QDESTROYING(src)) return - overlays_standing[FIRE_LAYER] = null - if(on_fire) - overlays_standing[FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state" = get_fire_icon_state()) + remove_layer(FIRE_LAYER) - if(update_icons) update_icons_layers() + if(!on_fire) + return -/mob/living/carbon/human/update_water(var/update_icons=1) + overlays_standing[FIRE_LAYER] = image(icon = 'icons/mob/OnFire.dmi', icon_state = get_fire_icon_state(), layer = BODY_LAYER+FIRE_LAYER) + + apply_layer(FIRE_LAYER) + +/mob/living/carbon/human/update_water() if(QDESTROYING(src)) return - overlays_standing[WATER_LAYER] = null + remove_layer(WATER_LAYER) + var/depth = check_submerged() - if(depth) - if(!lying) - overlays_standing[WATER_LAYER] = image("icon" = 'icons/mob/submerged.dmi', "icon_state" = "human_swimming_[depth]") - // Lying sideways with the overlay looked strange. Another overlay will be needed in the future. + if(!depth || lying) + return - if(update_icons) - update_icons_layers() + overlays_standing[WATER_LAYER] = image(icon = 'icons/mob/submerged.dmi', icon_state = "human_swimming_[depth]", layer = BODY_LAYER+WATER_LAYER) //TODO: Improve -/mob/living/carbon/human/proc/update_surgery(var/update_icons=1) + apply_layer(WATER_LAYER) + +/mob/living/carbon/human/proc/update_surgery() if(QDESTROYING(src)) return - overlays_standing[SURGERY_LEVEL] = null + remove_layer(SURGERY_LAYER) + var/image/total = new for(var/obj/item/organ/external/E in organs) if(E.open) - var/image/I = image("icon"='icons/mob/surgery.dmi', "icon_state"="[E.icon_name][round(E.open)]", "layer"=-SURGERY_LEVEL) - total.overlays += I - overlays_standing[SURGERY_LEVEL] = total - if(update_icons) update_icons_layers() + var/image/I = image(icon = 'icons/mob/surgery.dmi', icon_state = "[E.icon_name][round(E.open)]", layer = BODY_LAYER+SURGERY_LAYER) + total.overlays += I //TODO: This compositing is annoying + + if(total.overlays.len) + overlays_standing[SURGERY_LAYER] = total + apply_layer(SURGERY_LAYER) //Human Overlays Indexes///////// #undef MUTATIONS_LAYER +#undef SKIN_LAYER #undef DAMAGE_LAYER -#undef SURGERY_LEVEL +#undef SURGERY_LAYER +#undef UNDERWEAR_LAYER +#undef SHOES_LAYER_ALT #undef UNIFORM_LAYER #undef ID_LAYER #undef SHOES_LAYER #undef GLOVES_LAYER -#undef EARS_LAYER +#undef BELT_LAYER #undef SUIT_LAYER #undef TAIL_LAYER #undef GLASSES_LAYER -#undef FACEMASK_LAYER -#undef BELT_LAYER +#undef BELT_LAYER_ALT #undef SUIT_STORE_LAYER #undef BACK_LAYER #undef HAIR_LAYER +#undef EARS_LAYER +#undef EYES_LAYER +#undef FACEMASK_LAYER #undef HEAD_LAYER #undef COLLAR_LAYER #undef HANDCUFF_LAYER #undef LEGCUFF_LAYER #undef L_HAND_LAYER #undef R_HAND_LAYER -#undef TARGETED_LAYER +#undef MODIFIER_EFFECTS_LAYER #undef FIRE_LAYER #undef WATER_LAYER -#undef TOTAL_LAYERS +#undef TARGETED_LAYER +#undef TOTAL_LAYERS \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index 0f393a9417d..5cf6395b7d6 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -100,7 +100,7 @@ src.lying = 1 src.blinded = 1 else - if (src.paralysis || src.stunned || src.weakened || (status_flags && FAKEDEATH)) //Stunned etc. + if (src.paralysis || src.stunned || src.weakened || (status_flags & FAKEDEATH)) //Stunned etc. if (src.stunned > 0) src.stat = 0 if (src.weakened > 0) diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 5fdea4a0e6f..31fe6b3152d 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -6,7 +6,8 @@ var/is_adult = 0 speak_emote = list("chirps") - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER maxHealth = 150 health = 150 gender = NEUTER diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 5c72bd224bd..a86189d5f5d 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -159,12 +159,12 @@ return ..() /mob/living/carbon/escape_buckle() - setClickCooldown(100) if(!buckled) return if(!restrained()) ..() else + setClickCooldown(100) visible_message( "[usr] attempts to unbuckle themself!", "You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)" diff --git a/code/modules/mob/living/carbon/viruses.dm b/code/modules/mob/living/carbon/viruses.dm index b4d8297697e..2f52dcd1cb4 100644 --- a/code/modules/mob/living/carbon/viruses.dm +++ b/code/modules/mob/living/carbon/viruses.dm @@ -23,6 +23,13 @@ var/datum/disease2/disease/V = M.virus2[ID] infect_virus2(src,V) + else if(istype(O,/obj/effect/decal/cleanable/vomit)) + var/obj/effect/decal/cleanable/vomit/Vom = O + if(Vom.virus2.len) + for (var/ID in Vom.virus2) + var/datum/disease2/disease/V = Vom.virus2[ID] + infect_virus2(src,V) + if(virus2.len) for (var/ID in virus2) var/datum/disease2/disease/V = virus2[ID] diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm index 60be7fb8b54..4a651af9994 100644 --- a/code/modules/mob/living/inventory.dm +++ b/code/modules/mob/living/inventory.dm @@ -72,16 +72,16 @@ /mob/living/u_equip(obj/W as obj) if (W == r_hand) r_hand = null - update_inv_r_hand(0) + update_inv_r_hand() else if (W == l_hand) l_hand = null - update_inv_l_hand(0) + update_inv_l_hand() else if (W == back) back = null - update_inv_back(0) + update_inv_back() else if (W == wear_mask) wear_mask = null - update_inv_wear_mask(0) + update_inv_wear_mask() return /mob/living/get_equipped_item(var/slot) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index c8250088377..e81308423d7 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -111,15 +111,11 @@ /mob/living/proc/handle_stunned() if(stunned) AdjustStunned(-1) - if(!stunned) - update_icons() return stunned /mob/living/proc/handle_weakened() if(weakened) weakened = max(weakened-1,0) - if(!weakened) - update_icons() return weakened /mob/living/proc/handle_stuttering() @@ -145,8 +141,6 @@ /mob/living/proc/handle_paralysed() if(paralysis) AdjustParalysis(-1) - if(!paralysis) - update_icons() return paralysis /mob/living/proc/handle_disabilities() @@ -207,13 +201,17 @@ return TRUE else if(glow_toggle) - set_light(2, l_color = glow_color) //2 is PDA brightness, so neutral in terms of balance + set_light(glow_range, glow_intensity, glow_color) else set_light(0) return FALSE /mob/living/proc/handle_darksight() + if(!seedarkness) //Cheap 'always darksight' var + dsoverlay.alpha = 255 + return + var/darksightedness = min(see_in_dark/world.view,1.0) //A ratio of how good your darksight is, from 'nada' to 'really darn good' var/current = dsoverlay.alpha/255 //Our current adjustedness diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 8399c224ce4..3892f8310e1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1,18 +1,26 @@ /mob/living/New() ..() + //Prime this list if we need it. + if(has_huds) + add_overlay(backplane,TRUE) //Strap this on here, to block HUDs from appearing in rightclick menus: http://www.byond.com/forum/?post=2336679 + hud_list = list() + hud_list.len = TOTAL_HUDS + make_hud_overlays() + //I'll just hang my coat up over here dsoverlay = image('icons/mob/darksight.dmi',global_hud.darksight) //This is a secret overlay! Go look at the file, you'll see. var/mutable_appearance/dsma = new(dsoverlay) //Changing like ten things, might as well. dsma.alpha = 0 dsma.plane = PLANE_LIGHTING - dsma.layer = LIGHTING_LAYER + 0.1 dsma.blend_mode = BLEND_ADD dsoverlay.appearance = dsma /mob/living/Destroy() dsoverlay.loc = null //I'll take my coat with me dsoverlay = null + if(buckled) + buckled.unbuckle_mob(src, TRUE) return ..() //mob verbs are faster than object verbs. See mob/verb/examine. @@ -172,10 +180,10 @@ default behaviour is: /mob/living/verb/succumb() set hidden = 1 if ((src.health < 0 && src.health > (5-src.getMaxHealth()))) // Health below Zero but above 5-away-from-death, as before, but variable - src.adjustOxyLoss(src.health + src.getMaxHealth() * 2) // Deal 2x health in OxyLoss damage, as before but variable. - src.health = src.getMaxHealth() - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() + src.death() to_chat(src, "You have given up life and succumbed to death.") - + else + to_chat(src, "You are not injured enough to succumb to death!") /mob/living/proc/updatehealth() if(status_flags & GODMODE) @@ -245,7 +253,8 @@ default behaviour is: /mob/living/proc/getActualBruteLoss() // Mostly for humans with robolimbs. return getBruteLoss() -/mob/living/proc/adjustBruteLoss(var/amount) +//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs +/mob/living/proc/adjustBruteLoss(var/amount,var/include_robo) if(status_flags & GODMODE) return 0 //godmode if(amount > 0) @@ -319,7 +328,8 @@ default behaviour is: /mob/living/proc/getActualFireLoss() // Mostly for humans with robolimbs. return getFireLoss() -/mob/living/proc/adjustFireLoss(var/amount) +//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs +/mob/living/proc/adjustFireLoss(var/amount,var/include_robo) if(status_flags & GODMODE) return 0 //godmode if(amount > 0) for(var/datum/modifier/M in modifiers) @@ -825,7 +835,6 @@ default behaviour is: for(var/atom/A in M.contents) if(istype(A,/mob/living/simple_animal/borer) || istype(A,/obj/item/weapon/holder)) return - M.status_flags &= ~PASSEMOTES else if(istype(H.loc,/obj/item/clothing/accessory/holster)) var/obj/item/clothing/accessory/holster/holster = H.loc @@ -855,6 +864,7 @@ default behaviour is: resting = !resting to_chat(src, "You are now [resting ? "resting" : "getting up"]") + update_canmove() /mob/living/proc/cannot_use_vents() if(mob_size > MOB_SMALL) @@ -1002,14 +1012,10 @@ default behaviour is: canmove = 0 break - //Temporarily moved here from the various life() procs - //I'm fixing stuff incrementally so this will likely find a better home. - //It just makes sense for now. ~Carn - if( update_icon ) //forces a full overlay update - update_icon = 0 - regenerate_icons() - else if( lying != lying_prev ) - update_icons() + if(lying != lying_prev) + lying_prev = lying + update_transform() + return canmove // Adds overlays for specific modifiers. @@ -1085,3 +1091,107 @@ default behaviour is: else // No colors, so remove the client's color. animate(client, color = null, time = 10) + +/mob/living/swap_hand() + src.hand = !( src.hand ) + if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) + if(hand) //This being 1 means the left hand is in use + hud_used.l_hand_hud_object.icon_state = "l_hand_active" + hud_used.r_hand_hud_object.icon_state = "r_hand_inactive" + else + hud_used.l_hand_hud_object.icon_state = "l_hand_inactive" + hud_used.r_hand_hud_object.icon_state = "r_hand_active" + return + +/mob/living/proc/activate_hand(var/selhand) //0 or "r" or "right" for right hand; 1 or "l" or "left" for left hand. + + if(istext(selhand)) + selhand = lowertext(selhand) + + if(selhand == "right" || selhand == "r") + selhand = 0 + if(selhand == "left" || selhand == "l") + selhand = 1 + + if(selhand != src.hand) + swap_hand() + +/mob/living/throw_item(atom/target) + src.throw_mode_off() + if(usr.stat || !target) + return + if(target.type == /obj/screen) return + + var/atom/movable/item = src.get_active_hand() + + if(!item) return + + var/throw_range = item.throw_range + if (istype(item, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = item + item = G.throw_held() //throw the person instead of the grab + if(ismob(item)) + var/mob/M = item + + //limit throw range by relative mob size + throw_range = round(M.throw_range * min(src.mob_size/M.mob_size, 1)) + + var/turf/end_T = get_turf(target) + if(end_T) + add_attack_logs(src,M,"Thrown via grab to [end_T.x],[end_T.y],[end_T.z]") + + src.drop_from_inventory(item) + if(!item || !isturf(item.loc)) + return + + //actually throw it! + src.visible_message("[src] has thrown [item].") + + if(!src.lastarea) + src.lastarea = get_area(src.loc) + if((istype(src.loc, /turf/space)) || (src.lastarea.has_gravity == 0)) + src.inertia_dir = get_dir(target, src) + step(src, inertia_dir) + + +/* + if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction + src.inertia_dir = get_dir(target, src) + step(src, inertia_dir) +*/ + + + item.throw_at(target, throw_range, item.throw_speed, src) + +/mob/living/get_sound_env(var/pressure_factor) + if (hallucination) + return PSYCHOTIC + else if (druggy) + return DRUGGED + else if (drowsyness) + return DIZZY + else if (confused) + return DIZZY + else if (sleeping) + return UNDERWATER + else + return ..() + +//Add an entry to overlays, assuming it exists +/mob/living/proc/apply_hud(cache_index, var/image/I) + hud_list[cache_index] = I + if((. = hud_list[cache_index])) + //underlays += . + add_overlay(.) + +//Remove an entry from overlays, and from the list +/mob/living/proc/grab_hud(cache_index) + var/I = hud_list[cache_index] + if(I) + //underlays -= I + cut_overlay(I) + hud_list[cache_index] = null + return I + +/mob/living/proc/make_hud_overlays() + return diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 61ec68550d4..3d9140dd468 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -271,10 +271,7 @@ var/mob/M = O.thrower var/client/assailant = M.client if(assailant) - src.attack_log += text("\[[time_stamp()]\] Has been hit with a [O], thrown by [M.name] ([assailant.ckey])") - M.attack_log += text("\[[time_stamp()]\] Hit [src.name] ([src.ckey]) with a thrown [O]") - if(!istype(src,/mob/living/simple_animal/mouse)) - msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (JMP)") + add_attack_logs(M,src,"Hit by thrown [O.name]") // Begin BS12 momentum-transfer code. var/mass = 1.5 @@ -337,8 +334,7 @@ return adjustBruteLoss(damage) - user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") - src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") + add_attack_logs(user,src,"Generic attack (probably animal)", admin_notify = FALSE) //Usually due to simple_animal attacks src.visible_message("[user] has [attack_message] [src]!") user.do_attack_animation(src) spawn(1) updatehealth() diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index d1deeebffd7..9739e596b8e 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -45,10 +45,17 @@ var/failed_last_breath = 0 //This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks. var/lastpuke = 0 - var/evasion = 0 // Makes attacks harder to land. Each number equals 15% more likely to miss. Negative numbers increase hit chance. + var/evasion = 0 // Makes attacks harder to land. Negative numbers increase hit chance. var/force_max_speed = 0 // If 1, the mob runs extremely fast and cannot be slowed. - + var/image/dsoverlay = null //Overlay used for darksight eye adjustments var/glow_toggle = 0 // If they're glowing! + var/glow_range = 2 + var/glow_intensity = null var/glow_color = "#FFFFFF" // The color they're glowing! + + var/see_invisible_default = SEE_INVISIBLE_LIVING + + var/list/hud_list //Holder for health hud, status hud, wanted hud, etc (not like inventory slots) + var/has_huds = FALSE //Whether or not we should bother initializing the above list diff --git a/code/modules/mob/living/living_powers.dm b/code/modules/mob/living/living_powers.dm index a9bb916413f..1442c80f9ba 100644 --- a/code/modules/mob/living/living_powers.dm +++ b/code/modules/mob/living/living_powers.dm @@ -6,9 +6,12 @@ if(stat == DEAD || paralysis || weakened || stunned || restrained()) return - if (layer != 2.45) - layer = 2.45 //Just above cables with their 2.44 - src << text("You are now hiding.") + if(status_flags & HIDING) + status_flags &= ~HIDING + reset_plane_and_layer() + to_chat(src,"You have stopped hiding.") else - layer = MOB_LAYER - src << text("You have stopped hiding.") \ No newline at end of file + status_flags |= HIDING + layer = HIDING_LAYER //Just above cables with their 2.44 + plane = OBJ_PLANE + to_chat(src,"You are now hiding.") diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index c9ef8ac7b45..9a22e3b8165 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -270,7 +270,7 @@ proc/get_radio_key_from_channel(var/channel) src.custom_emote(1, "[pick(speaking.signlang_verb)].") if (speaking.flags & SIGNLANG) - log_say("[name]/[key] : SIGN: [message]") + log_say("(SIGN) [message]", src) return say_signlang(message, pick(speaking.signlang_verb), speaking) //These will contain the main receivers of the message @@ -292,17 +292,20 @@ proc/get_radio_key_from_channel(var/channel) sound_vol *= 0.5 //Obtain the mobs and objects in the message range - var/list/results = get_mobs_and_objs_in_view_fast(T, world.view) + var/list/results = get_mobs_and_objs_in_view_fast(T, world.view, remote_ghosts = client ? TRUE : FALSE) listening = results["mobs"] listening_obj = results["objs"] else return 1 //If we're in nullspace, then forget it. + //Remember the speech images so we can remove them later and they can get GC'd + var/list/images_to_clients = list() + //The 'post-say' static speech bubble var/speech_bubble_test = say_test(message) var/speech_type = speech_bubble_appearance() var/image/speech_bubble = image('icons/mob/talk.dmi',src,"[speech_type][speech_bubble_test]") - spawn(30) qdel(speech_bubble) + images_to_clients[speech_bubble] = list() // Attempt Multi-Z Talking var/mob/above = src.shadow @@ -311,7 +314,7 @@ proc/get_radio_key_from_channel(var/channel) if(ST) var/list/results = get_mobs_and_objs_in_view_fast(ST, world.view) var/image/z_speech_bubble = image('icons/mob/talk.dmi', above, "h[speech_bubble_test]") - spawn(30) qdel(z_speech_bubble) + images_to_clients[z_speech_bubble] = list() for(var/item in results["mobs"]) if(item != above && !(item in listening)) listening[item] = z_speech_bubble @@ -326,12 +329,17 @@ proc/get_radio_key_from_channel(var/channel) var/dst = get_dist(get_turf(M),get_turf(src)) if(dst <= message_range || (M.stat == DEAD && !forbid_seeing_deadchat)) //Inside normal message range, or dead with ears (handled in the view proc) - M << (listening[M] || speech_bubble) // Send the image attached to shadow mob if available + if(M.client) + var/image/I1 = listening[M] || speech_bubble + images_to_clients[I1] |= M.client + M << I1 M.hear_say(message, verb, speaking, alt_name, italics, src, speech_sound, sound_vol) - if(whispering) //Don't even bother with these unless whispering if(dst > message_range && dst <= w_scramble_range) //Inside whisper scramble range - M << (listening[M] || speech_bubble) // Send the image attached to shadow mob if available + if(M.client) + var/image/I2 = listening[M] || speech_bubble + images_to_clients[I2] |= M.client + M << I2 M.hear_say(stars(message), verb, speaking, alt_name, italics, src, speech_sound, sound_vol*0.2) if(dst > w_scramble_range && dst <= world.view) //Inside whisper 'visible' range M.show_message("[src.name] [w_not_heard].", 2) @@ -344,13 +352,30 @@ proc/get_radio_key_from_channel(var/channel) if(dst <= message_range) O.hear_talk(src, message, verb, speaking) + //Remove all those images. At least it's just ONE spawn this time. + spawn(30) + for(var/img in images_to_clients) + var/image/I = img + var/list/clients_from_image = images_to_clients[I] + for(var/client in clients_from_image) + var/client/C = client + if(C) //Could have disconnected after message sent, before removing bubble. + C.images -= I + qdel(I) + //Log the message to file - log_say("[name]/[key][whispering ? " (W)" : ""]: [message]") + if(whispering) + log_whisper(message,src) + else + log_say(message, src) return 1 /mob/living/proc/say_signlang(var/message, var/verb="gestures", var/datum/language/language) - for (var/mob/O in viewers(src, null)) - O.hear_signlang(message, verb, language, src) + var/list/potentials = get_mobs_and_objs_in_view_fast(src, world.view) + var/list/mobs = potentials["mobs"] + for(var/hearer in mobs) + var/mob/M = hearer + M.hear_signlang(message, verb, language, src) return 1 /obj/effect/speech_bubble diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a735db5f163..2b11059ff9c 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -150,13 +150,16 @@ var/list/ai_verbs_default = list( add_language(LANGUAGE_SOL_COMMON, 1) add_language(LANGUAGE_UNATHI, 1) add_language(LANGUAGE_SIIK, 1) + add_language(LANGUAGE_AKHANI, 1) add_language(LANGUAGE_SKRELLIAN, 1) + add_language(LANGUAGE_SKRELLIANFAR, 0) add_language(LANGUAGE_TRADEBAND, 1) add_language(LANGUAGE_GUTTER, 1) add_language(LANGUAGE_EAL, 1) add_language(LANGUAGE_SCHECHI, 1) add_language(LANGUAGE_SIGN, 1) add_language(LANGUAGE_ROOTLOCAL, 1) + add_language(LANGUAGE_TERMINUS, 1) if(!safety)//Only used by AIize() to successfully spawn an AI. if (!B)//If there is no player/brain inside. @@ -255,7 +258,7 @@ var/list/ai_verbs_default = list( aiPDA.name = pickedName + " (" + aiPDA.ownjob + ")" if(aiCommunicator) - aiCommunicator.register_device(src) + aiCommunicator.register_device(src.name) /* The AI Power supply is a dummy object used for powering the AI since only machinery should be using power. @@ -387,7 +390,7 @@ var/list/ai_verbs_default = list( return CentCom_announce(input, usr) usr << "Message transmitted." - log_say("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") + log_game("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") emergency_message_cooldown = 1 spawn(300) emergency_message_cooldown = 0 @@ -576,8 +579,8 @@ var/list/ai_verbs_default = list( "female human", "male unathi", "female unathi", - "male tajara", - "female tajara", + "male tajaran", + "female tajaran", "male tesharii", "female tesharii", "male skrell", @@ -619,9 +622,9 @@ var/list/ai_verbs_default = list( holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holounam")) if("female unathi") holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holounaf")) - if("male tajara") + if("male tajaran") holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holotajm")) - if("female tajara") + if("female tajaran") holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holotajf")) if("male tesharii") holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holotesm")) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 1e0d9888358..5ed6fde8aeb 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -98,6 +98,7 @@ add_language(LANGUAGE_TRADEBAND, 1) add_language(LANGUAGE_GUTTER, 1) add_language(LANGUAGE_EAL, 1) + add_language(LANGUAGE_TERMINUS, 1) add_language(LANGUAGE_SIGN, 0) verbs += /mob/living/silicon/pai/proc/choose_chassis diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 83f68056b7a..7a7df5513b3 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -62,11 +62,12 @@ count++ // Check the carrier + var/datum/gender/TM = gender_datums[M.get_visible_gender()] var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No") if(answer == "Yes") var/turf/T = get_turf_or_move(P.loc) for (var/mob/v in viewers(T)) - v.show_message("[M] presses \his thumb against [P].", 3, "[P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) + v.show_message("[M] presses [TM.his] thumb against [P].", 3, "[P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) var/datum/dna/dna = M.dna P << "

    [M]'s UE string : [dna.unique_enzymes]

    " if(dna.unique_enzymes == P.master_dna) @@ -74,7 +75,7 @@ else P << "DNA does not match stored Master DNA." else - P << "[M] does not seem like \he is going to provide a DNA sample willingly." + P << "[M] does not seem like [TM.he] is going to provide a DNA sample willingly." return 1 /datum/pai_software/radio_config @@ -130,7 +131,7 @@ ui = nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! - ui = new(user, user, id, "pai_manifest.tmpl", "Crew Manifest", 450, 600) + ui = new(user, user, id, "crew_manifest.tmpl", "Crew Manifest", 450, 600) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -444,6 +445,11 @@ toggle(mob/living/silicon/pai/user) user.secHUD = !user.secHUD + user.plane_holder.set_vis(VIS_CH_ID, user.secHUD) + user.plane_holder.set_vis(VIS_CH_WANTED, user.secHUD) + user.plane_holder.set_vis(VIS_CH_IMPTRACK, user.secHUD) + user.plane_holder.set_vis(VIS_CH_IMPLOYAL, user.secHUD) + user.plane_holder.set_vis(VIS_CH_IMPCHEM, user.secHUD) is_active(mob/living/silicon/pai/user) return user.secHUD @@ -455,6 +461,8 @@ toggle(mob/living/silicon/pai/user) user.medHUD = !user.medHUD + user.plane_holder.set_vis(VIS_CH_STATUS, user.medHUD) + user.plane_holder.set_vis(VIS_CH_HEALTH, user.medHUD) is_active(mob/living/silicon/pai/user) return user.medHUD @@ -465,16 +473,18 @@ id = "translator" toggle(mob/living/silicon/pai/user) - // Sol Common, Tradeband and Gutter are added with New() and are therefore the current default, always active languages + // Sol Common, Tradeband, Terminus and Gutter are added with New() and are therefore the current default, always active languages user.translator_on = !user.translator_on if(user.translator_on) user.add_language(LANGUAGE_UNATHI) user.add_language(LANGUAGE_SIIK) + user.add_language(LANGUAGE_AKHANI) user.add_language(LANGUAGE_SKRELLIAN) user.add_language(LANGUAGE_SCHECHI) else user.remove_language(LANGUAGE_UNATHI) user.remove_language(LANGUAGE_SIIK) + user.remove_language(LANGUAGE_AKHANI) user.remove_language(LANGUAGE_SKRELLIAN) user.remove_language(LANGUAGE_SCHECHI) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 872d5302c42..827387c5a4f 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -174,7 +174,7 @@ var/list/mob_hat_cache = list() return else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) - + var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(stat == 2) if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave. @@ -185,7 +185,7 @@ var/list/mob_hat_cache = list() to_chat(user, "Access denied.") return - user.visible_message("\The [user] swipes \his ID card through \the [src], attempting to reboot it.", ">You swipe your ID card through \the [src], attempting to reboot it.") + user.visible_message("\The [user] swipes [TU.his] ID card through \the [src], attempting to reboot it.", ">You swipe your ID card through \the [src], attempting to reboot it.") var/drones = 0 for(var/mob/living/silicon/robot/drone/D in world) if(D.key && D.client) @@ -195,7 +195,7 @@ var/list/mob_hat_cache = list() return else - user.visible_message("\The [user] swipes \his ID card through \the [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") + user.visible_message("\The [user] swipes [TU.his] ID card through \the [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") if(emagged) return @@ -233,11 +233,12 @@ var/list/mob_hat_cache = list() clear_supplied_laws() clear_inherent_laws() laws = new /datum/ai_laws/syndicate_override - set_zeroth_law("Only [user.real_name] and people \he designates as being such are operatives.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + set_zeroth_law("Only [user.real_name] and people [TU.he] designate[TU.s] as being such are operatives.") src << "Obey these laws:" laws.show_laws(src) - src << "ALERT: [user.real_name] is your new master. Obey your new laws and \his commands." + src << "ALERT: [user.real_name] [TU.is] your new master. Obey your new laws and [TU.his] commands." return 1 //DRONE LIFE/DEATH diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index b370787edee..ac78f5aab94 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -58,7 +58,8 @@ /obj/item/weapon/reagent_containers/glass, /obj/item/weapon/storage/pill_bottle, /obj/item/weapon/reagent_containers/pill, - /obj/item/weapon/reagent_containers/blood + /obj/item/weapon/reagent_containers/blood, + /obj/item/stack/material/phoron ) /obj/item/weapon/gripper/research //A general usage gripper, used for toxins/robotics/xenobio/etc @@ -198,6 +199,21 @@ wrapped = null //update_icon() +/obj/item/weapon/gripper/proc/drop_item_nm() + + if(!wrapped) + for(var/obj/item/thing in src.contents) + thing.loc = get_turf(src) + return + + if(wrapped.loc != src) + wrapped = null + return + + wrapped.loc = get_turf(src) + wrapped = null + //update_icon() + /obj/item/weapon/gripper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(wrapped) //The force of the wrapped obj gets set to zero during the attack() and afterattack(). force_holder = wrapped.force diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index fd8164b01c8..48455c38447 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -256,3 +256,9 @@ /mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. W.loc = get_turf(src) return 1 + +/mob/living/silicon/robot/is_holding_item_of_type(typepath) + for(var/obj/item/I in list(module_state_1, module_state_2, module_state_3)) + if(istype(I, typepath)) + return I + return FALSE \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 82992581846..349432e3d2f 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -151,7 +151,7 @@ return 1 /mob/living/silicon/robot/handle_regular_hud_updates() - + var/fullbright = FALSE if (src.stat == 2 || (XRAY in mutations) || (src.sight_mode & BORGXRAY)) src.sight |= SEE_TURFS src.sight |= SEE_MOBS @@ -163,18 +163,22 @@ src.sight |= SEE_MOBS src.see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM + fullbright = TRUE else if (src.sight_mode & BORGMESON) src.sight |= SEE_TURFS src.see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM + fullbright = TRUE else if (src.sight_mode & BORGMATERIAL) src.sight |= SEE_OBJS src.see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM + fullbright = TRUE else if (src.sight_mode & BORGTHERM) src.sight |= SEE_MOBS src.see_in_dark = 8 src.see_invisible = SEE_INVISIBLE_LEVEL_TWO + fullbright = TRUE else if (!seedarkness) src.sight &= ~SEE_MOBS src.sight &= ~SEE_TURFS @@ -188,7 +192,7 @@ src.see_in_dark = 8 // see_in_dark means you can FAINTLY see in the dark, humans have a range of 3 or so, tajaran have it at 8 src.see_invisible = SEE_INVISIBLE_LIVING // This is normal vision (25), setting it lower for normal vision means you don't "see" things like darkness since darkness // has a "invisible" value of 15 - + plane_holder.set_vis(VIS_FULLBRIGHT,fullbright) ..() if (src.healths) diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm index da682c51953..07dd53917bb 100644 --- a/code/modules/mob/living/silicon/robot/login.dm +++ b/code/modules/mob/living/silicon/robot/login.dm @@ -5,7 +5,8 @@ show_laws(0) - winset(src, null, "mainwindow.macro=borgmacro hotkey_toggle.is-checked=false input.focus=true input.background-color=#D3B5B5") + // Override the DreamSeeker macro with the borg version! + client.set_hotkeys_macro("borgmacro", "borghotkeymode") // Forces synths to select an icon relevant to their module if(!icon_selected) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2eea0f41df4..6c7b8953850 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -210,7 +210,7 @@ /mob/living/silicon/robot/proc/setup_communicator() if (!communicator) communicator = new/obj/item/device/communicator/integrated(src) - communicator.register_device(src, "[modtype] [braintype]") + communicator.register_device(src.name, "[modtype] [braintype]") //If there's an MMI in the robot, have it ejected when the mob goes away. --NEO //Improved /N @@ -706,34 +706,29 @@ return 0 /mob/living/silicon/robot/updateicon() - overlays.Cut() + cut_overlays() if(stat == CONSCIOUS) - overlays += "eyes-[module_sprites[icontype]]" + add_overlay("eyes-[module_sprites[icontype]]") if(opened) var/panelprefix = custom_sprite ? "[src.ckey]-[src.name]" : "ov" if(wiresexposed) - overlays += "[panelprefix]-openpanel +w" + add_overlay("[panelprefix]-openpanel +w") else if(cell) - overlays += "[panelprefix]-openpanel +c" + add_overlay("[panelprefix]-openpanel +c") else - overlays += "[panelprefix]-openpanel -c" + add_overlay("[panelprefix]-openpanel -c") if(has_active_type(/obj/item/borg/combat/shield)) var/obj/item/borg/combat/shield/shield = locate() in src if(shield && shield.active) - overlays += "[module_sprites[icontype]]-shield" + add_overlay("[module_sprites[icontype]]-shield") if(modtype == "Combat") if(module_active && istype(module_active,/obj/item/borg/combat/mobility)) icon_state = "[module_sprites[icontype]]-roll" else icon_state = module_sprites[icontype] - return - - if(typing) - typing = FALSE - set_typing_indicator(1) /mob/living/silicon/robot/proc/installed_modules() if(weapon_lock) @@ -885,6 +880,18 @@ cleaned_human.update_inv_shoes(0) cleaned_human.clean_blood(1) cleaned_human << "[src] cleans your face!" + + if((module_state_1 && istype(module_state_1, /obj/item/weapon/storage/bag/ore)) || (module_state_2 && istype(module_state_2, /obj/item/weapon/storage/bag/ore)) || (module_state_3 && istype(module_state_3, /obj/item/weapon/storage/bag/ore))) //Borgs and drones can use their mining bags ~automagically~ if they're deployed in a slot. Only mining bags, as they're optimized for mass use. + var/obj/item/weapon/storage/bag/ore/B = null + if(istype(module_state_1, /obj/item/weapon/storage/bag/ore)) //First orebag has priority, if they for some reason have multiple. + B = module_state_1 + else if(istype(module_state_2, /obj/item/weapon/storage/bag/ore)) + B = module_state_2 + else if(istype(module_state_3, /obj/item/weapon/storage/bag/ore)) + B = module_state_3 + var/turf/tile = loc + if(isturf(tile)) + B.gather_all(tile, src, 1) //Shhh, unless the bag fills, don't spam the borg's chat with stuff that's going on every time they move! return /mob/living/silicon/robot/proc/self_destruct() @@ -1064,7 +1071,8 @@ laws = new /datum/ai_laws/syndicate_override var/time = time2text(world.realtime,"hh:mm:ss") lawchanges.Add("[time] : [user.name]([user.key]) emagged [name]([key])") - set_zeroth_law("Only [user.real_name] and people \he designates as being such are operatives.") + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + set_zeroth_law("Only [user.real_name] and people [TU.he] designate[TU.s] as being such are operatives.") . = 1 spawn() src << "ALERT: Foreign software detected." @@ -1082,7 +1090,7 @@ src << "ERRORERRORERROR" src << "Obey these laws:" laws.show_laws(src) - src << "ALERT: [user.real_name] is your new master. Obey your new laws and his commands." + src << "ALERT: [user.real_name] is your new master. Obey your new laws and [TU.his] commands." updateicon() else user << "You fail to hack [src]'s interface." @@ -1091,4 +1099,10 @@ return /mob/living/silicon/robot/is_sentient() - return braintype != "Drone" \ No newline at end of file + return braintype != "Drone" + + +/mob/living/silicon/robot/drop_item() + if(module_active && istype(module_active,/obj/item/weapon/gripper)) + var/obj/item/weapon/gripper/G = module_active + G.drop_item_nm() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 953010c33ea..d52a5da531f 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -24,7 +24,7 @@ if(response == "Analyze") if(loaded_item) var/confirm = alert(user, "This will destroy the item inside forever. Are you sure?","Confirm Analyze","Yes","No") - if(confirm == "Yes") //This is pretty copypasta-y + if(confirm == "Yes" && !QDELETED(loaded_item)) //This is pretty copypasta-y user << "You activate the analyzer's microlaser, analyzing \the [loaded_item] and breaking it down." flick("portable_analyzer_scan", src) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index fbcd6375a68..bd2917fd018 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -23,7 +23,7 @@ var/global/list/robot_modules = list( var/hide_on_manifest = 0 var/channels = list() var/networks = list() - var/languages = list(LANGUAGE_SOL_COMMON = 1, LANGUAGE_TRADEBAND = 1, LANGUAGE_UNATHI = 0, LANGUAGE_SIIK = 0, LANGUAGE_SKRELLIAN = 0, LANGUAGE_GUTTER = 0, LANGUAGE_SCHECHI = 0, LANGUAGE_SIGN = 0) + var/languages = list(LANGUAGE_SOL_COMMON = 1, LANGUAGE_TRADEBAND = 1, LANGUAGE_UNATHI = 0, LANGUAGE_SIIK = 0, LANGUAGE_AKHANI = 0, LANGUAGE_SKRELLIAN = 0, LANGUAGE_GUTTER = 0, LANGUAGE_SCHECHI = 0, LANGUAGE_SIGN = 0, LANGUAGE_TERMINUS = 1) var/sprites = list() var/can_be_pushed = 1 var/no_slip = 0 @@ -245,10 +245,19 @@ var/global/list/robot_modules = list( src.modules += N src.modules += B -/obj/item/weapon/robot_module/medical/robot/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/weapon/robot_module/robot/medical/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + + var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + if(S.mode == 2) + S.reagents.clear_reagents() + S.mode = initial(S.mode) + S.desc = initial(S.desc) + S.update_icon() + if(src.emag) var/obj/item/weapon/reagent_containers/spray/PS = src.emag PS.reagents.add_reagent("pacid", 2 * amount) + ..() /obj/item/weapon/robot_module/robot/medical/crisis @@ -502,6 +511,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/melee/baton/robot(src) src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg(src) + src.modules += new /obj/item/weapon/gun/energy/taser/xeno/sec/robot(src) src.modules += new /obj/item/taperoll/police(src) src.modules += new /obj/item/weapon/reagent_containers/spray/pepper(src) src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) @@ -563,12 +573,15 @@ var/global/list/robot_modules = list( LANGUAGE_SOL_COMMON = 1, LANGUAGE_UNATHI = 1, LANGUAGE_SIIK = 1, + LANGUAGE_AKHANI = 1, LANGUAGE_SKRELLIAN = 1, + LANGUAGE_SKRELLIANFAR = 0, LANGUAGE_ROOTLOCAL = 0, LANGUAGE_TRADEBAND = 1, LANGUAGE_GUTTER = 1, LANGUAGE_SCHECHI = 1, LANGUAGE_EAL = 1, + LANGUAGE_TERMINUS = 1, LANGUAGE_SIGN = 0 ) @@ -749,6 +762,18 @@ var/global/list/robot_modules = list( C.synths = list(wire) src.modules += C +/obj/item/weapon/robot_module/robot/research/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + + var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + if(S.mode == 2) + S.reagents.clear_reagents() + S.mode = initial(S.mode) + S.desc = initial(S.desc) + S.update_icon() + + ..() + + /obj/item/weapon/robot_module/robot/security/combat name = "combat robot module" hide_on_manifest = 1 diff --git a/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm b/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm index 9967fa67dcf..ac41265fac1 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm @@ -8,12 +8,15 @@ LANGUAGE_TRADEBAND = 1, LANGUAGE_UNATHI = 0, LANGUAGE_SIIK = 0, + LANGUAGE_AKHANI = 0, LANGUAGE_SKRELLIAN = 0, + LANGUAGE_SKRELLIANFAR = 0, LANGUAGE_ROOTLOCAL = 0, LANGUAGE_GUTTER = 1, LANGUAGE_SCHECHI = 0, LANGUAGE_EAL = 1, - LANGUAGE_SIGN = 0 + LANGUAGE_SIGN = 0, + LANGUAGE_TERMINUS = 1 ) sprites = list( "Cerberus" = "syndie_bloodhound", @@ -182,3 +185,13 @@ src.modules += O src.modules += B src.modules += S + +/obj/item/weapon/robot_module/robot/syndicate/combat_medic/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) + + var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + if(S.mode == 2) + S.reagents.clear_reagents() + S.mode = initial(S.mode) + S.desc = initial(S.desc) + S.update_icon() + ..() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 359ee492f29..ed9f253528a 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -2,7 +2,7 @@ return ..((sanitize ? sanitize(message) : message), whispering = whispering) /mob/living/silicon/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name) - log_say("[key_name(src)] : [message]") + log_say(message, src) /mob/living/silicon/robot/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name) ..() @@ -64,7 +64,7 @@ //For holopads only. Usable by AI. /mob/living/silicon/ai/proc/holopad_talk(var/message, verb, datum/language/speaking) - log_say("[key_name(src)] : [message]") + log_say("(HPAD) [message]",src) message = trim(message) @@ -112,8 +112,6 @@ /mob/living/silicon/ai/proc/holopad_emote(var/message) //This is called when the AI uses the 'me' verb while using a holopad. - log_emote("[key_name(src)] : [message]") - message = trim(message) if (!message) @@ -141,6 +139,8 @@ if(O) O.see_emote(src, message) + log_emote("(HPAD) [message]", src) + else //This shouldn't occur, but better safe then sorry. src << "No holopad connected." return 0 diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 689d27dce88..602be39e879 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -7,7 +7,7 @@ var/list/stating_laws = list()// Channels laws are currently being stated on var/obj/item/device/radio/common_radio - var/list/hud_list[10] + has_huds = TRUE var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer //Used in say.dm. @@ -30,7 +30,8 @@ /mob/living/silicon/New() silicon_mob_list |= src ..() - add_language("Galactic Common") + add_language(LANGUAGE_GALCOM) + set_default_language(all_languages[LANGUAGE_GALCOM]) init_id() init_subsystems() @@ -322,6 +323,8 @@ /mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised) if(!next_alarm_notice) next_alarm_notice = world.time + SecondsToTicks(10) + if(alarm.hidden) + return var/list/alarms = queued_alarms[alarm_handler] if(was_raised) diff --git a/code/modules/mob/living/simple_animal/aliens/alien.dm b/code/modules/mob/living/simple_animal/aliens/alien.dm index d31efe6df87..3dba09330ae 100644 --- a/code/modules/mob/living/simple_animal/aliens/alien.dm +++ b/code/modules/mob/living/simple_animal/aliens/alien.dm @@ -24,8 +24,10 @@ harm_intent_damage = 5 melee_damage_lower = 25 melee_damage_upper = 25 + attack_sharp = 1 + attack_edge = 1 - attacktext = "slashed" + attacktext = list("slashed") attack_sound = 'sound/weapons/bladeslice.ogg' a_intent = I_HURT @@ -137,106 +139,4 @@ /mob/living/simple_animal/hostile/alien/death() ..() visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...") - playsound(src, 'sound/voice/hiss6.ogg', 100, 1) - -// Xenoarch aliens. -/mob/living/simple_animal/hostile/samak - name = "samak" - desc = "A fast, armoured predator accustomed to hiding and ambushing in cold terrain." - faction = "samak" - icon_state = "samak" - icon_living = "samak" - icon_dead = "samak_dead" - icon = 'icons/jungle.dmi' - - faction = "samak" - - maxHealth = 125 - health = 125 - speed = 2 - move_to_delay = 2 - - melee_damage_lower = 5 - melee_damage_upper = 15 - - attacktext = "mauled" - cold_damage_per_tick = 0 - - speak_chance = 5 - speak = list("Hruuugh!","Hrunnph") - emote_see = list("paws the ground","shakes its mane","stomps") - emote_hear = list("snuffles") - -/mob/living/simple_animal/hostile/diyaab - name = "diyaab" - desc = "A small pack animal. Although omnivorous, it will hunt meat on occasion." - faction = "diyaab" - icon_state = "diyaab" - icon_living = "diyaab" - icon_dead = "diyaab_dead" - icon = 'icons/jungle.dmi' - - faction = "diyaab" - cooperative = 1 - - maxHealth = 25 - health = 25 - speed = 1 - move_to_delay = 1 - - melee_damage_lower = 1 - melee_damage_upper = 8 - - attacktext = "gouged" - cold_damage_per_tick = 0 - - speak_chance = 5 - speak = list("Awrr?","Aowrl!","Worrl") - emote_see = list("sniffs the air cautiously","looks around") - emote_hear = list("snuffles") - -/mob/living/simple_animal/hostile/shantak - name = "shantak" - desc = "A piglike creature with a bright iridiscent mane that sparkles as though lit by an inner light. Don't be fooled by its beauty though." - faction = "shantak" - icon_state = "shantak" - icon_living = "shantak" - icon_dead = "shantak_dead" - icon = 'icons/jungle.dmi' - - faction = "shantak" - - maxHealth = 75 - health = 75 - speed = 1 - move_to_delay = 1 - - melee_damage_lower = 3 - melee_damage_upper = 12 - - attacktext = "gouged" - cold_damage_per_tick = 0 - - speak_chance = 5 - speak = list("Shuhn","Shrunnph?","Shunpf") - emote_see = list("scratches the ground","shakes out it's mane","tinkles gently") - -/mob/living/simple_animal/yithian - name = "yithian" - desc = "A friendly creature vaguely resembling an oversized snail without a shell." - icon_state = "yithian" - icon_living = "yithian" - icon_dead = "yithian_dead" - icon = 'icons/jungle.dmi' - - faction = "yithian" - -/mob/living/simple_animal/tindalos - name = "tindalos" - desc = "It looks like a large, flightless grasshopper." - icon_state = "tindalos" - icon_living = "tindalos" - icon_dead = "tindalos_dead" - icon = 'icons/jungle.dmi' - - faction = "tindalos" + playsound(src, 'sound/voice/hiss6.ogg', 100, 1) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/aliens/creature.dm b/code/modules/mob/living/simple_animal/aliens/creature.dm index 3de6d687af0..20840e66db4 100644 --- a/code/modules/mob/living/simple_animal/aliens/creature.dm +++ b/code/modules/mob/living/simple_animal/aliens/creature.dm @@ -13,10 +13,14 @@ speed = 8 harm_intent_damage = 8 - melee_damage_lower = 5 - melee_damage_upper = 5 - attacktext = "chomped" + melee_damage_lower = 8 + melee_damage_upper = 15 + attack_armor_pen = 5 //It's a horror from beyond, I ain't gotta explain 5 AP + attack_sharp = 1 + attack_edge = 1 + + attacktext = list("chomped") attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("gibbers") @@ -48,7 +52,7 @@ health = 160 harm_intent_damage = 5 - melee_damage_lower = 8 + melee_damage_lower = 13 melee_damage_upper = 25 /mob/living/simple_animal/hostile/creature/strong/cult diff --git a/code/modules/mob/living/simple_animal/aliens/drone.dm b/code/modules/mob/living/simple_animal/aliens/drone.dm index 2a41e816678..35e09030ddb 100644 --- a/code/modules/mob/living/simple_animal/aliens/drone.dm +++ b/code/modules/mob/living/simple_animal/aliens/drone.dm @@ -25,6 +25,7 @@ projectiletype = /obj/item/projectile/beam/drone projectilesound = 'sound/weapons/laser3.ogg' destroy_surroundings = 0 + hovering = TRUE //Drones aren't affected by atmos. min_oxy = 0 @@ -61,6 +62,9 @@ /mob/living/simple_animal/hostile/malf_drone/Process_Spacemove(var/check_drift = 0) return 1 +/mob/living/simple_animal/hostile/malf_drone/isSynthetic() + return TRUE + //self repair systems have a chance to bring the drone back to life /mob/living/simple_animal/hostile/malf_drone/Life() @@ -150,6 +154,7 @@ disabled = rand(150, 600) hostile = 0 walk(src,0) + ..() /mob/living/simple_animal/hostile/malf_drone/death() ..(null,"suddenly breaks apart.") @@ -271,3 +276,10 @@ /obj/item/projectile/beam/pulse/drone damage = 10 + +// A slightly easier drone, for POIs. +// Difference is that it should not be faster than you. +/mob/living/simple_animal/hostile/malf_drone/lesser + desc = "An automated combat drone with an aged apperance." + returns_home = TRUE + move_to_delay = 6 \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/aliens/faithless.dm b/code/modules/mob/living/simple_animal/aliens/faithless.dm index 24eacae40e9..af2e7da48de 100644 --- a/code/modules/mob/living/simple_animal/aliens/faithless.dm +++ b/code/modules/mob/living/simple_animal/aliens/faithless.dm @@ -17,10 +17,12 @@ response_harm = "hits" harm_intent_damage = 10 - melee_damage_lower = 5 - melee_damage_upper = 5 - attacktext = "gripped" + melee_damage_lower = 10 + melee_damage_upper = 18 + attack_armor_pen = 5 //It's a horror from beyond, I ain't gotta explain 5 AP + + attacktext = list("gripped") attack_sound = 'sound/hallucinations/growl1.ogg' min_oxy = 0 @@ -67,8 +69,8 @@ health = 100 harm_intent_damage = 5 - melee_damage_lower = 7 - melee_damage_upper = 20 + melee_damage_lower = 13 + melee_damage_upper = 28 /mob/living/simple_animal/hostile/faithless/strong/cult diff --git a/code/modules/mob/living/simple_animal/aliens/hivebot.dm b/code/modules/mob/living/simple_animal/aliens/hivebot.dm index 0a7fcd76130..70e3d20f841 100644 --- a/code/modules/mob/living/simple_animal/aliens/hivebot.dm +++ b/code/modules/mob/living/simple_animal/aliens/hivebot.dm @@ -5,7 +5,7 @@ // Default hivebot is melee, and a bit more meaty, so it can meatshield for their ranged friends. /mob/living/simple_animal/hostile/hivebot name = "hivebot" - desc = "A robot. It appears to be somewhat reslient, but lacking a true weapon." + desc = "A robot. It appears to be somewhat resilient, but lacks a true weapon." icon = 'icons/mob/hivebot.dmi' icon_state = "basic" icon_living = "basic" @@ -20,7 +20,7 @@ melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "clawed" + attacktext = list("clawed") projectilesound = 'sound/weapons/Gunshot.ogg' projectiletype = /obj/item/projectile/bullet/hivebot @@ -44,10 +44,10 @@ "No threats found.", "Error: No targets found." ) - emote_hear = list("humms ominously", "whirrs softly", "grinds a gear") + emote_hear = list("hums ominously", "whirrs softly", "grinds a gear") emote_see = list("looks around the area", "turns from side to side") - say_understood = list("Affirmative.", "Positive") - say_cannot = list("Denied.", "Negative") + say_understood = list("Affirmative.", "Positive.") + say_cannot = list("Denied.", "Negative.") say_maybe_target = list("Possible threat detected. Investigating.", "Motion detected.", "Investigating.") say_got_target = list("Threat detected.", "New task: Remove threat.", "Threat removal engaged.", "Engaging target.") @@ -59,11 +59,11 @@ // Melee like the base type, but more fragile. /mob/living/simple_animal/hostile/hivebot/swarm name = "swarm hivebot" - desc = "A robot. It looks fragile and weak" + desc = "A robot. It looks fragile and weak" maxHealth = 1 LASERS_TO_KILL health = 1 LASERS_TO_KILL - melee_damage_lower = 3 - melee_damage_upper = 3 + melee_damage_lower = 8 + melee_damage_upper = 8 // This one has a semi-weak ranged attack. /mob/living/simple_animal/hostile/hivebot/range @@ -85,7 +85,7 @@ // Shoots EMPs, to screw over other robots. /mob/living/simple_animal/hostile/hivebot/range/ion name = "engineering hivebot" - desc = "A robot. It has a tool which emits focused electromagnetic pulses, which are deadly to other synthetic adverseries." + desc = "A robot. It has a tool which emits focused electromagnetic pulses, which are deadly to synthetic adverseries." projectiletype = /obj/item/projectile/ion projectilesound = 'sound/weapons/Laser.ogg' icon_living = "engi" @@ -96,7 +96,7 @@ // Shoots deadly lasers. /mob/living/simple_animal/hostile/hivebot/range/laser name = "laser hivebot" - desc = "A robot. It has an energy weapon." + desc = "A robot. It has an energy weapon." projectiletype = /obj/item/projectile/beam/blue projectilesound = 'sound/weapons/Laser.ogg' maxHealth = 2 LASERS_TO_KILL diff --git a/code/modules/mob/living/simple_animal/aliens/mimic.dm b/code/modules/mob/living/simple_animal/aliens/mimic.dm index b79b5248755..8230256086f 100644 --- a/code/modules/mob/living/simple_animal/aliens/mimic.dm +++ b/code/modules/mob/living/simple_animal/aliens/mimic.dm @@ -24,7 +24,7 @@ harm_intent_damage = 5 melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "attacked" + attacktext = list("attacked") attack_sound = 'sound/weapons/bite.ogg' min_oxy = 0 @@ -55,7 +55,7 @@ // Aggro when you try to open them. Will also pickup loot when spawns and drop it when dies. /mob/living/simple_animal/hostile/mimic/crate - attacktext = "bitten" + attacktext = list("bitten") stop_automated_movement = 1 wander = 0 @@ -63,7 +63,7 @@ // Pickup loot /mob/living/simple_animal/hostile/mimic/crate/initialize() - ..() + . = ..() for(var/obj/item/I in loc) I.forceMove(src) diff --git a/code/modules/mob/living/simple_animal/aliens/shade.dm b/code/modules/mob/living/simple_animal/aliens/shade.dm index 2d502bc10a6..c1c2f1dc016 100644 --- a/code/modules/mob/living/simple_animal/aliens/shade.dm +++ b/code/modules/mob/living/simple_animal/aliens/shade.dm @@ -20,7 +20,8 @@ melee_damage_lower = 5 melee_damage_upper = 15 - attacktext = "drained the life from" + attack_armor_pen = 100 //It's a ghost/horror from beyond, I ain't gotta explain 100 AP + attacktext = list("drained the life from") minbodytemp = 0 maxbodytemp = 4000 diff --git a/code/modules/mob/living/simple_animal/animals/bat.dm b/code/modules/mob/living/simple_animal/animals/bat.dm index a429b2ca7fa..1be28a078f6 100644 --- a/code/modules/mob/living/simple_animal/animals/bat.dm +++ b/code/modules/mob/living/simple_animal/animals/bat.dm @@ -1,6 +1,7 @@ /mob/living/simple_animal/hostile/scarybat name = "space bats" desc = "A swarm of cute little blood sucking bats that looks pretty upset." + tt_desc = "Desmodus rotundus" //Common vampire bat icon = 'icons/mob/bats.dmi' icon_state = "bat" icon_living = "bat" @@ -20,11 +21,14 @@ response_harm = "hits the" harm_intent_damage = 10 - melee_damage_lower = 3 - melee_damage_upper = 3 + + melee_damage_lower = 5 + melee_damage_upper = 5 + attack_sharp = 1 + environment_smash = 1 - attacktext = "bites" + attacktext = list("bites") attack_sound = 'sound/weapons/bite.ogg' min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/animals/bear.dm b/code/modules/mob/living/simple_animal/animals/bear.dm index 29c4fd9219e..d0f871e7cee 100644 --- a/code/modules/mob/living/simple_animal/animals/bear.dm +++ b/code/modules/mob/living/simple_animal/animals/bear.dm @@ -2,6 +2,7 @@ /mob/living/simple_animal/hostile/bear name = "space bear" desc = "RawrRawr!!" + tt_desc = "Ursinae aetherius" //...bearspace? Maybe. icon_state = "bear" icon_living = "bear" icon_dead = "bear_dead" @@ -23,6 +24,8 @@ melee_damage_lower = 20 melee_damage_upper = 30 + attack_sharp = 1 + attack_edge = 1 //Space bears aren't affected by atmos. min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/animals/carp.dm b/code/modules/mob/living/simple_animal/animals/carp.dm index 91266421979..8b6e01c4528 100644 --- a/code/modules/mob/living/simple_animal/animals/carp.dm +++ b/code/modules/mob/living/simple_animal/animals/carp.dm @@ -1,6 +1,7 @@ /mob/living/simple_animal/hostile/carp name = "space carp" desc = "A ferocious, fang-bearing creature that resembles a fish." + tt_desc = "Cyprinus aetherius" //carpspace? maybe icon_state = "carp" icon_living = "carp" icon_dead = "carp_dead" @@ -8,6 +9,7 @@ faction = "carp" intelligence_level = SA_ANIMAL + hovering = TRUE maxHealth = 25 health = 25 speed = 4 @@ -20,7 +22,7 @@ harm_intent_damage = 8 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "bitten" + attacktext = list("bitten") attack_sound = 'sound/weapons/bite.ogg' //Space carp aren't affected by atmos. diff --git a/code/modules/mob/living/simple_animal/animals/cat.dm b/code/modules/mob/living/simple_animal/animals/cat.dm index 039540ed309..c700d1ec06a 100644 --- a/code/modules/mob/living/simple_animal/animals/cat.dm +++ b/code/modules/mob/living/simple_animal/animals/cat.dm @@ -2,6 +2,7 @@ /mob/living/simple_animal/cat name = "cat" desc = "A domesticated, feline pet. Has a tendency to adopt crewmembers." + tt_desc = "Felis catus" intelligence_level = SA_ANIMAL icon_state = "cat2" item_state = "cat2" @@ -9,7 +10,6 @@ icon_dead = "cat2_dead" icon_rest = "cat2_rest" - hostile = 1 //To mice, anyway. investigates = 1 specific_targets = 1 //Only targets with Found() run_at_them = 0 //DOMESTICATED @@ -156,6 +156,7 @@ /mob/living/simple_animal/cat/fluff/Runtime name = "Runtime" desc = "Her fur has the look and feel of velvet, and her tail quivers occasionally." + tt_desc = "Felis medicalis" gender = FEMALE icon_state = "cat" item_state = "cat" diff --git a/code/modules/mob/living/simple_animal/animals/corgi.dm b/code/modules/mob/living/simple_animal/animals/corgi.dm index 4be02a9b0ba..d5c198ad781 100644 --- a/code/modules/mob/living/simple_animal/animals/corgi.dm +++ b/code/modules/mob/living/simple_animal/animals/corgi.dm @@ -1,8 +1,9 @@ //Corgi /mob/living/simple_animal/corgi - name = "\improper corgi" + name = "corgi" real_name = "corgi" desc = "It's a corgi." + tt_desc = "Canis familiaris" intelligence_level = SA_ANIMAL icon_state = "corgi" icon_living = "corgi" @@ -37,6 +38,7 @@ real_name = "Ian" //Intended to hold the name without altering it. gender = MALE desc = "It's a corgi." + tt_desc = "Canis commandus" var/turns_since_scan = 0 var/obj/movement_target response_help = "pets" @@ -96,8 +98,8 @@ sleep(1) /obj/item/weapon/reagent_containers/food/snacks/meat/corgi - name = "Corgi meat" - desc = "Tastes like... well you know..." + name = "corgi meat" + desc = "Tastes like... well, you know..." /mob/living/simple_animal/corgi/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri if(istype(O, /obj/item/weapon/newspaper)) @@ -137,7 +139,7 @@ /mob/living/simple_animal/corgi/puppy - name = "\improper corgi puppy" + name = "corgi puppy" real_name = "corgi" desc = "It's a corgi puppy." icon_state = "puppy" @@ -170,7 +172,7 @@ //Lisa already has a cute bow! /mob/living/simple_animal/corgi/Lisa/Topic(href, href_list) if(href_list["remove_inv"] || href_list["add_inv"]) - usr << "[src] already has a cute bow!" + to_chat(usr, "[src] already has a cute bow!") return ..() @@ -208,7 +210,7 @@ //Technically this should be like, its own file or something or a subset of dog but whatever. Not a coder. /mob/living/simple_animal/corgi/tamaskan - name = "\improper tamaskan" + name = "tamaskan" real_name = "tamaskan" desc = "It's a tamaskan." icon_state = "tamaskan" diff --git a/code/modules/mob/living/simple_animal/animals/crab.dm b/code/modules/mob/living/simple_animal/animals/crab.dm index 35089275e5f..68aa2afd148 100644 --- a/code/modules/mob/living/simple_animal/animals/crab.dm +++ b/code/modules/mob/living/simple_animal/animals/crab.dm @@ -2,6 +2,7 @@ /mob/living/simple_animal/crab name = "crab" desc = "A hard-shelled crustacean. Seems quite content to lounge around all the time." + tt_desc = "Ranina ranina" icon_state = "crab" icon_living = "crab" icon_dead = "crab_dead" @@ -49,7 +50,7 @@ //Sif Crabs /mob/living/simple_animal/giant_crab - name = "Giant Crab" + name = "giant crab" desc = "A large, hard-shelled crustacean. This one is mostly grey." icon_state = "sif_crab" icon_living = "sif_crab" @@ -67,8 +68,11 @@ minbodytemp = 175 - melee_damage_lower = 15 + melee_damage_lower = 22 melee_damage_upper = 35 + attack_armor_pen = 35 + attack_sharp = 1 + attack_edge = 1 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/animals/farm_animals.dm b/code/modules/mob/living/simple_animal/animals/farm_animals.dm index 2fe58dc76fb..52904786a4a 100644 --- a/code/modules/mob/living/simple_animal/animals/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/animals/farm_animals.dm @@ -2,6 +2,7 @@ /mob/living/simple_animal/retaliate/goat name = "goat" desc = "Not known for their pleasant disposition." + tt_desc = "Oreamnos americanus" icon_state = "goat" icon_living = "goat" icon_dead = "goat_dead" @@ -19,7 +20,7 @@ melee_damage_lower = 1 melee_damage_upper = 5 - attacktext = "kicked" + attacktext = list("kicked") speak_chance = 1 speak = list("EHEHEHEHEH","eh?") @@ -85,6 +86,7 @@ /mob/living/simple_animal/cow name = "cow" desc = "Known for their milk, just don't tip them over." + tt_desc = "Bos taurus" icon_state = "cow" icon_living = "cow" icon_dead = "cow_dead" @@ -98,7 +100,7 @@ response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" - attacktext = "kicked" + attacktext = list("kicked") speak_chance = 1 speak = list("moo?","moo","MOOOOOO") @@ -153,6 +155,7 @@ /mob/living/simple_animal/chick name = "\improper chick" desc = "Adorable! They make such a racket though." + tt_desc = "Gallus domesticus" icon_state = "chick" icon_living = "chick" icon_dead = "chick_dead" @@ -168,7 +171,7 @@ response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" - attacktext = "kicked" + attacktext = list("kicked") has_langs = list("Bird") speak_chance = 2 @@ -203,6 +206,7 @@ var/global/chicken_count = 0 /mob/living/simple_animal/chicken name = "\improper chicken" desc = "Hopefully the eggs are good this season." + tt_desc = "Gallus domesticus" icon_state = "chicken" icon_living = "chicken" icon_dead = "chicken_dead" @@ -216,7 +220,7 @@ var/global/chicken_count = 0 response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" - attacktext = "kicked" + attacktext = list("kicked") has_langs = list("Bird") speak_chance = 2 diff --git a/code/modules/mob/living/simple_animal/animals/giant_spider.dm b/code/modules/mob/living/simple_animal/animals/giant_spider.dm index 79cad633178..439e401e089 100644 --- a/code/modules/mob/living/simple_animal/animals/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/animals/giant_spider.dm @@ -8,6 +8,7 @@ /mob/living/simple_animal/hostile/giant_spider name = "giant spider" desc = "Furry and brown, it makes you shudder to look at it. This one has deep red eyes." + tt_desc = "Atrax robustus gigantus" icon_state = "guard" icon_living = "guard" icon_dead = "guard_dead" @@ -28,8 +29,11 @@ response_disarm = "gently pushes aside" response_harm = "punches" - melee_damage_lower = 15 - melee_damage_upper = 20 + melee_damage_lower = 18 + melee_damage_upper = 30 + attack_sharp = 1 + attack_edge = 1 + heat_damage_per_tick = 20 cold_damage_per_tick = 20 @@ -69,8 +73,8 @@ Nurse Family maxHealth = 40 health = 40 - melee_damage_lower = 5 - melee_damage_upper = 10 + melee_damage_lower = 8 + melee_damage_upper = 15 poison_per_bite = 7 poison_type = "stoxin" @@ -88,10 +92,11 @@ Nurse Family maxHealth = 320 health = 320 - melee_damage_lower = 15 - melee_damage_upper = 25 - poison_per_bite = 10 + melee_damage_lower = 20 + melee_damage_upper = 30 + attack_armor_pen = 25 + poison_per_bite = 10 egg_inject_chance = 10 pixel_x = -16 @@ -115,8 +120,8 @@ Nurse Family cooperative = 1 shoot_range = 5 - melee_damage_lower = 5 - melee_damage_upper = 10 + melee_damage_lower = 8 + melee_damage_upper = 15 poison_per_bite = 2 poison_type = "psilocybin" @@ -148,8 +153,8 @@ Nurse Family maxHealth = 100 health = 100 - melee_damage_lower = 5 - melee_damage_upper = 20 + melee_damage_lower = 8 + melee_damage_upper = 25 poison_per_bite = 3 poison_type = "chloralhydrate" @@ -208,9 +213,6 @@ Hunter Family health = 120 move_to_delay = 4 - melee_damage_lower = 10 - melee_damage_upper = 20 - poison_per_bite = 5 /mob/living/simple_animal/hostile/giant_spider/lurker @@ -224,7 +226,7 @@ Hunter Family health = 100 move_to_delay = 4 - melee_damage_lower = 5 + melee_damage_lower = 8 melee_damage_upper = 20 @@ -275,8 +277,8 @@ Guard Family maxHealth = 210 health = 210 - melee_damage_lower = 5 - melee_damage_upper = 10 + melee_damage_lower = 8 + melee_damage_upper = 15 poison_chance = 20 poison_per_bite = 5 @@ -295,8 +297,8 @@ Guard Family maxHealth = 175 health = 175 - melee_damage_lower = 5 - melee_damage_upper = 15 + melee_damage_lower = 10 + melee_damage_upper = 25 poison_chance = 30 poison_per_bite = 1 @@ -312,8 +314,8 @@ Guard Family health = 210 taser_kill = 0 //It -is- the taser. - melee_damage_lower = 5 - melee_damage_upper = 10 + melee_damage_lower = 10 + melee_damage_upper = 25 ranged = 1 projectilesound = 'sound/weapons/taser2.ogg' @@ -335,8 +337,9 @@ Guard Family health = 225 taser_kill = 0 //You will need more than a peashooter to kill the juggernaut. - melee_damage_lower = 10 - melee_damage_upper = 20 + melee_damage_lower = 25 + melee_damage_upper = 40 + attack_armor_pen = 15 poison_chance = 30 poison_per_bite = 0.5 @@ -366,9 +369,6 @@ Guard Family maxHealth = 175 health = 175 - melee_damage_lower = 15 - melee_damage_upper = 20 - poison_per_bite = 5 poison_type = "cryotoxin" diff --git a/code/modules/mob/living/simple_animal/animals/goose.dm b/code/modules/mob/living/simple_animal/animals/goose.dm index 3b3e3bfa219..764a07415cd 100644 --- a/code/modules/mob/living/simple_animal/animals/goose.dm +++ b/code/modules/mob/living/simple_animal/animals/goose.dm @@ -1,10 +1,10 @@ /mob/living/simple_animal/hostile/goose name = "space goose" desc = "That's no duck. That's a space goose. You have a bad feeling about this." + tt_desc = "Anser aetherius" //Goose space?! icon_state = "goose" icon_living = "goose" icon_dead = "goose_dead" - icon_gib = "generic_gib" faction = "geese" intelligence_level = SA_ANIMAL @@ -22,7 +22,7 @@ harm_intent_damage = 5 melee_damage_lower = 5 //they're meant to be annoying, not threatening. melee_damage_upper = 5 //unless there's like a dozen of them, then you're screwed. - attacktext = "pecked" + attacktext = list("pecked") attack_sound = 'sound/weapons/bite.ogg' //SPACE geese aren't affected by atmos. diff --git a/code/modules/mob/living/simple_animal/animals/lizard.dm b/code/modules/mob/living/simple_animal/animals/lizard.dm index e9032a96ef1..c4c1487315d 100644 --- a/code/modules/mob/living/simple_animal/animals/lizard.dm +++ b/code/modules/mob/living/simple_animal/animals/lizard.dm @@ -1,6 +1,7 @@ /mob/living/simple_animal/lizard name = "Lizard" desc = "A cute tiny lizard." + tt_desc = "Gekko gecko" icon = 'icons/mob/critter.dmi' icon_state = "lizard" icon_living = "lizard" @@ -15,7 +16,7 @@ response_disarm = "shoos" response_harm = "stomps on" - attacktext = "bitten" + attacktext = list("bitten") melee_damage_lower = 1 melee_damage_upper = 2 diff --git a/code/modules/mob/living/simple_animal/animals/miscellaneous.dm b/code/modules/mob/living/simple_animal/animals/miscellaneous.dm new file mode 100644 index 00000000000..57fe09727b3 --- /dev/null +++ b/code/modules/mob/living/simple_animal/animals/miscellaneous.dm @@ -0,0 +1,19 @@ +/mob/living/simple_animal/yithian + name = "yithian" + desc = "A friendly creature vaguely resembling an oversized snail without a shell." + icon_state = "yithian" + icon_living = "yithian" + icon_dead = "yithian_dead" + icon = 'icons/jungle.dmi' + + faction = "yithian" + +/mob/living/simple_animal/tindalos + name = "tindalos" + desc = "It looks like a large, flightless grasshopper." + icon_state = "tindalos" + icon_living = "tindalos" + icon_dead = "tindalos_dead" + icon = 'icons/jungle.dmi' + + faction = "tindalos" \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/animals/mouse.dm b/code/modules/mob/living/simple_animal/animals/mouse.dm index 87df9015277..123e82a6110 100644 --- a/code/modules/mob/living/simple_animal/animals/mouse.dm +++ b/code/modules/mob/living/simple_animal/animals/mouse.dm @@ -2,6 +2,7 @@ name = "mouse" real_name = "mouse" desc = "It's a small rodent." + tt_desc = "Mus musculus" icon_state = "mouse_gray" item_state = "mouse_gray" icon_living = "mouse_gray" diff --git a/code/modules/mob/living/simple_animal/animals/parrot.dm b/code/modules/mob/living/simple_animal/animals/parrot.dm index 59e04cf1d6b..67d1a1071c8 100644 --- a/code/modules/mob/living/simple_animal/animals/parrot.dm +++ b/code/modules/mob/living/simple_animal/animals/parrot.dm @@ -31,6 +31,7 @@ /mob/living/simple_animal/parrot name = "parrot" desc = "The parrot squawks, \"It's a parrot! BAWWK!\"" + tt_desc = "Poicephalus robustus" icon = 'icons/mob/animal.dmi' icon_state = "parrot_fly" icon_living = "parrot_fly" diff --git a/code/modules/mob/living/simple_animal/animals/penguin.dm b/code/modules/mob/living/simple_animal/animals/penguin.dm index 09adf4ed412..8463d9ac39c 100644 --- a/code/modules/mob/living/simple_animal/animals/penguin.dm +++ b/code/modules/mob/living/simple_animal/animals/penguin.dm @@ -1,10 +1,10 @@ /mob/living/simple_animal/penguin name = "space penguin" desc = "An ungainly, waddling, cute, and VERY well-dressed bird." + tt_desc = "Aptenodytes forsteri" icon_state = "penguin" icon_living = "penguin" icon_dead = "penguin_dead" - icon_gib = "generic_gib" intelligence_level = SA_ANIMAL maxHealth = 20 @@ -19,7 +19,7 @@ harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 15 - attacktext = "pecked" + attacktext = list("pecked") has_langs = list("Bird") speak_chance = 0 diff --git a/code/modules/mob/living/simple_animal/animals/sif_wildlife/diyaab.dm b/code/modules/mob/living/simple_animal/animals/sif_wildlife/diyaab.dm new file mode 100644 index 00000000000..515591855e5 --- /dev/null +++ b/code/modules/mob/living/simple_animal/animals/sif_wildlife/diyaab.dm @@ -0,0 +1,28 @@ +/mob/living/simple_animal/retaliate/diyaab + name = "diyaab" + desc = "A small pack animal. Although omnivorous, it will hunt meat on occasion." + faction = "diyaab" + icon_state = "diyaab" + icon_living = "diyaab" + icon_dead = "diyaab_dead" + icon = 'icons/jungle.dmi' + + faction = "diyaab" + cooperative = 1 + + maxHealth = 25 + health = 25 + speed = 1 + move_to_delay = 1 + + melee_damage_lower = 4 + melee_damage_upper = 12 + attack_sharp = 1 //Bleeds, but it shouldn't rip off a limb? + + attacktext = list("gouged") + cold_damage_per_tick = 0 + + speak_chance = 5 + speak = list("Awrr?","Aowrl!","Worrl") + emote_see = list("sniffs the air cautiously","looks around") + emote_hear = list("snuffles") \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/animals/sif_wildlife/savik.dm b/code/modules/mob/living/simple_animal/animals/sif_wildlife/savik.dm new file mode 100644 index 00000000000..9289bf1d751 --- /dev/null +++ b/code/modules/mob/living/simple_animal/animals/sif_wildlife/savik.dm @@ -0,0 +1,35 @@ +/mob/living/simple_animal/hostile/savik + name = "savik" + desc = "A fast, armoured predator accustomed to hiding and ambushing in cold terrain." + faction = "savik" + icon_state = "savik" + icon_living = "savik" + icon_dead = "savik_dead" + icon = 'icons/jungle.dmi' + + faction = "savik" + + maxHealth = 125 + health = 125 + speed = 2 + move_to_delay = 2 + + melee_damage_lower = 15 + melee_damage_upper = 35 + attack_armor_pen = 15 + attack_sharp = 1 + attack_edge = 1 + + attacktext = list("mauled") + cold_damage_per_tick = 0 + + speak_chance = 5 + speak = list("Hruuugh!","Hrunnph") + emote_see = list("paws the ground","shakes its mane","stomps") + emote_hear = list("snuffles") + +/mob/living/simple_animal/hostile/savik/handle_stance(var/new_stance) + ..(new_stance) + if(stance == STANCE_ATTACK || stance == STANCE_ATTACKING) + if((health / maxHealth) <= 0.5) // At half health, and fighting someone currently. + add_modifier(/datum/modifier/berserk, 30 SECONDS) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/animals/sif_wildlife/shantak.dm b/code/modules/mob/living/simple_animal/animals/sif_wildlife/shantak.dm new file mode 100644 index 00000000000..652a4939fcc --- /dev/null +++ b/code/modules/mob/living/simple_animal/animals/sif_wildlife/shantak.dm @@ -0,0 +1,28 @@ +/mob/living/simple_animal/hostile/shantak + name = "shantak" + desc = "A piglike creature with a bright iridiscent mane that sparkles as though lit by an inner light. Don't be fooled by its beauty though." + faction = "shantak" + icon_state = "shantak" + icon_living = "shantak" + icon_dead = "shantak_dead" + icon = 'icons/jungle.dmi' + + faction = "shantak" + + maxHealth = 75 + health = 75 + speed = 1 + move_to_delay = 1 + + melee_damage_lower = 12 + melee_damage_upper = 28 + attack_armor_pen = 5 + attack_sharp = 1 + attack_edge = 1 + + attacktext = list("gouged") + cold_damage_per_tick = 0 + + speak_chance = 5 + speak = list("Shuhn","Shrunnph?","Shunpf") + emote_see = list("scratches the ground","shakes out its mane","clinks gently as it moves") \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/animals/slime.dm b/code/modules/mob/living/simple_animal/animals/slime.dm index 7d5fa16dab2..fdb4347ae92 100644 --- a/code/modules/mob/living/simple_animal/animals/slime.dm +++ b/code/modules/mob/living/simple_animal/animals/slime.dm @@ -1,6 +1,7 @@ /mob/living/simple_animal/slime name = "pet slime" desc = "A lovable, domesticated slime." + tt_desc = "Amorphidae proteus" icon = 'icons/mob/slimes.dmi' icon_state = "grey baby slime" icon_living = "grey baby slime" @@ -27,7 +28,7 @@ icon_dead = "rainbow baby slime dead" /mob/living/simple_animal/slime/science/initialize() - ..() + . = ..() overlays.Cut() overlays += "aslime-:33" diff --git a/code/modules/mob/living/simple_animal/animals/spiderbot.dm b/code/modules/mob/living/simple_animal/animals/spiderbot.dm index ff3f03bf57c..83f18c071a7 100644 --- a/code/modules/mob/living/simple_animal/animals/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/animals/spiderbot.dm @@ -1,6 +1,7 @@ /mob/living/simple_animal/spiderbot name = "spider-bot" desc = "A skittering robotic friend!" + tt_desc = "Maintenance Robot" icon = 'icons/mob/robots.dmi' icon_state = "spiderbot-chassis" icon_living = "spiderbot-chassis" @@ -21,7 +22,7 @@ melee_damage_lower = 1 melee_damage_upper = 3 - attacktext = "shocked" + attacktext = list("shocked") min_oxy = 0 max_tox = 0 diff --git a/code/modules/mob/living/simple_animal/animals/tomato.dm b/code/modules/mob/living/simple_animal/animals/tomato.dm index d1bffc6fe13..48882fea57c 100644 --- a/code/modules/mob/living/simple_animal/animals/tomato.dm +++ b/code/modules/mob/living/simple_animal/animals/tomato.dm @@ -18,6 +18,6 @@ harm_intent_damage = 5 melee_damage_upper = 15 melee_damage_lower = 10 - attacktext = "mauled" + attacktext = list("mauled") meat_type = /obj/item/weapon/reagent_containers/food/snacks/tomatomeat diff --git a/code/modules/mob/living/simple_animal/animals/tree.dm b/code/modules/mob/living/simple_animal/animals/tree.dm index 3db514345f3..37169d42a18 100644 --- a/code/modules/mob/living/simple_animal/animals/tree.dm +++ b/code/modules/mob/living/simple_animal/animals/tree.dm @@ -22,7 +22,7 @@ harm_intent_damage = 5 melee_damage_lower = 8 melee_damage_upper = 12 - attacktext = "bitten" + attacktext = list("bitten") attack_sound = 'sound/weapons/bite.ogg' min_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/animals/worm.dm b/code/modules/mob/living/simple_animal/animals/worm.dm index 48ed6039c55..da30dbf8fd1 100644 --- a/code/modules/mob/living/simple_animal/animals/worm.dm +++ b/code/modules/mob/living/simple_animal/animals/worm.dm @@ -56,7 +56,7 @@ melee_damage_lower = 10 melee_damage_upper = 15 - attacktext = "bitten" + attacktext = list("bitten") animate_movement = SLIDE_STEPS diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm index e18a3450662..e4add4d7497 100644 --- a/code/modules/mob/living/simple_animal/borer/borer.dm +++ b/code/modules/mob/living/simple_animal/borer/borer.dm @@ -16,7 +16,7 @@ a_intent = I_HURT stop_automated_movement = 1 status_flags = CANPUSH - attacktext = "nipped" + attacktext = list("nipped") friendly = "prods" wander = 0 pass_flags = PASSTABLE @@ -168,9 +168,6 @@ host.reset_view(null) host.machine = null - - var/mob/living/H = host - H.status_flags &= ~PASSEMOTES host = null return diff --git a/code/modules/mob/living/simple_animal/borer/borer_captive.dm b/code/modules/mob/living/simple_animal/borer/borer_captive.dm index 2290e6ae6a6..c34dca00e88 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_captive.dm @@ -15,7 +15,7 @@ message = sanitize(message) if (!message) return - log_say("[key_name(src)] : [message]") + log_say(message,src) if (stat == 2) return say_dead(message) diff --git a/code/modules/mob/living/simple_animal/borer/borer_powers.dm b/code/modules/mob/living/simple_animal/borer/borer_powers.dm index 311b013ef86..b75da20cc4d 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_powers.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_powers.dm @@ -104,7 +104,6 @@ M << "Something disgusting and slimy wiggles into your ear!" src.host = M - src.host.status_flags |= PASSEMOTES src.forceMove(M) //Update their traitor status. diff --git a/code/modules/mob/living/simple_animal/constructs/constructs.dm b/code/modules/mob/living/simple_animal/constructs/constructs.dm index 412f37f1727..26ab3a12609 100644 --- a/code/modules/mob/living/simple_animal/constructs/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs/constructs.dm @@ -1,21 +1,39 @@ /mob/living/simple_animal/construct name = "Construct" real_name = "Construct" + var/construct_type = "shade" desc = "" speak_emote = list("hisses") emote_hear = list("wails","screeches") + + ui_icons = 'icons/mob/screen1_construct.dmi' + has_hands = 1 + hand_form = "stone manipulators" + response_help = "thinks better of touching" response_disarm = "flailed at" response_harm = "punched" + intelligence_level = SA_HUMANOID // Player controlled. + + hovering = TRUE + softfall = TRUE //Beings made of Hellmarble and powered by the tears of the damned are not concerned with mortal things such as 'gravity'. + parachuting = TRUE + icon_dead = "shade_dead" + var/do_glow = 1 + speed = -1 a_intent = I_HURT stop_automated_movement = 1 + status_flags = CANPUSH + universal_speak = 0 universal_understand = 1 + attack_sound = 'sound/weapons/spiderlunge.ogg' + min_oxy = 0 max_oxy = 0 min_tox = 0 @@ -24,11 +42,16 @@ max_co2 = 0 min_n2 = 0 max_n2 = 0 + minbodytemp = 0 show_stat_health = 1 + faction = "cult" supernatural = 1 + see_invisible = SEE_INVISIBLE_NOLIGHTING + see_in_dark = 7 + var/nullblock = 0 mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY @@ -38,6 +61,51 @@ can_be_antagged = TRUE + taser_kill = 0 // no + + shock_resistance = 0.9 //Electricity isn't very effective on stone, especially that from hell. + + armor = list( + "melee" = 10, + "bullet" = 10, + "laser" = 10, + "energy" = 10, + "bomb" = 10, + "bio" = 100, + "rad" = 100) + +/mob/living/simple_animal/construct/place_spell_in_hand(var/path) + if(!path || !ispath(path)) + return 0 + + //var/obj/item/weapon/spell/S = new path(src) + var/obj/item/weapon/spell/construct/S = new path(src) + + //No hands needed for innate casts. + if(S.cast_methods & CAST_INNATE) + if(S.run_checks()) + S.on_innate_cast(src) + + if(l_hand && r_hand) //Make sure our hands aren't full. + if(istype(r_hand, /obj/item/weapon/spell)) //If they are full, perhaps we can still be useful. + var/obj/item/weapon/spell/r_spell = r_hand + if(r_spell.aspect == ASPECT_CHROMATIC) //Check if we can combine the new spell with one in our hands. + r_spell.on_combine_cast(S, src) + else if(istype(l_hand, /obj/item/weapon/spell)) + var/obj/item/weapon/spell/l_spell = l_hand + if(l_spell.aspect == ASPECT_CHROMATIC) //Check the other hand too. + l_spell.on_combine_cast(S, src) + else //Welp + to_chat(src, "You require a free manipulator to use this power.") + return 0 + + if(S.run_checks()) + put_in_hands(S) + return 1 + else + qdel(S) + return 0 + /mob/living/simple_animal/construct/cultify() return @@ -50,7 +118,17 @@ for(var/spell in construct_spells) src.add_spell(new spell, "const_spell_ready") updateicon() - add_glow() + +/mob/living/simple_animal/construct/updateicon() + overlays.Cut() + ..() + if(do_glow) + add_glow() + +/mob/living/simple_animal/construct/update_icon() + ..() + if(do_glow) + add_glow() /mob/living/simple_animal/construct/death() new /obj/item/weapon/ectoplasm (src.loc) @@ -60,11 +138,15 @@ /mob/living/simple_animal/construct/attack_generic(var/mob/user) if(istype(user, /mob/living/simple_animal/construct/builder)) + var/mob/living/simple_animal/construct/builder/B = user if(health < getMaxHealth()) - adjustBruteLoss(-5) + var/repair_lower_bound = B.melee_damage_lower * -1 + var/repair_upper_bound = B.melee_damage_upper * -1 + adjustBruteLoss(rand(repair_lower_bound, repair_upper_bound)) + adjustFireLoss(rand(repair_lower_bound, repair_upper_bound)) user.visible_message("\The [user] mends some of \the [src]'s wounds.") else - user << "\The [src] is undamaged." + to_chat(user, "\The [src] is undamaged.") return return ..() @@ -82,6 +164,8 @@ user << msg +/mob/living/simple_animal/construct/Process_Spacemove() + return 1 //Constructs levitate, can fall from a shuttle with no harm, and are piloted by either damned spirits or some otherworldly entity. It's not hard to believe. /////////////////Juggernaut/////////////// @@ -90,48 +174,83 @@ /mob/living/simple_animal/construct/armoured name = "Juggernaut" real_name = "Juggernaut" + construct_type = "juggernaut" desc = "A possessed suit of armour driven by the will of the restless dead" icon = 'icons/mob/mob.dmi' icon_state = "behemoth" icon_living = "behemoth" - maxHealth = 250 - health = 250 + maxHealth = 300 + health = 300 response_harm = "harmlessly punches" harm_intent_damage = 0 melee_damage_lower = 30 - melee_damage_upper = 30 - attacktext = "smashed their armoured gauntlet into" + melee_damage_upper = 40 + attack_armor_pen = 60 //Being punched by a living, floating statue. + attacktext = list("smashed their armoured gauntlet into") + friendly = list("pats") mob_size = MOB_HUGE - speed = 3 + speed = 2 //Not super fast, but it might catch up to someone in armor who got punched once or twice. environment_smash = 2 attack_sound = 'sound/weapons/heavysmash.ogg' status_flags = 0 resistance = 10 - construct_spells = list(/spell/aoe_turf/conjure/forcewall/lesser) + construct_spells = list(/spell/aoe_turf/conjure/forcewall/lesser, + /spell/targeted/fortify, + /spell/targeted/construct_advanced/slam + ) + + armor = list( + "melee" = 70, + "bullet" = 30, + "laser" = 30, + "energy" = 30, + "bomb" = 10, + "bio" = 100, + "rad" = 100) /mob/living/simple_animal/construct/armoured/Life() weakened = 0 ..() /mob/living/simple_animal/construct/armoured/bullet_act(var/obj/item/projectile/P) - if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) - var/reflectchance = 80 - round(P.damage/3) - if(prob(reflectchance)) - adjustBruteLoss(P.damage * 0.5) +// if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) //If it's going to be slow, it's probably going to need every reflect it can get. + var/reflectchance = 80 - round(P.damage/3) + if(prob(reflectchance)) + var/damage_mod = rand(2,4) + var/projectile_dam_type = P.damage_type + var/incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3))) + var/armorcheck = run_armor_check(null, P.check_armour) + var/soakedcheck = get_armor_soak(null, P.check_armour) + if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))) + visible_message("The [P.name] bounces off of [src]'s shell!", \ + "The [P.name] bounces off of [src]'s shell!") + new /obj/item/weapon/material/shard/shrapnel(src.loc) + if(!(P.damage_type == BRUTE || P.damage_type == BURN)) + projectile_dam_type = BRUTE + incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to brute for physical projectiles, though severely decreased. + apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect. + else visible_message("The [P.name] gets reflected by [src]'s shell!", \ - "The [P.name] gets reflected by [src]'s shell!") + "The [P.name] gets reflected by [src]'s shell!") + damage_mod = rand(3,5) + incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3))) + if(!(P.damage_type == BRUTE || P.damage_type == BURN)) + projectile_dam_type = BURN + incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to burn for energy-type projectiles, though severely decreased. + apply_damage(incoming_damage, P.damage_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) - // Find a turf near or on the original location to bounce to - if(P.starting) - var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) - var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) - var/turf/curloc = get_turf(src) + // Find a turf near or on the original location to bounce to + if(P.starting) + var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/turf/curloc = get_turf(src) - // redirect the projectile - P.redirect(new_x, new_y, curloc, src) - P.reflected = 1 + // redirect the projectile + P.redirect(new_x, new_y, curloc, src) + P.reflected = 1 - return -1 // complete projectile permutation + return -1 // complete projectile permutation return (..(P)) @@ -144,21 +263,32 @@ /mob/living/simple_animal/construct/wraith name = "Wraith" real_name = "Wraith" - desc = "A wicked bladed shell contraption piloted by a bound spirit" + construct_type = "wraith" + desc = "A wicked bladed shell contraption piloted by a bound spirit." icon = 'icons/mob/mob.dmi' icon_state = "floating" icon_living = "floating" - maxHealth = 75 - health = 75 + maxHealth = 200 + health = 200 melee_damage_lower = 25 - melee_damage_upper = 25 - attacktext = "slashed" + melee_damage_upper = 30 + attack_armor_pen = 15 + attack_sharp = 1 + attack_edge = 1 + attacktext = list("slashed") + friendly = list("pinches") speed = -1 environment_smash = 1 - see_in_dark = 7 attack_sound = 'sound/weapons/rapidslice.ogg' - construct_spells = list(/spell/targeted/ethereal_jaunt/shift) + construct_spells = list(/spell/targeted/ethereal_jaunt/shift, + /spell/targeted/ambush_mode + ) +/mob/living/simple_animal/construct/wraith/DoPunch(var/atom/A) + . = ..() + if(. && isliving(A)) + var/mob/living/L = A + L.add_modifier(/datum/modifier/deep_wounds, 30 SECONDS) /////////////////////////////Artificer///////////////////////// @@ -167,35 +297,43 @@ /mob/living/simple_animal/construct/builder name = "Artificer" real_name = "Artificer" - desc = "A bulbous construct dedicated to building and maintaining The Cult of Nar-Sie's armies" + construct_type = "artificer" + desc = "A bulbous construct dedicated to building and maintaining temples to their otherworldly lords." icon = 'icons/mob/mob.dmi' icon_state = "artificer" icon_living = "artificer" - maxHealth = 50 - health = 50 + maxHealth = 150 + health = 150 response_harm = "viciously beaten" harm_intent_damage = 5 - melee_damage_lower = 5 - melee_damage_upper = 5 - attacktext = "rammed" + melee_damage_lower = 15 //It's not the strongest of the bunch, but that doesn't mean it can't hurt you. + melee_damage_upper = 20 + attacktext = list("rammed") speed = 0 - environment_smash = 1 + environment_smash = 2 attack_sound = 'sound/weapons/rapidslice.ogg' construct_spells = list(/spell/aoe_turf/conjure/construct/lesser, /spell/aoe_turf/conjure/wall, /spell/aoe_turf/conjure/floor, /spell/aoe_turf/conjure/soulstone, - /spell/aoe_turf/conjure/pylon + /spell/aoe_turf/conjure/pylon, + /spell/aoe_turf/conjure/door, + /spell/aoe_turf/conjure/grille, + /spell/targeted/occult_repair_aura, + /spell/targeted/construct_advanced/mend_acolyte ) /////////////////////////////Behemoth///////////////////////// - +/* + * The Behemoth. Admin-allowance only, still try to keep it in some guideline of 'Balanced', even if it means Security has to be fully geared to be so. + */ /mob/living/simple_animal/construct/behemoth name = "Behemoth" real_name = "Behemoth" - desc = "The pinnacle of occult technology, Behemoths are the ultimate weapon in the Cult of Nar-Sie's arsenal." + construct_type = "juggernaut" + desc = "The pinnacle of occult technology, Behemoths are nothing shy of both an Immovable Object, and Unstoppable Force." icon = 'icons/mob/mob.dmi' icon_state = "behemoth" icon_living = "behemoth" @@ -206,39 +344,85 @@ harm_intent_damage = 0 melee_damage_lower = 50 melee_damage_upper = 50 - attacktext = "brutally crushed" + attacktext = list("brutally crushed") + friendly = list("pokes") //Anything nice the Behemoth would do would still Kill the Human. Leave it at poke. speed = 5 environment_smash = 2 attack_sound = 'sound/weapons/heavysmash.ogg' resistance = 10 + icon_scale = 2 var/energy = 0 var/max_energy = 1000 - construct_spells = list(/spell/aoe_turf/conjure/forcewall/lesser) + armor = list( + "melee" = 60, + "bullet" = 60, + "laser" = 60, + "energy" = 30, + "bomb" = 10, + "bio" = 100, + "rad" = 100) + construct_spells = list(/spell/aoe_turf/conjure/forcewall/lesser, + /spell/targeted/fortify, + /spell/targeted/construct_advanced/slam + ) + +/mob/living/simple_animal/construct/behemoth/bullet_act(var/obj/item/projectile/P) + var/reflectchance = 80 - round(P.damage/3) + if(prob(reflectchance)) + visible_message("The [P.name] gets reflected by [src]'s shell!", \ + "The [P.name] gets reflected by [src]'s shell!") + + // Find a turf near or on the original location to bounce to + if(P.starting) + var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/turf/curloc = get_turf(src) + + // redirect the projectile + P.redirect(new_x, new_y, curloc, src) + P.reflected = 1 + + return -1 // complete projectile permutation + + return (..(P)) ////////////////////////Harvester//////////////////////////////// - - +/* + * Master of Spells and Ranged Abilities. Not as fragile as the Wraith, but nowhere near as maneuverable and deadly in melee. + */ /mob/living/simple_animal/construct/harvester name = "Harvester" real_name = "Harvester" - desc = "The promised reward of the livings who follow narsie. Obtained by offering their bodies to the geometer of blood" + construct_type = "harvester" + desc = "A tendril-laden construct piloted by a chained mind." icon = 'icons/mob/mob.dmi' icon_state = "harvester" icon_living = "harvester" maxHealth = 150 health = 150 - melee_damage_lower = 25 + melee_damage_lower = 20 melee_damage_upper = 25 - attacktext = "violently stabbed" - speed = -1 + attack_sharp = 1 + attacktext = list("violently stabbed") + friendly = list("caresses") + speed = 0 environment_smash = 1 - see_in_dark = 7 attack_sound = 'sound/weapons/pierce.ogg' + armor = list( + "melee" = 10, + "bullet" = 20, + "laser" = 20, + "energy" = 20, + "bomb" = 20, + "bio" = 100, + "rad" = 100) + construct_spells = list( - /spell/targeted/harvest, /spell/aoe_turf/knock/harvester, + /spell/targeted/construct_advanced/inversion_beam, + /spell/targeted/construct_advanced/agonizing_sphere, /spell/rune_write ) @@ -249,6 +433,9 @@ overlays += eye_glow set_light(2, -2, l_color = "#FFFFFF") +/mob/living/simple_animal/construct/proc/remove_glow() + overlays.Cut() + ////////////////HUD////////////////////// /mob/living/simple_animal/construct/Life() @@ -267,71 +454,35 @@ silence_spells(purge) -/mob/living/simple_animal/construct/armoured/Life() - ..() +/mob/living/simple_animal/construct/updatehealth() //Special icons. + health = getMaxHealth() - getToxLoss() - getFireLoss() - getBruteLoss() + + //Alive, becoming dead + if((stat < DEAD) && (health <= 0)) + death() + + //Overhealth + if(health > getMaxHealth()) + health = getMaxHealth() + + //Update our hud if we have one if(healths) - switch(health) - if(250 to INFINITY) healths.icon_state = "juggernaut_health0" - if(208 to 249) healths.icon_state = "juggernaut_health1" - if(167 to 207) healths.icon_state = "juggernaut_health2" - if(125 to 166) healths.icon_state = "juggernaut_health3" - if(84 to 124) healths.icon_state = "juggernaut_health4" - if(42 to 83) healths.icon_state = "juggernaut_health5" - if(1 to 41) healths.icon_state = "juggernaut_health6" - else healths.icon_state = "juggernaut_health7" - - -/mob/living/simple_animal/construct/behemoth/Life() - ..() - if(healths) - switch(health) - if(750 to INFINITY) healths.icon_state = "juggernaut_health0" - if(625 to 749) healths.icon_state = "juggernaut_health1" - if(500 to 624) healths.icon_state = "juggernaut_health2" - if(375 to 499) healths.icon_state = "juggernaut_health3" - if(250 to 374) healths.icon_state = "juggernaut_health4" - if(125 to 249) healths.icon_state = "juggernaut_health5" - if(1 to 124) healths.icon_state = "juggernaut_health6" - else healths.icon_state = "juggernaut_health7" - -/mob/living/simple_animal/construct/builder/Life() - ..() - if(healths) - switch(health) - if(50 to INFINITY) healths.icon_state = "artificer_health0" - if(42 to 49) healths.icon_state = "artificer_health1" - if(34 to 41) healths.icon_state = "artificer_health2" - if(26 to 33) healths.icon_state = "artificer_health3" - if(18 to 25) healths.icon_state = "artificer_health4" - if(10 to 17) healths.icon_state = "artificer_health5" - if(1 to 9) healths.icon_state = "artificer_health6" - else healths.icon_state = "artificer_health7" - - - -/mob/living/simple_animal/construct/wraith/Life() - ..() - if(healths) - switch(health) - if(75 to INFINITY) healths.icon_state = "wraith_health0" - if(62 to 74) healths.icon_state = "wraith_health1" - if(50 to 61) healths.icon_state = "wraith_health2" - if(37 to 49) healths.icon_state = "wraith_health3" - if(25 to 36) healths.icon_state = "wraith_health4" - if(12 to 24) healths.icon_state = "wraith_health5" - if(1 to 11) healths.icon_state = "wraith_health6" - else healths.icon_state = "wraith_health7" - - -/mob/living/simple_animal/construct/harvester/Life() - ..() - if(healths) - switch(health) - if(150 to INFINITY) healths.icon_state = "harvester_health0" - if(125 to 149) healths.icon_state = "harvester_health1" - if(100 to 124) healths.icon_state = "harvester_health2" - if(75 to 99) healths.icon_state = "harvester_health3" - if(50 to 74) healths.icon_state = "harvester_health4" - if(25 to 49) healths.icon_state = "harvester_health5" - if(1 to 24) healths.icon_state = "harvester_health6" - else healths.icon_state = "harvester_health7" + if(stat != DEAD) + var/heal_per = (health / getMaxHealth()) * 100 + switch(heal_per) + if(100 to INFINITY) + healths.icon_state = "[construct_type]_health0" + if(80 to 100) + healths.icon_state = "[construct_type]_health1" + if(60 to 80) + healths.icon_state = "[construct_type]_health2" + if(40 to 60) + healths.icon_state = "[construct_type]_health3" + if(20 to 40) + healths.icon_state = "[construct_type]_health4" + if(0 to 20) + healths.icon_state = "[construct_type]_health5" + else + healths.icon_state = "[construct_type]_health6" + else + healths.icon_state = "[construct_type]_health7" \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/constructs/soulstone.dm b/code/modules/mob/living/simple_animal/constructs/soulstone.dm index fdd16152596..6f13789dfc3 100644 --- a/code/modules/mob/living/simple_animal/constructs/soulstone.dm +++ b/code/modules/mob/living/simple_animal/constructs/soulstone.dm @@ -11,6 +11,7 @@ slot_flags = SLOT_BELT origin_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 4) var/imprinted = "empty" + var/possible_constructs = list("Juggernaut","Wraith","Artificer","Harvester") //////////////////////////////Capturing//////////////////////////////////////////////////////// @@ -27,10 +28,7 @@ user << "This being is corrupted by an alien intelligence and cannot be soul trapped." return..() - M.attack_log += text("\[[time_stamp()]\] Has had their soul captured with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to capture the soul of [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to capture the soul of [M.name] ([M.ckey]) (JMP)") - + add_attack_logs(user,M,"Soulstone'd with [src.name]") transfer_soul("VICTIM", M, user) return @@ -148,9 +146,9 @@ src.icon_state = "soulstone2" src.name = "Soul Stone: [S.real_name]" - S << "Your soul has been captured! You are now bound to [U.name]'s will, help them suceed in their goals at all costs." - U << "Capture successful! : [T.real_name]'s soul has been ripped from their body and stored within the soul stone." - U << "The soulstone has been imprinted with [S.real_name]'s mind, it will no longer react to other souls." + to_chat(S, "Your soul has been captured! You are now bound to [U.name]'s will, help them suceed in their goals at all costs.") + to_chat(U, "Capture successful! : [T.real_name]'s soul has been ripped from their body and stored within the soul stone.") + to_chat(U, "The soulstone has been imprinted with [S.real_name]'s mind, it will no longer react to other souls.") src.imprinted = "[S.name]" qdel(T) @@ -158,13 +156,13 @@ if(!istype(T)) return; if (T.stat == DEAD) - U << "Capture failed!: The shade has already been banished!" + to_chat(U, "Capture failed!: The shade has already been banished!") return if(src.contents.len) - U << "Capture failed!: The soul stone is full! Use or free an existing soul to make room." + to_chat(U, "Capture failed!: The soul stone is full! Use or free an existing soul to make room.") return if(T.name != src.imprinted) - U << "Capture failed!: The soul stone has already been imprinted with [src.imprinted]'s mind!" + to_chat(U, "Capture failed!: The soul stone has already been imprinted with [src.imprinted]'s mind!") return T.forceMove(src) //put shade in stone @@ -173,14 +171,15 @@ T.health = T.getMaxHealth() src.icon_state = "soulstone2" - T << "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form" - U << "Capture successful! : [T.name]'s has been recaptured and stored within the soul stone." + to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form") + to_chat(U, "Capture successful! : [T.name]'s has been recaptured and stored within the soul stone.") + /obj/item/device/soulstone/proc/transfer_construct(var/obj/structure/constructshell/T,var/mob/U) var/mob/living/simple_animal/shade/A = locate() in src if(!A) - U << "Capture failed!: The soul stone is empty! Go kill someone!" + to_chat(U,"Capture failed!: The soul stone is empty! Go kill someone!") return; - var/construct_class = alert(U, "Please choose which type of construct you wish to create.",,"Juggernaut","Wraith","Artificer") + var/construct_class = input(U, "Please choose which type of construct you wish to create.") as null|anything in possible_constructs switch(construct_class) if("Juggernaut") var/mob/living/simple_animal/construct/armoured/Z = new /mob/living/simple_animal/construct/armoured (get_turf(T.loc)) @@ -188,8 +187,8 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - Z << "You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike." - Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." + to_chat(Z,"You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike.") + to_chat(Z,"You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") Z.cancel_camera() qdel(src) if("Wraith") @@ -198,8 +197,8 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - Z << "You are playing a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls." - Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." + to_chat(Z,"You are playing a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.") + to_chat(Z,"You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") Z.cancel_camera() qdel(src) if("Artificer") @@ -208,10 +207,31 @@ if(iscultist(U)) cult.add_antagonist(Z.mind) qdel(T) - Z << "You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs" - Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." + to_chat(Z,"You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs") + to_chat(Z,"You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") Z.cancel_camera() qdel(src) + if("Harvester") + var/mob/living/simple_animal/construct/harvester/Z = new /mob/living/simple_animal/construct/harvester (get_turf(T.loc)) + Z.key = A.key + if(iscultist(U)) + cult.add_antagonist(Z.mind) + qdel(T) + to_chat(Z,"You are playing a Harvester. You are relatively weak, but your physical frailty is made up for by your ranged abilities.") + to_chat(Z,"You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + Z.cancel_camera() + qdel(src) + if("Behemoth") + var/mob/living/simple_animal/construct/behemoth/Z = new /mob/living/simple_animal/construct/behemoth (get_turf(T.loc)) + Z.key = A.key + if(iscultist(U)) + cult.add_antagonist(Z.mind) + qdel(T) + to_chat(Z,"You are playing a Behemoth. You are incredibly slow, though your slowness is made up for by the fact your shell is far larger than any of your bretheren. You are the Unstoppable Force, and Immovable Object.") + to_chat(Z,"You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + Z.cancel_camera() + qdel(src) + /obj/item/device/soulstone/proc/transfer_soul(var/choice as text, var/target, var/mob/U as mob) switch(choice) if("VICTIM") diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 1171d1f9ac6..5f352705b81 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -86,7 +86,7 @@ //List of different corpse types /obj/effect/landmark/mobcorpse/syndicatesoldier - name = "Syndicate Operative" + name = "Mercenary" corpseuniform = /obj/item/clothing/under/syndicate corpsesuit = /obj/item/clothing/suit/armor/vest corpseshoes = /obj/item/clothing/shoes/boots/swat diff --git a/code/modules/mob/living/simple_animal/humanoids/clown.dm b/code/modules/mob/living/simple_animal/humanoids/clown.dm index ee1341ff38a..5751a058c48 100644 --- a/code/modules/mob/living/simple_animal/humanoids/clown.dm +++ b/code/modules/mob/living/simple_animal/humanoids/clown.dm @@ -26,7 +26,7 @@ harm_intent_damage = 8 melee_damage_lower = 10 melee_damage_upper = 10 - attacktext = "attacked" + attacktext = list("attacked") attack_sound = 'sound/items/bikehorn.ogg' min_oxy = 5 diff --git a/code/modules/mob/living/simple_animal/humanoids/mechamobs.dm b/code/modules/mob/living/simple_animal/humanoids/mechamobs.dm index 3cfafda91a2..c7645d2352a 100644 --- a/code/modules/mob/living/simple_animal/humanoids/mechamobs.dm +++ b/code/modules/mob/living/simple_animal/humanoids/mechamobs.dm @@ -1,5 +1,5 @@ /mob/living/simple_animal/hostile/mecha - name = "syndicate gygax" + name = "mercenary gygax" desc = "Well that's forboding." icon = 'icons/mecha/mecha.dmi' icon_state = "darkgygax" @@ -28,7 +28,7 @@ harm_intent_damage = 0 melee_damage_lower = 35 melee_damage_upper = 35 - attacktext = "slashed" + attacktext = list("slashed") attack_sound = 'sound/weapons/bladeslice.ogg' min_oxy = 0 @@ -84,7 +84,7 @@ sparks.start() /mob/living/simple_animal/hostile/mecha/death() - ..(0,"is explodes!") + ..(0,"explodes!") sparks.start() explosion(get_turf(src), 0, 0, 1, 3) qdel(src) @@ -93,3 +93,29 @@ /mob/living/simple_animal/hostile/mecha/Move() ..() playsound(src,'sound/mecha/mechstep.ogg',40,1) + + +/mob/living/simple_animal/hostile/mecha/malf_drone + name = "autonomous mechanized drone" + desc = "It appears to be an exosuit, piloted by a drone intelligence. It looks scary." + intelligence_level = SA_ROBOTIC + faction = "malf_drone" + speak_chance = 1 + speak = list( + "Resuming task: Protect area.", + "No threats found.", + "Error: No targets found." + ) + emote_hear = list("humms ominously", "whirrs softly", "grinds a gear") + emote_see = list("looks around the area", "turns from side to side") + say_understood = list("Affirmative.", "Positive.") + say_cannot = list("Denied.", "Negative.") + say_maybe_target = list("Possible threat detected. Investigating.", "Motion detected.", "Investigating.") + say_got_target = list("Threat detected.", "New task: Remove threat.", "Threat removal engaged.", "Engaging target.") + returns_home = TRUE + +/mob/living/simple_animal/hostile/mecha/malf_drone/isSynthetic() + return TRUE + +/mob/living/simple_animal/hostile/mecha/malf_drone/speech_bubble_appearance() + return "synthetic_evil" \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/humanoids/pirate.dm b/code/modules/mob/living/simple_animal/humanoids/pirate.dm index f0c7c05ddc0..59a907e846a 100644 --- a/code/modules/mob/living/simple_animal/humanoids/pirate.dm +++ b/code/modules/mob/living/simple_animal/humanoids/pirate.dm @@ -28,7 +28,11 @@ harm_intent_damage = 5 melee_damage_lower = 30 melee_damage_upper = 30 - attacktext = "slashed" + attack_armor_pen = 50 + attack_sharp = 1 + attack_edge = 1 + + attacktext = list("slashed") attack_sound = 'sound/weapons/bladeslice.ogg' min_oxy = 5 diff --git a/code/modules/mob/living/simple_animal/humanoids/russian.dm b/code/modules/mob/living/simple_animal/humanoids/russian.dm index 1589fe2a7da..2c3fc68c713 100644 --- a/code/modules/mob/living/simple_animal/humanoids/russian.dm +++ b/code/modules/mob/living/simple_animal/humanoids/russian.dm @@ -30,7 +30,7 @@ harm_intent_damage = 5 melee_damage_lower = 15 melee_damage_upper = 15 - attacktext = "punched" + attacktext = list("punched") min_oxy = 5 max_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/humanoids/syndicate.dm b/code/modules/mob/living/simple_animal/humanoids/syndicate.dm index edc46025a95..d6420fe6d6b 100644 --- a/code/modules/mob/living/simple_animal/humanoids/syndicate.dm +++ b/code/modules/mob/living/simple_animal/humanoids/syndicate.dm @@ -1,5 +1,5 @@ /mob/living/simple_animal/hostile/syndicate - name = "syndicate operative" + name = "mercenary" desc = "Death to the Company." icon_state = "syndicate" icon_living = "syndicate" @@ -31,7 +31,7 @@ melee_damage_lower = 10 melee_damage_upper = 15 environment_smash = 1 - attacktext = "punched" + attacktext = list("punched") min_oxy = 5 max_oxy = 0 @@ -73,9 +73,12 @@ icon_state = "syndicatemelee" icon_living = "syndicatemelee" - melee_damage_lower = 20 - melee_damage_upper = 25 - attacktext = "slashed" + melee_damage_lower = 30 + melee_damage_upper = 30 + attack_armor_pen = 50 + attack_sharp = 1 + attack_edge = 1 + attacktext = list("slashed") status_flags = 0 @@ -133,7 +136,7 @@ ranged = 1 rapid = 1 projectiletype = /obj/item/projectile/bullet/pistol/medium - casingtype = /obj/item/ammo_casing/spent +// casingtype = /obj/item/ammo_casing/spent //Makes infinite stacks of bullets when put in PoIs. projectilesound = 'sound/weapons/Gunshot_light.ogg' loot_list = list(/obj/item/weapon/gun/projectile/automatic/c20r = 100) @@ -167,6 +170,7 @@ icon_state = "viscerator_attack" icon_living = "viscerator_attack" intelligence_level = SA_ROBOTIC + hovering = TRUE faction = "syndicate" maxHealth = 15 @@ -176,8 +180,10 @@ melee_damage_lower = 15 melee_damage_upper = 15 + attack_sharp = 1 + attack_edge = 1 attack_sound = 'sound/weapons/bladeslice.ogg' - attacktext = "cut" + attacktext = list("cut") min_oxy = 0 max_oxy = 0 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 0379c5d056b..7cb6dee1e64 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -5,6 +5,7 @@ /mob/living/simple_animal name = "animal" + desc = "" icon = 'icons/mob/animal.dmi' health = 20 maxHealth = 20 @@ -13,16 +14,28 @@ mob_swap_flags = MONKEY|SLIME|HUMAN mob_push_flags = MONKEY|SLIME|HUMAN + var/tt_desc = "Uncataloged Life Form" //Tooltip description + //Settings for played mobs var/show_stat_health = 1 // Does the percentage health show in the stat panel for the mob var/ai_inactive = 0 // Set to 1 to turn off most AI actions + var/has_hands = 0 // Set to 1 to enable the use of hands and the hands hud + var/humanoid_hands = 0 // Can a player in this mob use things like guns or AI cards? + var/hand_form = "hands" // Used in IsHumanoidToolUser. 'Your X are not fit-'. + var/list/hud_gears // Slots to show on the hud (typically none) + var/ui_icons // Icon file path to use for the HUD, otherwise generic icons are used + var/r_hand_sprite // If they have hands, + var/l_hand_sprite // they could use some icons. + var/player_msg // Message to print to players about 'how' to play this mob on login. //Mob icon/appearance settings var/icon_living = "" // The iconstate if we're alive, required var/icon_dead = "" // The iconstate if we're dead, required - var/icon_gib = null // The iconstate for being gibbed, optional + var/icon_gib = "generic_gib" // The iconstate for being gibbed, optional. Defaults to a generic gib animation. var/icon_rest = null // The iconstate for resting, optional var/image/modifier_overlay = null // Holds overlays from modifiers. + attack_icon = 'icons/effects/effects.dmi' //Just the default, played like the weapon attack anim + attack_icon_state = "slash" //Just the default //Mob talking settings universal_speak = 0 // Can all mobs in the entire universe understand this one? @@ -69,7 +82,7 @@ var/cold_damage_per_tick = 2 // Same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp var/fire_alert = 0 // 0 = fine, 1 = hot, 2 = cold - var/min_oxy = 5 // Oxygen in moles, minimum, 0 is 'no minimum + var/min_oxy = 5 // Oxygen in moles, minimum, 0 is 'no minimum' var/max_oxy = 0 // Oxygen in moles, maximum, 0 is 'no maximum' var/min_tox = 0 // Phoron min var/max_tox = 1 // Phoron max @@ -104,13 +117,17 @@ //Mob melee settings var/melee_damage_lower = 2 // Lower bound of randomized melee damage var/melee_damage_upper = 6 // Upper bound of randomized melee damage - var/attacktext = "attacked" // "You are [attacktext] by the mob!" - var/friendly = "nuzzles" // What mobs do to people when they aren't really hostile + var/list/attacktext = list("attacked") // "You are [attacktext] by the mob!" + var/list/friendly = list("nuzzles") // "The mob [friendly] the person." var/attack_sound = null // Sound to play when I attack var/environment_smash = 0 // How much environment damage do I do when I hit stuff? var/melee_miss_chance = 15 // percent chance to miss a melee attack. var/melee_attack_minDelay = 5 // How long between attacks at least var/melee_attack_maxDelay = 10 // How long between attacks at most + var/attack_armor_type = "melee" // What armor does this check? + var/attack_armor_pen = 0 // How much armor pen this attack has. + var/attack_sharp = 0 // Is the attack sharp? + var/attack_edge = 0 // Does the attack have an edge? //Special attacks var/spattack_prob = 0 // Chance of the mob doing a special attack (0 for never) @@ -124,15 +141,16 @@ var/astar_adjacent_proc = /turf/proc/CardinalTurfsWithAccess // Proc to use when A* pathfinding. Default makes them bound to cardinals. //Damage resistances + var/shock_resistance = 0 // Siemens modifier, directly subtracted from 1. Value of 0.4 means 0.6 siemens on shocks. var/resistance = 0 // Damage reduction for all types - var/list/resistances = list( - HALLOSS = 0, - BRUTE = 1, - BURN = 1, - TOX = 1, - OXY = 0, - CLONE = 0 - ) + var/list/armor = list( // Values for normal getarmor() checks + "melee" = 0, + "bullet" = 0, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 100, + "rad" = 100) //Scary debug things var/debug_ai = 0 // Logging level for this mob (1,2,3) @@ -168,6 +186,7 @@ home_turf = get_turf(src) path_overlay = new(path_icon,path_icon_state) move_to_delay = max(2,move_to_delay) //Protection against people coding things incorrectly and A* pathing 100% of the time + maxHealth = health for(var/L in has_langs) languages |= all_languages[L] @@ -206,21 +225,17 @@ //Client attached /mob/living/simple_animal/Login() - if(src && src.client) - src.client.screen = list() - src.client.screen += src.client.void - ai_inactive = 1 - handle_stance(STANCE_IDLE) - LoseTarget() - src.client << "Mob AI disabled while you are controlling the mob." - ..() + . = ..() + ai_inactive = 1 + handle_stance(STANCE_IDLE) + LoseTarget() + to_chat(src,"Mob AI disabled while you are controlling the mob.
    You are \the [src]. [player_msg]") //Client detatched /mob/living/simple_animal/Logout() - if(src && !src.client) - spawn(15 SECONDS) //15 seconds to get back into the mob before it goes wild - if(src && !src.client) - ai_inactive = initial(ai_inactive) //So if they never have an AI, they stay that way. + spawn(15 SECONDS) //15 seconds to get back into the mob before it goes wild + if(src && !src.client) + ai_inactive = initial(ai_inactive) //So if they never have an AI, they stay that way. ..() //For debug purposes! @@ -240,23 +255,74 @@ if(health > getMaxHealth()) health = getMaxHealth() + //Update our hud if we have one + if(healths) + if(stat != DEAD) + var/heal_per = (health / getMaxHealth()) * 100 + switch(heal_per) + if(100 to INFINITY) + healths.icon_state = "health0" + if(80 to 100) + healths.icon_state = "health1" + if(60 to 80) + healths.icon_state = "health2" + if(40 to 60) + healths.icon_state = "health3" + if(20 to 40) + healths.icon_state = "health4" + if(0 to 20) + healths.icon_state = "health5" + else + healths.icon_state = "health6" + else + healths.icon_state = "health7" + + //Updates the nutrition while we're here + if(nutrition_icon) + var/food_per = (nutrition / initial(nutrition)) * 100 + switch(food_per) + if(90 to INFINITY) + nutrition_icon.icon_state = "nutrition0" + if(75 to 90) + nutrition_icon.icon_state = "nutrition1" + if(50 to 75) + nutrition_icon.icon_state = "nutrition2" + if(25 to 50) + nutrition_icon.icon_state = "nutrition3" + if(0 to 25) + nutrition_icon.icon_state = "nutrition4" + /mob/living/simple_animal/update_icon() - ..() + . = ..() + var/mutable_appearance/ma = new(src) + ma.layer = layer + ma.plane = plane + + ma.overlays = list(modifier_overlay) + //Awake and normal if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED) )) - icon_state = icon_living + ma.icon_state = icon_living //Dead else if(stat >= DEAD) - icon_state = icon_dead + ma.icon_state = icon_dead //Resting or KO'd else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest) - icon_state = icon_rest + ma.icon_state = icon_rest //Backup else - icon_state = initial(icon_state) + ma.icon_state = initial(icon_state) + + if(has_hands) + if(r_hand_sprite) + ma.overlays += r_hand_sprite + if(l_hand_sprite) + ma.overlays += l_hand_sprite + + appearance = ma // If your simple mob's update_icon() call calls overlays.Cut(), this needs to be called after this, or manually apply modifier_overly to overlays. /mob/living/simple_animal/update_modifier_visuals() @@ -291,7 +357,6 @@ handle_paralysed() handle_supernatural() handle_atmos() //Atmos - update_icon() ai_log("Life() - stance=[stance] ai_inactive=[ai_inactive]", 4) @@ -316,7 +381,7 @@ if(istype(loc,/obj/structure/closet)) var/obj/structure/closet/C = loc if(C.welded) - resist() + handle_resist() else C.open() @@ -376,7 +441,7 @@ // Handle interacting with and taking damage from atmos // TODO - Refactor this to use handle_environment() like a good /mob/living /mob/living/simple_animal/proc/handle_atmos() - var/atmos_suitable = 1 + var/atmos_unsuitable = 0 var/atom/A = src.loc @@ -392,41 +457,52 @@ if(min_oxy) if(Environment.gas["oxygen"] < min_oxy) - atmos_suitable = 0 + atmos_unsuitable = 1 if(max_oxy) if(Environment.gas["oxygen"] > max_oxy) - atmos_suitable = 0 + atmos_unsuitable = 1 if(min_tox) if(Environment.gas["phoron"] < min_tox) - atmos_suitable = 0 + atmos_unsuitable = 2 if(max_tox) if(Environment.gas["phoron"] > max_tox) - atmos_suitable = 0 + atmos_unsuitable = 2 if(min_n2) if(Environment.gas["nitrogen"] < min_n2) - atmos_suitable = 0 + atmos_unsuitable = 1 if(max_n2) if(Environment.gas["nitrogen"] > max_n2) - atmos_suitable = 0 + atmos_unsuitable = 1 if(min_co2) if(Environment.gas["carbon_dioxide"] < min_co2) - atmos_suitable = 0 + atmos_unsuitable = 1 if(max_co2) if(Environment.gas["carbon_dioxide"] > max_co2) - atmos_suitable = 0 + atmos_unsuitable = 1 //Atmos effect if(bodytemperature < minbodytemp) fire_alert = 2 adjustBruteLoss(cold_damage_per_tick) + if(fire) + fire.icon_state = "fire1" else if(bodytemperature > maxbodytemp) fire_alert = 1 adjustBruteLoss(heat_damage_per_tick) + if(fire) + fire.icon_state = "fire2" else fire_alert = 0 + if(fire) + fire.icon_state = "fire0" - if(!atmos_suitable) + if(atmos_unsuitable) adjustBruteLoss(unsuitable_atoms_damage) + if(oxygen) + oxygen.icon_state = "oxy1" + else if(oxygen) + if(oxygen) + oxygen.icon_state = "oxy0" // For setting the stance WITHOUT processing it /mob/living/simple_animal/proc/set_stance(var/new_stance) @@ -459,7 +535,7 @@ stop_automated_movement = 0 //Search for targets while idle - if(hostile) + if(hostile || specific_targets) FindTarget() if(STANCE_FOLLOW) annoyed = 15 @@ -467,7 +543,7 @@ if(follow_until_time && world.time > follow_until_time) LoseFollow() return - if(hostile) + if(hostile || specific_targets) FindTarget() if(STANCE_ATTACK) annoyed = 50 @@ -483,7 +559,7 @@ purge -= 1 /mob/living/simple_animal/gib() - ..(icon_gib,1) + ..(icon_gib,1,icon) // we need to specify where the gib animation is stored /mob/living/simple_animal/emote(var/act, var/type, var/desc) if(act) @@ -496,26 +572,18 @@ custom_emote(2, act_desc) /mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) - if(!Proj) - return ai_log("bullet_act() I was shot by: [Proj.firer]",2) - if(Proj.taser_effect) - stun_effect_act(0, Proj.agony) - + //Projectiles with bonus SA damage if(!Proj.nodamage) - var/true_damage = Proj.damage if(!Proj.SA_vulnerability || Proj.SA_vulnerability == intelligence_level) - true_damage += Proj.SA_bonus_damage - adjustBruteLoss(true_damage) + Proj.damage += Proj.SA_bonus_damage + + . = ..() if(Proj.firer) react_to_attack(Proj.firer) - Proj.on_hit(src) - - return 0 - // When someone clicks us with an empty hand /mob/living/simple_animal/attack_hand(mob/living/carbon/human/M as mob) ..() @@ -554,7 +622,8 @@ react_to_attack(M) if(I_HURT) - adjustBruteLoss(harm_intent_damage) + var/armor = run_armor_check(def_zone = null, attack_flag = "melee") + apply_damage(damage = harm_intent_damage, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE) M.visible_message("[M] [response_harm] \the [src]!") M.do_attack_animation(src) ai_log("attack_hand() I was hit by: [M]",2) @@ -577,34 +646,35 @@ if ((M.client && !( M.blinded ))) M.show_message("[user] applies the [MED] on [src].") else - user << "\The [src] is dead, medical items won't bring \him back to life." + var/datum/gender/T = gender_datums[src.get_visible_gender()] + user << "\The [src] is dead, medical items won't bring [T.him] back to life." // the gender lookup is somewhat overkill, but it functions identically to the obsolete gender macros and future-proofs this code if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. if(istype(O, /obj/item/weapon/material/knife) || istype(O, /obj/item/weapon/material/knife/butch)) harvest(user) else - O.attack(src, user, user.zone_sel.selecting) ai_log("attackby() I was weapon'd by: [user]",2) if(O.force) react_to_attack(user) -/mob/living/simple_animal/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone) - visible_message("\The [src] has been attacked with \the [O] by [user].") + return ..() +/mob/living/simple_animal/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone) + effective_force = O.force + + //Animals can't be stunned(?) + if(O.damtype == HALLOSS) + effective_force = 0 + if(supernatural && istype(O,/obj/item/weapon/nullrod)) + effective_force *= 2 + purge = 3 if(O.force <= resistance) - user << "This weapon is ineffective, it does no damage." + to_chat(user,"This weapon is ineffective, it does no damage.") return 2 - var/damage = O.force - if (O.damtype == HALLOSS) - damage = 0 - if(supernatural && istype(O,/obj/item/weapon/nullrod)) - damage *= 2 - purge = 3 - adjustBruteLoss(damage) ai_log("hit_with_weapon() I was h_w_weapon'd by: [user]",2) react_to_attack(user) - return 0 + . = ..() // When someone throws something at us /mob/living/simple_animal/hitby(atom/movable/AM) @@ -637,6 +707,9 @@ tally = 1 tally *= purge + if(m_intent == "walk") + tally *= 1.5 + return tally+config.animal_delay /mob/living/simple_animal/Stat() @@ -651,6 +724,7 @@ icon_state = icon_rest else icon_state = icon_living + update_icon() /mob/living/simple_animal/death(gibbed, deathmessage = "dies!") density = 0 //We don't block even if we did before @@ -672,18 +746,20 @@ /mob/living/simple_animal/ex_act(severity) if(!blinded) flash_eyes() + var/armor = run_armor_check(def_zone = null, attack_flag = "bomb") + var/bombdam = 500 switch (severity) if (1.0) - adjustBruteLoss(500) - gib() - return - + bombdam = 500 if (2.0) - adjustBruteLoss(60) + bombdam = 60 + if (3.0) + bombdam = 30 + apply_damage(damage = bombdam, damagetype = BRUTE, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE) - if(3.0) - adjustBruteLoss(30) + if(bombdam > maxHealth) + gib() // Check target_mob if worthy of attack (i.e. check if they are dead or empty mecha) /mob/living/simple_animal/proc/SA_attackable(target_mob) @@ -712,6 +788,9 @@ return verb /mob/living/simple_animal/put_in_hands(var/obj/item/W) // No hands. + if(has_hands) + put_in_active_hand(W) + return 1 W.forceMove(get_turf(src)) return 1 @@ -732,7 +811,6 @@ /mob/living/simple_animal/handle_fire() return - /mob/living/simple_animal/update_fire() return /mob/living/simple_animal/IgniteMob() @@ -742,16 +820,16 @@ //We got hit! Consider hitting them back! /mob/living/simple_animal/proc/react_to_attack(var/mob/living/M) - if(stat || M == target_mob) return //Not if we're dead or already hitting them + if(ai_inactive || stat || M == target_mob) return //Not if we're dead or already hitting them if(M in friends || M.faction == faction) return //I'll overlook it THIS time... ai_log("react_to_attack([M])",1) - if(retaliate && set_target(M)) + if(retaliate && set_target(M, 1)) handle_stance(STANCE_ATTACK) return M return 0 -/mob/living/simple_animal/proc/set_target(var/mob/M) +/mob/living/simple_animal/proc/set_target(var/mob/M, forced = 0) ai_log("SetTarget([M])",2) if(!M || (world.time - last_target_time < 5 SECONDS) && target_mob) ai_log("SetTarget() can't set it again so soon",3) @@ -765,7 +843,7 @@ annoyed += 14 sleep(1 SECOND) //For realism - if(M in ListTargets(view_range)) + if(forced || (M in ListTargets(view_range))) try_say_list(say_got_target) target_mob = M last_target_time = world.time @@ -1179,10 +1257,9 @@ var/mob/living/L = target_mob if(prob(melee_miss_chance)) - src.attack_log += text("\[[time_stamp()]\] attacked [L.name] ([L.ckey])") - L.attack_log += text("\[[time_stamp()]\] was attacked by [src.name] ([src.ckey])") - src.visible_message("[src] misses [L]!") - src.do_attack_animation(src) + add_attack_logs(src,L,"Animal-attacked (miss)", admin_notify = FALSE) + visible_message("[src] misses [L]!") + do_attack_animation(src) return L else DoPunch(L) @@ -1194,7 +1271,7 @@ // This is the actual act of 'punching'. Override for special behaviour. /mob/living/simple_animal/proc/DoPunch(var/atom/A) - if(!Adjacent(target_mob)) // They could've moved in the meantime. + if(!Adjacent(A) && !istype(A, /obj/structure/window) && !istype(A, /obj/machinery/door/window)) // They could've moved in the meantime. But a Window probably wouldn't have. This allows player simple-mobs to attack windows. return FALSE var/damage_to_do = rand(melee_damage_lower, melee_damage_upper) @@ -1203,16 +1280,15 @@ if(!isnull(M.outgoing_melee_damage_percent)) damage_to_do *= M.outgoing_melee_damage_percent - if(attack_sound) - playsound(src, attack_sound, 75, 1) - // SA attacks can be blocked with shields. if(ishuman(A)) var/mob/living/carbon/human/H = A if(H.check_shields(damage = damage_to_do, damage_source = src, attacker = src, def_zone = null, attack_text = "the attack")) return FALSE - A.attack_generic(src, damage_to_do, attacktext) + if(A.attack_generic(src, damage_to_do, pick(attacktext), attack_armor_type, attack_armor_pen, attack_sharp, attack_edge) && attack_sound) + playsound(src, attack_sound, 75, 1) + return TRUE //The actual top-level ranged attack proc @@ -1370,23 +1446,23 @@ for(var/obj/structure/window/obstacle in problem_turf) if(obstacle.dir == reverse_dir[dir]) // So that windows get smashed in the right order ai_log("DestroySurroundings() directional window hit",3) - obstacle.attack_generic(src, damage_to_do, attacktext) + obstacle.attack_generic(src, damage_to_do, pick(attacktext)) return else if(obstacle.is_fulltile()) ai_log("DestroySurroundings() full tile window hit",3) - obstacle.attack_generic(src, damage_to_do, attacktext) + obstacle.attack_generic(src, damage_to_do, pick(attacktext)) return var/obj/structure/obstacle = locate(/obj/structure, problem_turf) if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille)) ai_log("DestroySurroundings() generic structure hit [obstacle]",3) - obstacle.attack_generic(src, damage_to_do ,attacktext) + obstacle.attack_generic(src, damage_to_do, pick(attacktext)) return for(var/obj/machinery/door/baddoor in problem_turf) //Required since firelocks take up the same turf if(baddoor.density) ai_log("DestroySurroundings() door hit [baddoor]",3) - baddoor.attack_generic(src, damage_to_do ,attacktext) + baddoor.attack_generic(src, damage_to_do, pick(attacktext)) return //Check for shuttle bumrush @@ -1430,11 +1506,11 @@ //Touches a wire, etc /mob/living/simple_animal/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0, var/def_zone = null) - shock_damage *= siemens_coeff + shock_damage *= max(siemens_coeff - shock_resistance, 0) if (shock_damage < 1) return 0 - adjustFireLoss(shock_damage) + apply_damage(damage = shock_damage, damagetype = BURN, def_zone = null, blocked = null, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE) playsound(loc, "sparks", 50, 1, -1) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread @@ -1446,14 +1522,15 @@ if(taser_kill) var/stunDam = 0 var/agonyDam = 0 + var/armor = run_armor_check(def_zone = null, attack_flag = "energy") if(stun_amount) stunDam += stun_amount * 0.5 - adjustFireLoss(stunDam) + apply_damage(damage = stunDam, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = used_weapon, sharp = FALSE, edge = FALSE) if(agony_amount) agonyDam += agony_amount * 0.5 - adjustFireLoss(agonyDam) + apply_damage(damage = agonyDam, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = used_weapon, sharp = FALSE, edge = FALSE) /mob/living/simple_animal/emp_act(severity) if(!isSynthetic()) @@ -1468,6 +1545,13 @@ if(4) adjustFireLoss(rand(1, 6)) +/mob/living/simple_animal/getarmor(def_zone, attack_flag) + var/armorval = armor[attack_flag] + if(!armorval) + return 0 + else + return armorval + // Force it to target something /mob/living/simple_animal/proc/taunt(var/mob/living/new_target, var/forced = FALSE) if(intelligence_level == SA_HUMANOID && !forced) @@ -1477,10 +1561,151 @@ /mob/living/simple_animal/is_sentient() return intelligence_level != SA_PLANT && intelligence_level != SA_ROBOTIC +// Hand procs for player-controlled SA's +/mob/living/simple_animal/swap_hand() + src.hand = !( src.hand ) + if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) + if(hand) //This being 1 means the left hand is in use + hud_used.l_hand_hud_object.icon_state = "l_hand_active" + hud_used.r_hand_hud_object.icon_state = "r_hand_inactive" + else + hud_used.l_hand_hud_object.icon_state = "l_hand_inactive" + hud_used.r_hand_hud_object.icon_state = "r_hand_active" + return +/* +/mob/living/simple_animal/put_in_active_hand(var/obj/item/I) + if(!has_hands || !istype(I)) + return +*/ +//Puts the item into our active hand if possible. returns 1 on success. +/mob/living/simple_animal/put_in_active_hand(var/obj/item/W) + if(!has_hands) + return FALSE + return (hand ? put_in_l_hand(W) : put_in_r_hand(W)) + +/mob/living/simple_animal/put_in_l_hand(var/obj/item/W) + if(!..() || l_hand) + return 0 + W.forceMove(src) + l_hand = W + W.equipped(src,slot_l_hand) + W.add_fingerprint(src) + update_inv_l_hand() + return TRUE + +/mob/living/simple_animal/put_in_r_hand(var/obj/item/W) + if(!..() || r_hand) + return 0 + W.forceMove(src) + r_hand = W + W.equipped(src,slot_r_hand) + W.add_fingerprint(src) + update_inv_r_hand() + return TRUE + +/mob/living/simple_animal/update_inv_r_hand() + if(QDESTROYING(src)) + return + + if(r_hand) + r_hand.screen_loc = ui_rhand //TODO + + //determine icon state to use + var/t_state + if(r_hand.item_state_slots && r_hand.item_state_slots[slot_r_hand_str]) + t_state = r_hand.item_state_slots[slot_r_hand_str] + else if(r_hand.item_state) + t_state = r_hand.item_state + else + t_state = r_hand.icon_state + + //determine icon to use + var/icon/t_icon + if(r_hand.item_icons && (slot_r_hand_str in r_hand.item_icons)) + t_icon = r_hand.item_icons[slot_r_hand_str] + else if(r_hand.icon_override) + t_state += "_r" + t_icon = r_hand.icon_override + else + t_icon = INV_R_HAND_DEF_ICON + + //apply color + var/image/standing = image(icon = t_icon, icon_state = t_state) + standing.color = r_hand.color + + r_hand_sprite = standing + + else + r_hand_sprite = null + + update_icon() + +/mob/living/simple_animal/update_inv_l_hand() + if(QDESTROYING(src)) + return + + if(l_hand) + l_hand.screen_loc = ui_lhand //TODO + + //determine icon state to use + var/t_state + if(l_hand.item_state_slots && l_hand.item_state_slots[slot_l_hand_str]) + t_state = l_hand.item_state_slots[slot_l_hand_str] + else if(l_hand.item_state) + t_state = l_hand.item_state + else + t_state = l_hand.icon_state + + //determine icon to use + var/icon/t_icon + if(l_hand.item_icons && (slot_l_hand_str in l_hand.item_icons)) + t_icon = l_hand.item_icons[slot_l_hand_str] + else if(l_hand.icon_override) + t_state += "_l" + t_icon = l_hand.icon_override + else + t_icon = INV_L_HAND_DEF_ICON + + //apply color + var/image/standing = image(icon = t_icon, icon_state = t_state) + standing.color = l_hand.color + + l_hand_sprite = standing + + else + l_hand_sprite = null + + update_icon() + +//Can insert extra huds into the hud holder here. +/mob/living/simple_animal/proc/extra_huds(var/datum/hud/hud,var/icon/ui_style,var/list/hud_elements) + return + +//If they can or cannot use tools/machines/etc +/mob/living/simple_animal/IsAdvancedToolUser() + return has_hands + +/mob/living/simple_animal/proc/IsHumanoidToolUser(var/atom/tool) + if(!humanoid_hands) + var/display_name = null + if(tool) + display_name = tool + else + display_name = "object" + to_chat(src, "Your [hand_form] are not fit for use of \the [display_name].") + return humanoid_hands + +/mob/living/simple_animal/drop_from_inventory(var/obj/item/W, var/atom/target = null) + . = ..(W, target) + if(!target) + target = src.loc + if(.) + W.forceMove(src.loc) + //Commands, reactions, etc /mob/living/simple_animal/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/alt_name = "", var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol) ..() - if(reacts && speaker && (message in reactions) && (!hostile || isliving(speaker)) && say_understands(speaker,language)) + if(!ai_inactive && reacts && speaker && (message in reactions) && (!hostile || isliving(speaker)) && say_understands(speaker,language)) var/mob/living/L = speaker if(L.faction == faction) spawn(10) @@ -1498,3 +1723,6 @@ /mob/living/simple_animal/retaliate retaliate = 1 destroy_surroundings = 1 + +/mob/living/simple_animal/get_nametag_desc(mob/user) + return "[tt_desc]" diff --git a/code/modules/mob/living/simple_animal/simple_hud.dm b/code/modules/mob/living/simple_animal/simple_hud.dm new file mode 100644 index 00000000000..5da7e8a6963 --- /dev/null +++ b/code/modules/mob/living/simple_animal/simple_hud.dm @@ -0,0 +1,311 @@ +/mob/living/simple_animal/instantiate_hud(var/datum/hud/hud) + if(!client) + return //Why bother. + + var/ui_style = 'icons/mob/screen1_animal.dmi' + if(ui_icons) + ui_style = ui_icons + + var/ui_color = "#ffffff" + var/ui_alpha = 255 + + var/list/adding = list() + var/list/other = list() + var/list/hotkeybuttons = list() + var/list/slot_info = list() + + hud.adding = adding + hud.other = other + hud.hotkeybuttons = hotkeybuttons + + var/list/hud_elements = list() + var/obj/screen/using + var/obj/screen/inventory/inv_box + + var/has_hidden_gear + if(LAZYLEN(hud_gears)) + for(var/gear_slot in hud_gears) + inv_box = new /obj/screen/inventory() + inv_box.icon = ui_style + inv_box.color = ui_color + inv_box.alpha = ui_alpha + + var/list/slot_data = hud_gears[gear_slot] + inv_box.name = gear_slot + inv_box.screen_loc = slot_data["loc"] + inv_box.slot_id = slot_data["slot"] + inv_box.icon_state = slot_data["state"] + slot_info["[inv_box.slot_id]"] = inv_box.screen_loc + + if(slot_data["dir"]) + inv_box.set_dir(slot_data["dir"]) + + if(slot_data["toggle"]) + other += inv_box + has_hidden_gear = 1 + else + adding += inv_box + + if(has_hidden_gear) + using = new /obj/screen() + using.name = "toggle" + using.icon = ui_style + using.icon_state = "other" + using.screen_loc = ui_inventory + using.hud_layerise() + using.color = ui_color + using.alpha = ui_alpha + adding += using + + //Intent Backdrop + using = new /obj/screen() + using.name = "act_intent" + using.icon = ui_style + using.icon_state = "intent_"+a_intent + using.screen_loc = ui_acti + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + hud.action_intent = using + + hud_elements |= using + + //Small intent quarters + var/icon/ico + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen() + using.name = I_HELP + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM //These sit on the intent box + hud.adding += using + hud.help_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen() + using.name = I_DISARM + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM + hud.adding += using + hud.disarm_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen() + using.name = I_GRAB + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM + hud.adding += using + hud.grab_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen() + using.name = I_HURT + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM + hud.adding += using + hud.hurt_intent = using + + //Move intent (walk/run) + using = new /obj/screen() + using.name = "mov_intent" + using.icon = ui_style + using.icon_state = (m_intent == "run" ? "running" : "walking") + using.screen_loc = ui_movi + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + hud.move_intent = using + + //Resist button + using = new /obj/screen() + using.name = "resist" + using.icon = ui_style + using.icon_state = "act_resist" + using.screen_loc = ui_pull_resist + using.color = ui_color + using.alpha = ui_alpha + hud.hotkeybuttons += using + + //Pull button + pullin = new /obj/screen() + pullin.icon = ui_style + pullin.icon_state = "pull0" + pullin.name = "pull" + pullin.screen_loc = ui_pull_resist + hud.hotkeybuttons += pullin + hud_elements |= pullin + + //Health status + healths = new /obj/screen() + healths.icon = ui_style + healths.icon_state = "health0" + healths.name = "health" + healths.screen_loc = ui_health + hud_elements |= healths + + //Oxygen dep icon + oxygen = new /obj/screen() + oxygen.icon = ui_style + oxygen.icon_state = "oxy0" + oxygen.name = "oxygen" + oxygen.screen_loc = ui_oxygen + hud_elements |= oxygen + + //Toxins present icon + toxin = new /obj/screen() + toxin.icon = ui_style + toxin.icon_state = "tox0" + toxin.name = "toxin" + toxin.screen_loc = ui_toxin + hud_elements |= toxin + + //Fire warning + fire = new /obj/screen() + fire.icon = ui_style + fire.icon_state = "fire0" + fire.name = "fire" + fire.screen_loc = ui_fire + hud_elements |= fire + + //Pressure warning + pressure = new /obj/screen() + pressure.icon = ui_style + pressure.icon_state = "pressure0" + pressure.name = "pressure" + pressure.screen_loc = ui_pressure + hud_elements |= pressure + + //Body temp warning + bodytemp = new /obj/screen() + bodytemp.icon = ui_style + bodytemp.icon_state = "temp0" + bodytemp.name = "body temperature" + bodytemp.screen_loc = ui_temp + hud_elements |= bodytemp + + //Nutrition status + nutrition_icon = new /obj/screen() + nutrition_icon.icon = ui_style + nutrition_icon.icon_state = "nutrition0" + nutrition_icon.name = "nutrition" + nutrition_icon.screen_loc = ui_nutrition + hud_elements |= nutrition_icon + + pain = new /obj/screen( null ) + + zone_sel = new /obj/screen/zone_sel( null ) + zone_sel.icon = ui_style + zone_sel.color = ui_color + zone_sel.alpha = ui_alpha + zone_sel.overlays.Cut() + zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[zone_sel.selecting]") + hud_elements |= zone_sel + + //Hand things + if(has_hands) + //Drop button + using = new /obj/screen() + using.name = "drop" + using.icon = ui_style + using.icon_state = "act_drop" + using.screen_loc = ui_drop_throw + using.color = ui_color + using.alpha = ui_alpha + hud.hotkeybuttons += using + + //Equip detail + using = new /obj/screen() + using.name = "equip" + using.icon = ui_style + using.icon_state = "act_equip" + using.screen_loc = ui_equip + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + + //Hand slots themselves + inv_box = new /obj/screen/inventory/hand() + inv_box.hud = src + inv_box.name = "r_hand" + inv_box.icon = ui_style + inv_box.icon_state = "r_hand_inactive" + if(!hand) //This being 0 or null means the right hand is in use + inv_box.icon_state = "r_hand_active" + inv_box.screen_loc = ui_rhand + inv_box.slot_id = slot_r_hand + inv_box.color = ui_color + inv_box.alpha = ui_alpha + hud.r_hand_hud_object = inv_box + hud.adding += inv_box + slot_info["[slot_r_hand]"] = inv_box.screen_loc + + inv_box = new /obj/screen/inventory/hand() + inv_box.hud = src + inv_box.name = "l_hand" + inv_box.icon = ui_style + inv_box.icon_state = "l_hand_inactive" + if(hand) //This being 1 means the left hand is in use + inv_box.icon_state = "l_hand_active" + inv_box.screen_loc = ui_lhand + inv_box.slot_id = slot_l_hand + inv_box.color = ui_color + inv_box.alpha = ui_alpha + hud.l_hand_hud_object = inv_box + hud.adding += inv_box + slot_info["[slot_l_hand]"] = inv_box.screen_loc + + //Swaphand titlebar + using = new /obj/screen/inventory() + using.name = "hand" + using.icon = ui_style + using.icon_state = "hand1" + using.screen_loc = ui_swaphand1 + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + + using = new /obj/screen/inventory() + using.name = "hand" + using.icon = ui_style + using.icon_state = "hand2" + using.screen_loc = ui_swaphand2 + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + + //Throw button + throw_icon = new /obj/screen() + throw_icon.icon = ui_style + throw_icon.icon_state = "act_throw_off" + throw_icon.name = "throw" + throw_icon.screen_loc = ui_drop_throw + throw_icon.color = ui_color + throw_icon.alpha = ui_alpha + hud.hotkeybuttons += throw_icon + hud_elements |= throw_icon + + extra_huds(hud,ui_style,hud_elements) + + client.screen = list() + + client.screen += hud_elements + client.screen += adding + hotkeybuttons + client.screen += client.void + + return diff --git a/code/modules/mob/living/simple_animal/slime/ai.dm b/code/modules/mob/living/simple_animal/slime/ai.dm index b35ebb6e037..3a8718c9974 100644 --- a/code/modules/mob/living/simple_animal/slime/ai.dm +++ b/code/modules/mob/living/simple_animal/slime/ai.dm @@ -5,9 +5,46 @@ return ..() +/mob/living/simple_animal/slime/Found(mob/living/L) + if(isliving(L)) + if(SA_attackable(L)) + if(L.faction == faction && !attack_same) + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(istype(H.species, /datum/species/monkey)) // istype() is so they'll eat the alien monkeys too. + return H // Monkeys are always food. + else + return + + if(L in friends) + return + + if(istype(L, /mob/living/simple_animal/slime)) + var/mob/living/simple_animal/slime/buddy = L + if(buddy.slime_color == src.slime_color || discipline || unity || buddy.unity) + return // Don't hurt same colored slimes. + else + return buddy //do hurt others + + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(istype(H.species, /datum/species/monkey)) // istype() is so they'll eat the alien monkeys too. + return H // Monkeys are always food. + + if(issilicon(L) || isbot(L)) + if(discipline && !rabid) + return // We're a good slime. For now at least. + return + return + /mob/living/simple_animal/slime/special_target_check(mob/living/L) - if(L.faction == faction && !attack_same) - return FALSE + if(L.faction == faction && !attack_same && !istype(L, /mob/living/simple_animal/slime)) + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(istype(H.species, /datum/species/monkey)) // istype() is so they'll eat the alien monkeys too. + return TRUE // Monkeys are always food. + else + return FALSE if(L in friends) return FALSE diff --git a/code/modules/mob/living/simple_animal/slime/combat.dm b/code/modules/mob/living/simple_animal/slime/combat.dm index 5aee0a7a3a9..d13e81cd309 100644 --- a/code/modules/mob/living/simple_animal/slime/combat.dm +++ b/code/modules/mob/living/simple_animal/slime/combat.dm @@ -180,7 +180,7 @@ var/damage_to_do = rand(melee_damage_lower, melee_damage_upper) var/armor_modifier = abs((L.getarmor(null, "bio") / 100) - 1) - L.attack_generic(src, damage_to_do, attacktext) + L.attack_generic(src, damage_to_do, pick(attacktext)) playsound(src, 'sound/weapons/bite.ogg', 75, 1) // Give the slime some nutrition, if applicable. @@ -199,7 +199,7 @@ if(istype(L,/obj/mecha)) var/obj/mecha/M = L - M.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), attacktext) + M.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), pick(attacktext)) /mob/living/simple_animal/slime/proc/post_attack(var/mob/living/L, var/intent = I_HURT) if(intent != I_HELP) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 21e7c62820d..691b8805742 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -112,6 +112,11 @@ if(!speaker.client) return + //Are all slimes being referred to? + var/mass_order = 0 + if(findtext(message, "slimes")) + mass_order = 1 + // Say hello back. if(findtext(message, "hello") || findtext(message, "hi") || findtext(message, "greetings")) delayed_say(pick("Hello...", "Hi..."), speaker) @@ -165,13 +170,14 @@ var/list/valid_names = splittext(L.name, " ") // Should output list("John", "Doe") as an example. for(var/line in valid_names) // Check each part of someone's name. if(findtext(message, lowertext(line))) // If part of someone's name is in the command, the slime targets them if allowed to. - if(special_target_check(L)) - delayed_say("Okay... I attack \the [L]...", speaker) - LoseFollow() - set_target(L) - return - else - delayed_say("No... I won't attack \the [L].", speaker) - return - // If we're here, it couldn't find anyone with that name. - delayed_say("No... I don't know who to attack...", speaker) + if(!(mass_order && line == "slime")) //don't think random other slimes are target + if(special_target_check(L)) + delayed_say("Okay... I attack \the [L]...", speaker) + LoseFollow() + set_target(L, 1) + return + else + delayed_say("No... I won't attack \the [L].", speaker) + return + // If we're here, it couldn't find anyone with that name. + delayed_say("No... I don't know who to attack...", speaker) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 93b1f0e9c68..219074dc6c7 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -356,10 +356,13 @@ baby.mutation_chance = mutation_chance baby.power_charge = round(power_charge / 4) baby.resentment = max(resentment - 1, 0) - baby.discipline = max(discipline - 1, 0) - baby.obedience = max(obedience - 1, 0) - baby.unity = unity + if(!istype(baby, /mob/living/simple_animal/slime/light_pink)) + baby.discipline = max(discipline - 1, 0) + baby.obedience = max(obedience - 1, 0) + if(!istype(baby, /mob/living/simple_animal/slime/rainbow)) + baby.unity = unity baby.faction = faction + baby.attack_same = attack_same baby.friends = friends.Copy() if(rabid) baby.enrage() diff --git a/code/modules/mob/living/simple_animal/slime/subtypes.dm b/code/modules/mob/living/simple_animal/slime/subtypes.dm index 486c04866f0..d30bdf0d7d3 100644 --- a/code/modules/mob/living/simple_animal/slime/subtypes.dm +++ b/code/modules/mob/living/simple_animal/slime/subtypes.dm @@ -120,7 +120,7 @@ /mob/living/simple_animal/slime/dark_purple desc = "This slime produces ever-coveted phoron. Risky to handle but very much worth it." - color = "#CC23FF" + color = "#660088" slime_color = "dark purple" coretype = /obj/item/slime_extract/dark_purple reagent_injected = "phoron" diff --git a/code/modules/mob/living/voice/voice.dm b/code/modules/mob/living/voice/voice.dm index 3bc7929eacb..68ac2da7584 100644 --- a/code/modules/mob/living/voice/voice.dm +++ b/code/modules/mob/living/voice/voice.dm @@ -8,11 +8,8 @@ emote_type = 2 //This lets them emote through containers. The communicator has a image feed of the person calling them so... /mob/living/voice/New(loc) - add_language("Galactic Common") - for(var/datum/language/L in languages) //This is needed to get around some saycode problems. - if(L.name == "Galactic Common") - set_default_language(L) - break + add_language(LANGUAGE_GALCOM) + set_default_language(all_languages[LANGUAGE_GALCOM]) if(istype(loc, /obj/item/device/communicator)) comm = loc diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 39f2fe24516..0c6b5a5d7ce 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -3,7 +3,7 @@ //Multikey checks and logging lastKnownIP = client.address computer_id = client.computer_id - log_access("Login: [key_name(src)] from [lastKnownIP ? lastKnownIP : "localhost"]-[computer_id] || BYOND v[client.byond_version]") + log_access_in(client) if(config.log_access) for(var/mob/M in player_list) if(M == src) continue @@ -18,10 +18,10 @@ if(matches) if(M.client) message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)].", 1) - log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)].") + log_adminwarn("Notice: [key_name(src)] has the same [matches] as [key_name(M)].") else message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ", 1) - log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).") + log_adminwarn("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).") /mob/Login() @@ -50,9 +50,14 @@ if(!plane_holder) //Lazy plane_holder = new(src) //Not a location, it takes it and saves it. + if(!vis_enabled) vis_enabled = list() client.screen += plane_holder.plane_masters recalculate_vis() //set macro to normal incase it was overriden (like cyborg currently does) - winset(src, null, "mainwindow.macro=macro hotkey_toggle.is-checked=false input.focus=true input.background-color=#D3B5B5") + client.set_hotkeys_macro("macro", "hotkeymode") + + if(!client.tooltips) + client.tooltips = new(client) + \ No newline at end of file diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index bb01c846caf..2a864b78f49 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -1,7 +1,7 @@ /mob/Logout() nanomanager.user_logout(src) // this is used to clean up (remove) this user's Nano UIs player_list -= src - log_access("Logout: [key_name(src)]") + log_access_out(src) if(admin_datums[src.ckey]) if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing. var/admins_number = admins.len diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index dcca51ad31c..c418c287d88 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -50,7 +50,7 @@ /mob/proc/show_message(msg, type, alt, alt_type)//Message, type of message (1 or 2), alternative message, alt message type (1 or 2) - if(!client) return + if(!client && !teleop) return if (type) if((type & 1) && (is_blind() || paralysis) )//Vision related @@ -69,9 +69,11 @@ return // Added voice muffling for Issue 41. if(stat == UNCONSCIOUS || sleeping > 0) - src << "... You can almost hear someone talking ..." + to_chat(src,"... You can almost hear someone talking ...") else - src << msg + to_chat(src,msg) + if(teleop) + to_chat(teleop, create_text_tag("body", "BODY:", teleop) + "[msg]") return // Show a message to all mobs and objects in sight of this one @@ -142,7 +144,6 @@ /mob/proc/Life() // if(organStructure) // organStructure.ProcessOrgans() - //handle_typing_indicator() //You said the typing indicator would be fine. The test determined that was a lie. return #define UNBUCKLED 0 @@ -525,10 +526,10 @@ for(var/name in H.organs_by_name) var/obj/item/organ/external/e = H.organs_by_name[name] if(e && H.lying) - if(((e.status & ORGAN_BROKEN && !(e.splinted)) || e.status & ORGAN_BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100)) + if((e.status & ORGAN_BROKEN && (!e.splinted || (e.splinted && e.splinted in e.contents && prob(30))) || e.status & ORGAN_BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100)) return 1 break - return 0 + return 0 /mob/MouseDrop(mob/M as mob) ..() @@ -645,6 +646,9 @@ /mob/proc/get_gender() return gender +/mob/proc/get_visible_gender() + return gender + /mob/proc/see(message) if(!is_active()) return 0 @@ -764,16 +768,19 @@ if(status_flags & CANSTUN) facing_dir = null stunned = max(max(stunned,amount),0) //can't go below 0, getting a low amount of stun doesn't lower your current stun + update_canmove() //updates lying, canmove and icons return /mob/proc/SetStunned(amount) //if you REALLY need to set stun to a set amount without the whole "can't go below current stunned" if(status_flags & CANSTUN) stunned = max(amount,0) + update_canmove() //updates lying, canmove and icons return /mob/proc/AdjustStunned(amount) if(status_flags & CANSTUN) stunned = max(stunned + amount,0) + update_canmove() //updates lying, canmove and icons return /mob/proc/Weaken(amount) @@ -786,7 +793,7 @@ /mob/proc/SetWeakened(amount) if(status_flags & CANWEAKEN) weakened = max(amount,0) - update_canmove() //updates lying, canmove and icons + update_canmove() //can you guess what this does yet? return /mob/proc/AdjustWeakened(amount) @@ -851,14 +858,17 @@ /mob/proc/Resting(amount) facing_dir = null resting = max(max(resting,amount),0) + update_canmove() return /mob/proc/SetResting(amount) resting = max(amount,0) + update_canmove() return /mob/proc/AdjustResting(amount) resting = max(resting + amount,0) + update_canmove() return /mob/proc/AdjustLosebreath(amount) @@ -1125,4 +1135,27 @@ mob/proc/yank_out_object() /mob/proc/update_client_color() if(client && client.color) animate(client, color = null, time = 10) - return \ No newline at end of file + return + +/mob/proc/swap_hand() + return + +//Throwing stuff +/mob/proc/throw_item(atom/target) + return + +/mob/MouseEntered(location, control, params) + if(usr != src && usr.is_preference_enabled(/datum/client_preference/mob_tooltips)) + openToolTip(user = usr, tip_src = src, params = params, title = get_nametag_name(usr), content = get_nametag_desc(usr)) + + ..() + +/mob/MouseDown() + closeToolTip(usr) //No reason not to, really + + ..() + +/mob/MouseExited() + closeToolTip(usr) //No reason not to, really + + ..() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 2195384e577..7e012c71a0f 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -1,6 +1,7 @@ /mob density = 1 - layer = 4.0 + layer = MOB_LAYER + plane = MOB_PLANE animate_movement = 2 flags = PROXMOVE var/datum/mind/mind @@ -217,7 +218,15 @@ var/seedarkness = 1 //Determines mob's ability to see shadows. 1 = Normal vision, 0 = darkvision - // Falling things - var/hovering = FALSE // Is the mob floating or flying in some way? If so, don't fall normally. //Not implemented yet, idea is to let them ignore terrain slowdown and falling down floors - var/softfall = FALSE // Is the mob able to lessen their impact upon falling? - var/parachuting = FALSE // Is the mob able to jump out of planes and survive? Don't check this directly outside of CanParachute(). \ No newline at end of file + var/get_rig_stats = 0 //Moved from computer.dm + + var/typing + var/obj/effect/decal/typing_indicator + + var/low_priority = FALSE //Skip processing life() if there's just no players on this Z-level + + var/default_pixel_x = 0 //For offsetting mobs + var/default_pixel_y = 0 + + var/attack_icon //Icon to use when attacking w/o anything in-hand + var/attack_icon_state //State for above diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 492ec9cb05a..b5cc72fd199 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -31,7 +31,6 @@ var/force_down //determines if the affecting mob will be pinned to the ground var/dancing //determines if assailant and affecting keep looking at each other. Basically a wrestling position - layer = 21 abstract = 1 item_state = "nothing" w_class = ITEMSIZE_HUGE @@ -181,6 +180,9 @@ //Updating pixelshift, position and direction //Gets called on process, when the grab gets upgraded or the assailant moves /obj/item/weapon/grab/proc/adjust_position() + if(!affecting) + qdel(src) + return if(affecting.buckled) animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING) return @@ -191,7 +193,7 @@ return var/shift = 0 var/adir = get_dir(assailant, affecting) - affecting.layer = 4 + affecting.layer = MOB_LAYER switch(state) if(GRAB_PASSIVE) shift = 8 @@ -214,7 +216,7 @@ switch(adir) if(NORTH) animate(affecting, pixel_x = 0, pixel_y =-shift, 5, 1, LINEAR_EASING) - affecting.layer = 3.9 + affecting.layer = BELOW_MOB_LAYER if(SOUTH) animate(affecting, pixel_x = 0, pixel_y = shift, 5, 1, LINEAR_EASING) if(WEST) @@ -237,6 +239,8 @@ qdel(src) return + var/datum/gender/TU = gender_datums[assailant.get_visible_gender()] + last_action = world.time if(state < GRAB_AGGRESSIVE) @@ -256,26 +260,21 @@ assailant << "You squeeze [affecting], but nothing interesting happens." return - assailant.visible_message("[assailant] has reinforced \his grip on [affecting] (now neck)!") + assailant.visible_message("[assailant] has reinforced [TU.his] grip on [affecting] (now neck)!") state = GRAB_NECK icon_state = "grabbed+1" assailant.set_dir(get_dir(assailant, affecting)) - affecting.attack_log += "\[[time_stamp()]\] Has had their neck grabbed by [assailant.name] ([assailant.ckey])" - assailant.attack_log += "\[[time_stamp()]\] Grabbed the neck of [affecting.name] ([affecting.ckey])" - msg_admin_attack("[key_name(assailant)] grabbed the neck of [key_name(affecting)]") + add_attack_logs(assailant,affecting,"Neck grabbed") hud.icon_state = "kill" hud.name = "kill" affecting.Stun(10) //10 ticks of ensured grab else if(state < GRAB_UPGRADING) - assailant.visible_message("[assailant] starts to tighten \his grip on [affecting]'s neck!") + assailant.visible_message("[assailant] starts to tighten [TU.his] grip on [affecting]'s neck!") hud.icon_state = "kill1" state = GRAB_KILL - assailant.visible_message("[assailant] has tightened \his grip on [affecting]'s neck!") - affecting.attack_log += "\[[time_stamp()]\] Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])" - assailant.attack_log += "\[[time_stamp()]\] Strangled (kill intent) [affecting.name] ([affecting.ckey])" - msg_admin_attack("[key_name(assailant)] strangled (kill intent) [key_name(affecting)]") - + assailant.visible_message("[assailant] has tightened [TU.his] grip on [affecting]'s neck!") + add_attack_logs(assailant,affecting,"Strangled") affecting.setClickCooldown(10) affecting.AdjustLosebreath(1) affecting.set_dir(WEST) @@ -347,7 +346,8 @@ /obj/item/weapon/grab/proc/reset_kill_state() if(state == GRAB_KILL) - assailant.visible_message("[assailant] lost \his tight grip on [affecting]'s neck!") + var/datum/gender/T = gender_datums[assailant.get_visible_gender()] + assailant.visible_message("[assailant] lost [T.his] tight grip on [affecting]'s neck!") hud.icon_state = "kill" state = GRAB_NECK @@ -395,7 +395,7 @@ /obj/item/weapon/grab/Destroy() animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING) - affecting.layer = 4 + affecting.reset_plane_and_layer() if(affecting) affecting.grabbed_by -= src affecting = null diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm index 82dae6e1350..a497bd0cc50 100644 --- a/code/modules/mob/mob_grab_specials.dm +++ b/code/modules/mob/mob_grab_specials.dm @@ -82,9 +82,7 @@ attacker << "You cannot locate any eyes on [target]!" return - attacker.attack_log += text("\[[time_stamp()]\] Attacked [target.name]'s eyes using grab ([target.ckey])") - target.attack_log += text("\[[time_stamp()]\] Had eyes attacked by [attacker.name]'s grab ([attacker.ckey])") - msg_admin_attack("[key_name(attacker)] attacked [key_name(target)]'s eyes using a grab action.") + add_attack_logs(attacker,target,"Eye gouge using grab") attack.handle_eye_attack(attacker, target) @@ -93,7 +91,8 @@ return if(target.lying) return - attacker.visible_message("[attacker] thrusts \his head into [target]'s skull!") + var/datum/gender/T = gender_datums[attacker.get_visible_gender()] + attacker.visible_message("[attacker] thrusts [T.his] head into [target]'s skull!") var/damage = 20 var/obj/item/clothing/hat = attacker.head @@ -110,9 +109,7 @@ target.visible_message("[target] [target.species.get_knockout_message(target)]") playsound(attacker.loc, "swing_hit", 25, 1, -1) - attacker.attack_log += text("\[[time_stamp()]\] Headbutted [target.name] ([target.ckey])") - target.attack_log += text("\[[time_stamp()]\] Headbutted by [attacker.name] ([attacker.ckey])") - msg_admin_attack("[key_name(attacker)] has headbutted [key_name(target)]") + add_attack_logs(attacker,target,"Headbutted using grab") attacker.drop_from_inventory(src) src.loc = null diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 0a623059eb8..10be5318258 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -15,6 +15,11 @@ /proc/mob_size_difference(var/mob_size_A, var/mob_size_B) return round(log(2, mob_size_A/mob_size_B), 1) +/mob/proc/can_wield_item(obj/item/W) + if(W.w_class >= ITEMSIZE_LARGE && issmall(src)) + return FALSE //M is too small to wield this + return TRUE + /proc/istiny(A) if(A && istype(A, /mob/living)) var/mob/living/L = A @@ -323,7 +328,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) set name = "a-intent" set hidden = 1 - if(ishuman(src) || isbrain(src) || isslime(src)) + if(isliving(src) && !isrobot(src)) switch(input) if(I_HELP,I_DISARM,I_GRAB,I_HURT) a_intent = input @@ -512,7 +517,7 @@ proc/is_blind(A) if(istype(belt, /obj/item/weapon/gun) || istype(belt, /obj/item/weapon/melee)) threatcount += 2 - if(species.name != "Human") + if(species.name != SPECIES_HUMAN) threatcount += 2 if(check_records || check_arrest) @@ -619,6 +624,35 @@ var/global/image/backplane backplane = image('icons/misc/win32.dmi') backplane.alpha = 0 backplane.plane = -100 + backplane.layer = MOB_LAYER-0.1 backplane.mouse_opacity = 0 return TRUE + +/mob/proc/get_sound_env(var/pressure_factor) + if (pressure_factor < 0.5) + return SPACE + else + var/area/A = get_area(src) + return A.sound_env + +/mob/proc/position_hud_item(var/obj/item/item, var/slot) + if(!istype(hud_used) || !slot || !LAZYLEN(hud_used.slot_info)) + return + + //They may have hidden their entire hud but the hands + if(!hud_used.hud_shown && slot > slot_r_hand) + item.screen_loc = null + return + + //They may have hidden the icons in the bottom left with the hide button + if(!hud_used.inventory_shown && slot > slot_r_store) + item.screen_loc = null + return + + var/screen_place = hud_used.slot_info["[slot]"] + if(!screen_place) + item.screen_loc = null + return + + item.screen_loc = screen_place diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index af72ba4dd41..b59bd402d31 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -51,14 +51,14 @@ attack_self() return if(SOUTHWEST) - if(iscarbon(usr)) + if(isliving(usr)) var/mob/living/carbon/C = usr C.toggle_throw_mode() else usr << "This mob type cannot throw items." return if(NORTHWEST) - if(iscarbon(usr)) + if(isliving(usr)) var/mob/living/carbon/C = usr if(!C.get_active_hand()) usr << "You have nothing to drop in your hand." @@ -79,8 +79,9 @@ /client/verb/swap_hand() set hidden = 1 - if(istype(mob, /mob/living/carbon)) - mob:swap_hand() + if(istype(mob, /mob/living)) + var/mob/living/L = mob + L.swap_hand() if(istype(mob,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = mob R.cycle_modules() diff --git a/code/modules/mob/mob_planes.dm b/code/modules/mob/mob_planes.dm index 048992c380d..8ffc15bc9f0 100644 --- a/code/modules/mob/mob_planes.dm +++ b/code/modules/mob/mob_planes.dm @@ -94,6 +94,9 @@ var/invis_toggle = FALSE var/list/sub_planes +/obj/screen/plane_master/New() + ..(null) //Never be in anything ever. + /obj/screen/plane_master/proc/set_desired_alpha(var/new_alpha) if(new_alpha != alpha && new_alpha > 0 && new_alpha <= 255) desired_alpha = new_alpha @@ -132,7 +135,7 @@ //Lighting is weird and has matrix shenanigans. Think of this as turning on/off darkness. /obj/screen/plane_master/fullbright plane = PLANE_LIGHTING - layer = LIGHTING_LAYER+1 + layer = LAYER_HUD_BASE+1 // This MUST be above the lighting plane_master color = null //To break lighting when visible (this is sorta backwards) alpha = 0 //Starts full opaque invisibility = 101 diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index ff698675486..34a540ac45b 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -19,6 +19,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image icon_state = pick(using_map.lobby_screens) else icon_state = known_icon_states[1] + . = ..() /mob/new_player var/client/my_client // Need to keep track of this ourselves, since by the time Logout() is called the client has already been nulled diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 25f2f151088..ce34765ac06 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -115,7 +115,13 @@ if(alert(src,"Are you sure you wish to observe? You will have to wait 5 minutes before being able to respawn!","Player Setup","Yes","No") == "Yes") if(!client) return 1 - var/mob/observer/dead/observer = new() + + //Make a new mannequin quickly, and allow the observer to take the appearance + var/mob/living/carbon/human/dummy/mannequin = new() + client.prefs.dress_preview_mob(mannequin) + var/mob/observer/dead/observer = new(mannequin) + observer.forceMove(null) //Let's not stay in our doomed mannequin + qdel(mannequin) spawning = 1 src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo @@ -125,20 +131,13 @@ close_spawn_windows() var/obj/O = locate("landmark*Observer-Start") if(istype(O)) - src << "Now teleporting." - observer.loc = O.loc + to_chat(src,"Now teleporting.") + observer.forceMove(O.loc) else - src << "Could not locate an observer spawn point. Use the Teleport verb to jump to the station map." + to_chat(src,"Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.") observer.timeofdeath = world.time // Set the time of death so that the respawn timer works correctly. announce_ghost_joinleave(src) - var/mob/living/carbon/human/dummy/mannequin = new() - client.prefs.dress_preview_mob(mannequin) - observer.appearance = mannequin - observer.alpha = 127 - observer.layer = initial(observer.layer) - observer.invisibility = initial(observer.invisibility) - qdel(mannequin) if(client.prefs.be_random_name) client.prefs.real_name = random_name(client.prefs.identifying_gender) @@ -326,15 +325,26 @@ if(!IsJobAvailable(rank)) src << alert("[rank] is not available. Please try another.") return 0 + if(!client) + return 0 + + //Find our spawning point. + var/list/join_props = job_master.LateSpawn(client, rank) + var/turf/T = join_props["turf"] + var/join_message = join_props["msg"] + + if(!T || !join_message) + return 0 spawning = 1 close_spawn_windows() job_master.AssignRole(src, rank, 1) - var/mob/living/character = create_character() //creates the human and transfers vars and mind + var/mob/living/character = create_character(T) //creates the human and transfers vars and mind character = job_master.EquipRank(character, rank, 1) //equips the human UpdateFactionList(character) + log_game("JOINED [key_name(character)] as \"[rank]\"") // AIs don't need a spawnpoint, they must spawn at an empty core if(character.mind.assigned_role == "AI") @@ -354,14 +364,11 @@ qdel(src) return - //Find our spawning point. - var/join_message = job_master.LateSpawn(character, rank) // Equip our custom items only AFTER deploying to spawn points eh? equip_custom_items(character) character.apply_traits() - character.lastarea = get_area(loc) // Moving wheelchair if they have one if(character.buckled && istype(character.buckled, /obj/structure/bed/chair/wheelchair)) character.buckled.loc = character.loc @@ -419,7 +426,7 @@ src << browse(dat, "window=latechoices;size=300x640;can_close=1") -/mob/new_player/proc/create_character() +/mob/new_player/proc/create_character(var/turf/T) spawning = 1 close_spawn_windows() @@ -434,19 +441,19 @@ if(chosen_species && use_species_name) // Have to recheck admin due to no usr at roundstart. Latejoins are fine though. if(is_alien_whitelisted(chosen_species)) - new_character = new(loc, use_species_name) + new_character = new(T, use_species_name) if(!new_character) - new_character = new(loc) + new_character = new(T) - new_character.lastarea = get_area(loc) + new_character.lastarea = get_area(T) if(ticker.random_players) new_character.gender = pick(MALE, FEMALE) client.prefs.real_name = random_name(new_character.gender) client.prefs.randomize_appearance_and_body_for(new_character) else - client.prefs.copy_to(new_character) + client.prefs.copy_to(new_character, icon_updates = TRUE) src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo @@ -478,8 +485,8 @@ // Do the initial caching of the player's body icons. new_character.force_update_limbs() + new_character.update_icons_body() new_character.update_eyes() - new_character.regenerate_icons() new_character.key = key //Manually transfer the key to log them in @@ -512,12 +519,12 @@ chosen_species = all_species[client.prefs.species] if(!chosen_species) - return "Human" + return SPECIES_HUMAN if(is_alien_whitelisted(chosen_species)) return chosen_species.name - return "Human" + return SPECIES_HUMAN /mob/new_player/get_gender() if(!client || !client.prefs) ..() diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 1852d3ef617..108a316840f 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -194,30 +194,29 @@ b_skin = blue /datum/preferences/proc/dress_preview_mob(var/mob/living/carbon/human/mannequin) - var/update_icon = FALSE copy_to(mannequin, TRUE) - var/datum/job/previewJob - if(equip_preview_mob) - // Determine what job is marked as 'High' priority, and dress them up as such. - if(job_civilian_low & ASSISTANT) - previewJob = job_master.GetJob("Assistant") - else - for(var/datum/job/job in job_master.occupations) - var/job_flag - switch(job.department_flag) - if(CIVILIAN) - job_flag = job_civilian_high - if(MEDSCI) - job_flag = job_medsci_high - if(ENGSEC) - job_flag = job_engsec_high - if(job.flag == job_flag) - previewJob = job - break - else + if(!equip_preview_mob) return + var/datum/job/previewJob + // Determine what job is marked as 'High' priority, and dress them up as such. + if(job_civilian_low & ASSISTANT) + previewJob = job_master.GetJob("Assistant") + else + for(var/datum/job/job in job_master.occupations) + var/job_flag + switch(job.department_flag) + if(CIVILIAN) + job_flag = job_civilian_high + if(MEDSCI) + job_flag = job_medsci_high + if(ENGSEC) + job_flag = job_engsec_high + if(job.flag == job_flag) + previewJob = job + break + if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT) && !(previewJob && (equip_preview_mob & EQUIP_PREVIEW_JOB) && (previewJob.type == /datum/job/ai || previewJob.type == /datum/job/cyborg))) var/list/equipped_slots = list() //If more than one item takes the same slot only spawn the first for(var/thing in gear) @@ -243,15 +242,10 @@ var/metadata = gear[G.display_name] if(mannequin.equip_to_slot_or_del(G.spawn_item(mannequin, metadata), G.slot)) equipped_slots += G.slot - update_icon = TRUE if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob) mannequin.job = previewJob.title previewJob.equip_preview(mannequin, player_alt_titles[previewJob.title]) - update_icon = TRUE - - if(update_icon) - mannequin.update_icons_all() /datum/preferences/proc/update_preview_icon() var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey) @@ -261,16 +255,13 @@ preview_icon = icon('icons/effects/128x48.dmi', bgstate) preview_icon.Scale(48+32, 16+32) - mannequin.dir = NORTH - var/icon/stamp = getFlatIcon(mannequin) + var/icon/stamp = getFlatIcon(mannequin, defdir=NORTH) preview_icon.Blend(stamp, ICON_OVERLAY, 25, 17) - mannequin.dir = WEST - stamp = getFlatIcon(mannequin) + stamp = getFlatIcon(mannequin, defdir=WEST) preview_icon.Blend(stamp, ICON_OVERLAY, 1, 9) - mannequin.dir = SOUTH - stamp = getFlatIcon(mannequin) + stamp = getFlatIcon(mannequin, defdir=SOUTH) preview_icon.Blend(stamp, ICON_OVERLAY, 49, 1) - preview_icon.Scale(preview_icon.Width() * 2, preview_icon.Height() * 2) // Scaling here to prevent blurring in the browser. \ No newline at end of file + preview_icon.Scale(preview_icon.Width() * 2, preview_icon.Height() * 2) // Scaling here to prevent blurring in the browser. diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 02c61fc8bef..8a2f7690182 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -29,7 +29,7 @@ var/gender = NEUTER // Restrict some styles to specific species - var/list/species_allowed = list("Human","Promethean","Vatborn") + var/list/species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN) // Whether or not the accessory can be affected by colouration var/do_colouration = 1 @@ -52,7 +52,7 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list("Human","Unathi","Promethean","Vatborn") + species_allowed = list(SPECIES_HUMAN,SPECIES_UNATHI,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_VOX) short name = "Short Hair" // try to capatilize the names please~ @@ -208,12 +208,12 @@ bobcurl name = "Bobcurl" icon_state = "hair_bobcurl" - species_allowed = list("Human","Promethean","Vatborn","Unathi") + species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI) bob name = "Bob" icon_state = "hair_bobcut" - species_allowed = list("Human","Promethean","Vatborn","Unathi") + species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI) bobcutalt name = "Chin Length Bob" @@ -238,7 +238,7 @@ buzz name = "Buzzcut" icon_state = "hair_buzzcut" - species_allowed = list("Human","Promethean","Vatborn","Unathi") + species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI) shavehair name = "Shaved Hair" @@ -343,7 +343,7 @@ mohawk name = "Mohawk" icon_state = "hair_d" - species_allowed = list("Human","Promethean","Vatborn","Unathi") + species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI) jensen name = "Adam Jensen Hair" @@ -360,7 +360,7 @@ spiky name = "Spiky" icon_state = "hair_spikey" - species_allowed = list("Human","Promethean","Vatborn","Unathi") + species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI) kusangi name = "Kusanagi Hair" @@ -665,7 +665,7 @@ name = "Shaved" icon_state = "bald" gender = NEUTER - species_allowed = list("Human","Vatborn","Unathi","Tajara","Skrell", "Machine","Teshari", "Vox","Promethean") + species_allowed = list(SPECIES_HUMAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI,SPECIES_TAJ,SPECIES_SKRELL, "Machine", SPECIES_TESHARI, SPECIES_TESHARI,SPECIES_PROMETHEAN) watson name = "Watson Mustache" @@ -706,7 +706,7 @@ elvis name = "Elvis Sideburns" icon_state = "facial_elvis" - species_allowed = list("Human","Promethean","Vatborn","Unathi") + species_allowed = list(SPECIES_HUMAN,SPECIES_PROMETHEAN,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI) abe name = "Abraham Lincoln Beard" @@ -803,326 +803,326 @@ una_spines_long name = "Long Unathi Spines" icon_state = "soghun_longspines" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_spines_short name = "Short Unathi Spines" icon_state = "soghun_shortspines" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_frills_long name = "Long Unathi Frills" icon_state = "soghun_longfrills" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_frills_short name = "Short Unathi Frills" icon_state = "soghun_shortfrills" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_horns name = "Unathi Horns" icon_state = "soghun_horns" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_bighorns name = "Unathi Big Horns" icon_state = "unathi_bighorn" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_smallhorns name = "Unathi Small Horns" icon_state = "unathi_smallhorn" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_ramhorns name = "Unathi Ram Horns" icon_state = "unathi_ramhorn" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_sidefrills name = "Unathi Side Frills" icon_state = "unathi_sidefrills" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) //Skrell 'hairstyles' skr_tentacle_veryshort name = "Skrell Very Short Tentacles" icon_state = "skrell_hair_veryshort" - species_allowed = list("Skrell") + species_allowed = list(SPECIES_SKRELL) gender = MALE skr_tentacle_short name = "Skrell Short Tentacles" icon_state = "skrell_hair_short" - species_allowed = list("Skrell") + species_allowed = list(SPECIES_SKRELL) skr_tentacle_average name = "Skrell Average Tentacles" icon_state = "skrell_hair_average" - species_allowed = list("Skrell") + species_allowed = list(SPECIES_SKRELL) skr_tentacle_verylong name = "Skrell Long Tentacles" icon_state = "skrell_hair_verylong" - species_allowed = list("Skrell") + species_allowed = list(SPECIES_SKRELL) gender = FEMALE //Tajaran hairstyles taj_ears name = "Tajaran Ears" icon_state = "ears_plain" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_clean - name = "Tajara Clean" + name = "Tajaran Clean" icon_state = "hair_clean" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_bangs - name = "Tajara Bangs" + name = "Tajaran Bangs" icon_state = "hair_bangs" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_braid - name = "Tajara Braid" + name = "Tajaran Braid" icon_state = "hair_tbraid" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_shaggy - name = "Tajara Shaggy" + name = "Tajaran Shaggy" icon_state = "hair_shaggy" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_mohawk name = "Tajaran Mohawk" icon_state = "hair_mohawk" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_plait - name = "Tajara Plait" + name = "Tajaran Plait" icon_state = "hair_plait" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_straight - name = "Tajara Straight" + name = "Tajaran Straight" icon_state = "hair_straight" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_long - name = "Tajara Long" + name = "Tajaran Long" icon_state = "hair_long" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_rattail - name = "Tajara Rat Tail" + name = "Tajaran Rat Tail" icon_state = "hair_rattail" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_spiky - name = "Tajara Spiky" + name = "Tajaran Spiky" icon_state = "hair_tajspiky" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_messy - name = "Tajara Messy" + name = "Tajaran Messy" icon_state = "hair_messy" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_curls - name = "Tajara Curly" + name = "Tajaran Curly" icon_state = "hair_curly" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_wife - name = "Tajara Housewife" + name = "Tajaran Housewife" icon_state = "hair_wife" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_victory - name = "Tajara Victory Curls" + name = "Tajaran Victory Curls" icon_state = "hair_victory" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_bob - name = "Tajara Bob" + name = "Tajaran Bob" icon_state = "hair_tbob" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_ears_fingercurl - name = "Tajara Finger Curls" + name = "Tajaran Finger Curls" icon_state = "hair_fingerwave" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) //Teshari things teshari name = "Teshari Default" icon_state = "teshari_default" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_altdefault name = "Teshari Alt. Default" icon_state = "teshari_ears" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_tight name = "Teshari Tight" icon_state = "teshari_tight" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_excited name = "Teshari Spiky" icon_state = "teshari_spiky" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_spike name = "Teshari Spike" icon_state = "teshari_spike" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_long name = "Teshari Overgrown" icon_state = "teshari_long" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_burst name = "Teshari Starburst" icon_state = "teshari_burst" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_shortburst name = "Teshari Short Starburst" icon_state = "teshari_burst_short" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_mohawk name = "Teshari Mohawk" icon_state = "teshari_mohawk" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_pointy name = "Teshari Pointy" icon_state = "teshari_pointy" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_upright name = "Teshari Upright" icon_state = "teshari_upright" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_mane name = "Teshari Mane" icon_state = "teshari_mane" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_droopy name = "Teshari Droopy" icon_state = "teshari_droopy" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) teshari_mushroom name = "Teshari Mushroom" icon_state = "teshari_mushroom" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) // Vox things vox_braid_long name = "Long Vox braid" icon_state = "vox_longbraid" - species_allowed = list("Vox") + species_allowed = list(SPECIES_VOX) vox_braid_short name = "Short Vox Braid" icon_state = "vox_shortbraid" - species_allowed = list("Vox") + species_allowed = list(SPECIES_VOX) vox_quills_short name = "Short Vox Quills" icon_state = "vox_shortquills" - species_allowed = list("Vox") + species_allowed = list(SPECIES_VOX) vox_quills_kingly name = "Kingly Vox Quills" icon_state = "vox_kingly" - species_allowed = list("Vox") + species_allowed = list(SPECIES_VOX) vox_quills_mohawk name = "Quill Mohawk" icon_state = "vox_mohawk" - species_allowed = list("Vox") + species_allowed = list(SPECIES_VOX) /datum/sprite_accessory/facial_hair taj_sideburns - name = "Tajara Sideburns" + name = "Tajaran Sideburns" icon_state = "facial_sideburns" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_mutton - name = "Tajara Mutton" + name = "Tajaran Mutton" icon_state = "facial_mutton" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_pencilstache - name = "Tajara Pencilstache" + name = "Tajaran Pencilstache" icon_state = "facial_pencilstache" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_moustache - name = "Tajara Moustache" + name = "Tajaran Moustache" icon_state = "facial_moustache" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_goatee - name = "Tajara Goatee" + name = "Tajaran Goatee" icon_state = "facial_goatee" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_smallstache - name = "Tajara Smallsatche" + name = "Tajaran Smallsatche" icon_state = "facial_smallstache" - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) //unathi horn beards and the like una_chinhorn name = "Unathi Chin Horn" icon_state = "facial_chinhorns" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_hornadorns name = "Unathi Horn Adorns" icon_state = "facial_hornadorns" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_spinespikes name = "Unathi Spine Spikes" icon_state = "facial_spikes" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_dorsalfrill name = "Unathi Dorsal Frill" icon_state = "facial_dorsalfrill" - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) //Teshari things teshari_beard name = "Teshari Beard" icon_state = "teshari_chin" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) gender = NEUTER teshari_scraggly name = "Teshari Scraggly" icon_state = "teshari_scraggly" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) gender = NEUTER teshari_chops name = "Teshari Chops" icon_state = "teshari_gap" - species_allowed = list("Teshari") + species_allowed = list(SPECIES_TESHARI) gender = NEUTER /* @@ -1137,7 +1137,7 @@ do_colouration = 1 //Almost all of them have it, COLOR_ADD //Empty list is unrestricted. Should only restrict the ones that make NO SENSE on other species, - //like Tajara inner-ear coloring overlay stuff. + //like Tajaran inner-ear coloring overlay stuff. species_allowed = list() var/body_parts = list() //A list of bodyparts this covers, in organ_tag defines @@ -1176,55 +1176,55 @@ name = "Socks Coloration (Taj)" icon_state = "taj_pawsocks" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) una_paw_socks name = "Socks Coloration (Una)" icon_state = "una_pawsocks" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND) - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) paw_socks name = "Socks Coloration (Generic)" icon_state = "pawsocks" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND) - species_allowed = list("Tajara", "Unathi") + species_allowed = list(SPECIES_TAJ, SPECIES_UNATHI) paw_socks_belly name = "Socks,Belly Coloration (Generic)" icon_state = "pawsocksbelly" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO) - species_allowed = list("Tajara", "Unathi") + species_allowed = list(SPECIES_TAJ, SPECIES_UNATHI) belly_hands_feet name = "Hands,Feet,Belly Color (Minor)" icon_state = "bellyhandsfeetsmall" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO) - species_allowed = list("Tajara", "Unathi") + species_allowed = list(SPECIES_TAJ, SPECIES_UNATHI) hands_feet_belly_full name = "Hands,Feet,Belly Color (Major)" icon_state = "bellyhandsfeet" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO) - species_allowed = list("Tajara", "Unathi") + species_allowed = list(SPECIES_TAJ, SPECIES_UNATHI) hands_feet_belly_full_female name = "Hands,Feet,Belly Color (Major, Female)" icon_state = "bellyhandsfeet_female" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) patches name = "Color Patches" icon_state = "patches" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) patchesface name = "Color Patches (Face)" icon_state = "patchesface" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) bands name = "Color Bands" @@ -1240,7 +1240,7 @@ name = "Tiger Stripes" icon_state = "tiger" body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_TORSO,BP_GROIN) - species_allowed = list("Tajara") //There's a tattoo for non-cats + species_allowed = list(SPECIES_TAJ) //There's a tattoo for non-cats tigerhead name = "Tiger Stripes (Head, Minor)" @@ -1251,7 +1251,7 @@ name = "Tiger Stripes (Head, Major)" icon_state = "tigerface" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") //There's a tattoo for non-cats + species_allowed = list(SPECIES_TAJ) //There's a tattoo for non-cats backstripe name = "Back Stripe" @@ -1263,74 +1263,74 @@ name = "Belly Fur (Taj)" icon_state = "taj_belly" body_parts = list(BP_TORSO) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_bellyfull name = "Belly Fur Wide (Taj)" icon_state = "taj_bellyfull" body_parts = list(BP_TORSO) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_earsout name = "Outer Ear (Taj)" icon_state = "taj_earsout" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_earsin name = "Inner Ear (Taj)" icon_state = "taj_earsin" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_nose name = "Nose Color (Taj)" icon_state = "taj_nose" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_crest name = "Chest Fur Crest (Taj)" icon_state = "taj_crest" body_parts = list(BP_TORSO) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_muzzle name = "Muzzle Color (Taj)" icon_state = "taj_muzzle" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_face name = "Cheeks Color (Taj)" icon_state = "taj_face" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) taj_all name = "All Taj Head (Taj)" icon_state = "taj_all" body_parts = list(BP_HEAD) - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) //Una specific stuff una_face name = "Face Color (Una)" icon_state = "una_face" body_parts = list(BP_HEAD) - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_facelow name = "Face Color Low (Una)" icon_state = "una_facelow" body_parts = list(BP_HEAD) - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) una_scutes name = "Scutes (Una)" icon_state = "una_scutes" body_parts = list(BP_TORSO) - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) //skin styles - WIP //going to have to re-integrate this with surgery @@ -1341,27 +1341,27 @@ human name = "Default human skin" icon_state = "default" - species_allowed = list("Human","Vatborn") + species_allowed = list(SPECIES_HUMAN,SPECIES_HUMAN_VATBORN) human_tatt01 name = "Tatt01 human skin" icon_state = "tatt1" - species_allowed = list("Human","Vatborn") + species_allowed = list(SPECIES_HUMAN,SPECIES_HUMAN_VATBORN) tajaran name = "Default tajaran skin" icon_state = "default" icon = 'icons/mob/human_races/r_tajaran.dmi' - species_allowed = list("Tajara") + species_allowed = list(SPECIES_TAJ) unathi name = "Default Unathi skin" icon_state = "default" icon = 'icons/mob/human_races/r_lizard.dmi' - species_allowed = list("Unathi") + species_allowed = list(SPECIES_UNATHI) skrell name = "Default skrell skin" icon_state = "default" icon = 'icons/mob/human_races/r_skrell.dmi' - species_allowed = list("Skrell") + species_allowed = list(SPECIES_SKRELL) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index b5add4f23f9..206450c9098 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -11,7 +11,7 @@ set name = "Say" set category = "IC" - set_typing_indicator(0) + set_typing_indicator(FALSE) usr.say(message) /mob/verb/me_verb(message as text) @@ -24,7 +24,7 @@ message = sanitize(message) - set_typing_indicator(0) + set_typing_indicator(FALSE) if(use_me) usr.emote("me",usr.emote_type,message) else diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 9d30ef72447..dcd95c20de3 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -83,12 +83,14 @@ add_language(LANGUAGE_SOL_COMMON, 1) add_language(LANGUAGE_UNATHI, 1) add_language(LANGUAGE_SIIK, 1) + add_language(LANGUAGE_AKHANI, 1) add_language(LANGUAGE_SKRELLIAN, 1) add_language(LANGUAGE_TRADEBAND, 1) add_language(LANGUAGE_GUTTER, 1) add_language(LANGUAGE_EAL, 1) add_language(LANGUAGE_SCHECHI, 1) add_language(LANGUAGE_SIGN, 1) + add_language(LANGUAGE_TERMINUS, 1) // Lorefolks say it may be so. if(O.client && O.client.prefs) diff --git a/code/modules/mob/typing_indicator.dm b/code/modules/mob/typing_indicator.dm index 0ce5f390c4e..5f0d0894546 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -1,43 +1,34 @@ -#define TYPING_INDICATOR_LIFETIME 30 * 10 //grace period after which typing indicator disappears regardless of text in chatbar +/mob/proc/set_typing_indicator(var/state) //Leaving this here for mobs. -mob/var/hud_typing = 0 //set when typing in an input window instead of chatline -mob/var/typing -mob/var/last_typed -mob/var/last_typed_time - -mob/var/obj/effect/decal/typing_indicator - -/mob/proc/set_typing_indicator(var/state) + if(!is_preference_enabled(/datum/client_preference/show_typing_indicator)) + cut_overlay(typing_indicator, TRUE) + return if(!typing_indicator) typing_indicator = new typing_indicator.icon = 'icons/mob/talk.dmi' typing_indicator.icon_state = "[speech_bubble_appearance()]_typing" - if(client && !stat) - typing_indicator.invisibility = invisibility - if(!is_preference_enabled(/datum/client_preference/show_typing_indicator)) - overlays -= typing_indicator - else - if(state) - if(!typing) - overlays += typing_indicator - typing = 1 - else - if(typing) - overlays -= typing_indicator - typing = 0 - return state + if(state && !typing) + add_overlay(typing_indicator, TRUE) + typing = TRUE + else if(typing) + cut_overlay(typing_indicator, TRUE) + typing = FALSE + + if(shadow) //Multi-Z above-me shadows + shadow.set_typing_indicator(state) + + return state /mob/verb/say_wrapper() set name = ".Say" set hidden = 1 - set_typing_indicator(1) - hud_typing = 1 + set_typing_indicator(TRUE) var/message = input("","say (text)") as text - hud_typing = 0 - set_typing_indicator(0) + set_typing_indicator(FALSE) + if(message) say_verb(message) @@ -45,29 +36,9 @@ mob/var/obj/effect/decal/typing_indicator set name = ".Me" set hidden = 1 - set_typing_indicator(1) - hud_typing = 1 + set_typing_indicator(TRUE) var/message = input("","me (text)") as text - hud_typing = 0 - set_typing_indicator(0) + set_typing_indicator(FALSE) + if(message) me_verb(message) - -/mob/proc/handle_typing_indicator() - if(is_preference_enabled(/datum/client_preference/show_typing_indicator) && !hud_typing) - var/temp = winget(client, "input", "text") - - if (temp != last_typed) - last_typed = temp - last_typed_time = world.time - - if (world.time > last_typed_time + TYPING_INDICATOR_LIFETIME) - set_typing_indicator(0) - return - if(length(temp) > 5 && findtext(temp, "Say \"", 1, 7)) - set_typing_indicator(1) - else if(length(temp) > 3 && findtext(temp, "Me ", 1, 5)) - set_typing_indicator(1) - - else - set_typing_indicator(0) \ No newline at end of file diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 3eab4b967fb..6004ca3e4cf 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -1,30 +1,26 @@ //Most of these are defined at this level to reduce on checks elsewhere in the code. //Having them here also makes for a nice reference list of the various overlay-updating procs available -/mob/proc/regenerate_icons() //TODO: phase this out completely if possible +/mob/proc/regenerate_icons() //Update every aspect of the mob's icons (expensive, resist the urge to use unless you need it) return /mob/proc/update_icons() + update_icon() //Ugh. return -/mob/proc/update_icons_layers(var/update_icons = TRUE) - if(update_icons) - update_icons() +// Obsolete +/mob/proc/update_icons_layers() + return -/mob/proc/update_icons_huds(var/update_icons = TRUE) - if(update_icons) - update_icons() +/mob/proc/update_icons_huds() + return -/mob/proc/update_icons_body(var/update_icons = TRUE) - if(update_icons) - update_icons() +/mob/proc/update_icons_body() + return /mob/proc/update_icons_all() - update_icons_huds(FALSE) - update_icons_body(FALSE) - update_icons_layers(FALSE) - - update_icons() + return +// End obsolete /mob/proc/update_hud() return diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index 59b0b2ebe84..95a6ab7121c 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -67,6 +67,9 @@ /mob/living/carbon/human/can_overcome_gravity() return species && species.can_overcome_gravity(src) +/mob/living/simple_animal/construct/can_overcome_gravity() + return 1 //They care not for standard physics. + /mob/observer/zMove(direction) var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src) if(destination) @@ -84,9 +87,22 @@ /mob/proc/can_ztravel() return 0 +/mob/living/zMove(direction) + //Sort of a lame hack to allow ztravel through zpipes. Should be improved. + if(is_ventcrawling && istype(loc,/obj/machinery/atmospherics/pipe/zpipe)) + var/obj/machinery/atmospherics/pipe/zpipe/currentpipe = loc + if(istype(currentpipe.node1,/obj/machinery/atmospherics/pipe/zpipe)) + currentpipe.ventcrawl_to(src, currentpipe.node1, direction) + else if(istype(currentpipe.node2,/obj/machinery/atmospherics/pipe/zpipe)) + currentpipe.ventcrawl_to(src, currentpipe.node2, direction) + return ..() + /mob/observer/can_ztravel() return 1 +/mob/living/simple_animal/construct/can_ztravel() + return 1 + /mob/living/carbon/human/can_ztravel() if(incapacitated()) return 0 @@ -199,6 +215,9 @@ /mob/living/simple_animal/hostile/carp/can_fall() // So can carp apparently. return FALSE +/mob/living/simple_animal/construct/can_fall() //As do Constructs. + return FALSE + // Check if this atom prevents things standing on it from falling. Return TRUE to allow the fall. /obj/proc/CanFallThru(atom/movable/mover as mob|obj, turf/target as turf) return TRUE @@ -321,6 +340,13 @@ /turf/simulated/open/check_impact(var/atom/movable/falling_atom) return FALSE +// Or actual space. +/turf/space/CheckFall(var/atom/movable/falling_atom) + return FALSE + +/turf/space/check_impact(var/atom/movable/falling_atom) + return FALSE + // We return 1 without calling fall_impact in order to provide a soft landing. So nice. // Note this really should never even get this far /obj/structure/stairs/CheckFall(var/atom/movable/falling_atom) @@ -347,9 +373,12 @@ /atom/movable/proc/fall_impact(var/atom/hit_atom, var/damage_min = 0, var/damage_max = 10, var/silent = FALSE, var/planetary = FALSE) if(!silent) visible_message("\The [src] falls from above and slams into \the [hit_atom]!", "You hear something slam into \the [hit_atom].") + for(var/atom/movable/A in src.contents) + A.fall_impact(hit_atom, damage_min, damage_max, silent = TRUE) // Take damage from falling and hitting the ground -/mob/living/fall_impact(var/turf/landing, var/damage_min = 0, var/damage_max = 30, var/silent = FALSE, var/planetary = FALSE) +/mob/living/fall_impact(var/atom/hit_atom, var/damage_min = 0, var/damage_max = 5, var/silent = FALSE, var/planetary = FALSE) + var/turf/landing = get_turf(hit_atom) if(planetary && src.CanParachute()) if(!silent) visible_message("\The [src] glides in from above and lands on \the [landing]!", \ @@ -376,60 +405,32 @@ "You hear something slam into \the [landing].") playsound(loc, "punch", 25, 1, -1) - if(planetary) //Since the planetary fall damage is calibrated for humans, we need to up this a bit - damage_min *= 2 - damage_max *= 2 - - adjustBruteLoss(rand(damage_min, damage_max)) - return - return - -/mob/living/carbon/human/fall_impact(var/turf/landing, var/damage_min = 0, var/damage_max = 10, var/silent = FALSE, var/planetary = FALSE) - if(planetary && src.CanParachute()) - if(!silent) - visible_message("\The [src] glides in from above and lands on \the [landing]!", \ - "You land on \the [landing]!", \ - "You hear something land \the [landing].") - return - else if(!planetary && src.softfall) // Falling one floor and falling one atmosphere are very different things - if(!silent) - visible_message("\The [src] falls from above and lands on \the [landing]!", \ - "You land on \the [landing]!", \ - "You hear something land \the [landing].") - return - else - if(!silent) - if(planetary) - visible_message("\A [src] falls out of the sky and crashes into \the [landing]!", \ - " You fall out of the skiy and crash into \the [landing]!", \ - "You hear something slam into \the [landing].") - var/turf/T = get_turf(landing) - explosion(T, 0, 1, 2) - else - visible_message("\The [src] falls from above and slams into \the [landing]!", \ - "You fall off and hit \the [landing]!", \ - "You hear something slam into \the [landing].") - playsound(loc, "punch", 25, 1, -1) - - // Because wounds heal rather quickly, 10 should be enough to discourage jumping off but not be enough to ruin you, at least for the first time. - apply_damage(rand(damage_min, damage_max), BRUTE, BP_HEAD) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_TORSO) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_GROIN) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_L_LEG) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_R_LEG) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_L_FOOT) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_R_FOOT) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_L_ARM) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_R_ARM) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_L_HAND) - apply_damage(rand(damage_min, damage_max), BRUTE, BP_R_HAND) + // Because wounds heal rather quickly, 10 (the default for this proc) should be enough to discourage jumping off but not be enough to ruin you, at least for the first time. + // Hits 10 times, because apparently targeting individual limbs lets certain species survive the fall from atmosphere + for(var/i = 1 to 10) + adjustBruteLoss(rand(damage_min, damage_max)) Weaken(4) updatehealth() return return -//Checks if the mob is allowed to survive a fall from space -/mob/living/proc/CanParachute() +//Using /atom/movable instead of /obj/item because I'm not sure what all humans can pick up or wear +/atom/movable + var/parachute = FALSE // Is this thing a parachute itself? + var/hovering = FALSE // Is the thing floating or flying in some way? If so, don't fall normally. //Not implemented yet, idea is to let mobs/mechs ignore terrain slowdown and falling down floors + var/softfall = FALSE // Is the thing able to lessen their impact upon falling? + var/parachuting = FALSE // Is the thing able to jump out of planes and survive? Don't check this directly outside of CanParachute(). + +/atom/movable/proc/isParachute() + return parachute + +//This is what makes the parachute items know they've been used. +//I made it /atom/movable so it can be retooled for other things (mobs, mechs, etc), though it's only currently called in human/CanParachute(). +/atom/movable/proc/handleParachute() + return + +//Checks if the thing is allowed to survive a fall from space +/atom/movable/proc/CanParachute() return parachuting //For humans, this needs to be a wee bit more complicated @@ -454,19 +455,6 @@ else return parachuting -//For human falling code -//Using /obj instead of /obj/item because I'm not sure what all humans can pick up or wear -/obj - var/parachute = FALSE - -/obj/proc/isParachute() - return parachute - -//This is what makes the parachute items know they've been used. -//I made it /atom/movable so it can be retooled for other things (mobs, mechs, etc), though it's only currently called in human/CanParachute(). -/atom/movable/proc/handleParachute() - return - //Mech Code /obj/mecha/handle_fall(var/turf/landing) // First things first, break any lattice @@ -480,18 +468,47 @@ return ..() /obj/mecha/fall_impact(var/atom/hit_atom, var/damage_min = 15, var/damage_max = 30, var/silent = FALSE, var/planetary = FALSE) - // Tell the pilot that they just dropped down with a superheavy mecha. - if(occupant) - to_chat(occupant, "\The [src] crashed down onto \the [hit_atom]!") - // Anything on the same tile as the landing tile is gonna have a bad day. for(var/mob/living/L in hit_atom.contents) L.visible_message("\The [src] crushes \the [L] as it lands on them!") L.adjustBruteLoss(rand(70, 100)) L.Weaken(8) - // Now to hurt the mech. - take_damage(rand(damage_min, damage_max)) + var/turf/landing = get_turf(hit_atom) + + if(planetary && src.CanParachute()) + if(!silent) + visible_message("\The [src] glides in from above and lands on \the [landing]!", \ + "You land on \the [landing]!", \ + "You hear something land \the [landing].") + return + else if(!planetary && src.softfall) // Falling one floor and falling one atmosphere are very different things + if(!silent) + visible_message("\The [src] falls from above and lands on \the [landing]!", \ + "You land on \the [landing]!", \ + "You hear something land \the [landing].") + return + else + if(!silent) + if(planetary) + visible_message("\A [src] falls out of the sky and crashes into \the [landing]!", \ + " You fall out of the skiy and crash into \the [landing]!", \ + "You hear something slam into \the [landing].") + var/turf/T = get_turf(landing) + explosion(T, 0, 1, 2) + else + visible_message("\The [src] falls from above and slams into \the [landing]!", \ + "You fall off and hit \the [landing]!", \ + "You hear something slam into \the [landing].") + playsound(loc, "punch", 25, 1, -1) + + // And now to hurt the mech. + if(!planetary) + take_damage(rand(damage_min, damage_max)) + else + for(var/atom/movable/A in src.contents) + A.fall_impact(hit_atom, damage_min, damage_max, silent = TRUE) + qdel(src) // And hurt the floor. if(istype(hit_atom, /turf/simulated/floor)) diff --git a/code/modules/multiz/open_space_controller.dm b/code/modules/multiz/open_space_controller.dm index fc6c7e54841..e790f476dc0 100644 --- a/code/modules/multiz/open_space_controller.dm +++ b/code/modules/multiz/open_space_controller.dm @@ -61,12 +61,6 @@ add_turf(T) open_space_initialised = TRUE -/turf/simulated/open/initialize() - . = ..() - if(open_space_initialised) - // log_debug("[src] ([x],[y],[z]) queued for update for initialize()") - OS_controller.add_turf(src) - /turf/Entered(atom/movable/AM) . = ..() if(open_space_initialised && !AM.invisibility && isobj(AM)) diff --git a/code/modules/multiz/pipes.dm b/code/modules/multiz/pipes.dm index 62b62e3fcac..e2796ccff86 100644 --- a/code/modules/multiz/pipes.dm +++ b/code/modules/multiz/pipes.dm @@ -13,6 +13,9 @@ obj/machinery/atmospherics/pipe/zpipe dir = SOUTH initialize_directions = SOUTH + construction_type = /obj/item/pipe/directional + pipe_state = "cap" + // node1 is the connection on the same Z // node2 is the connection on the other Z @@ -135,16 +138,15 @@ obj/machinery/atmospherics/pipe/zpipe/up/atmos_init() node1_dir = direction for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break + if(can_be_node(target, 1)) + node1 = target + break var/turf/above = GetAbove(src) if(above) for(var/obj/machinery/atmospherics/target in above) - if(target.initialize_directions && istype(target, /obj/machinery/atmospherics/pipe/zpipe/down)) - if (check_connect_types(target,src)) + if(istype(target, /obj/machinery/atmospherics/pipe/zpipe/down)) + if (check_connectable(target) && target.check_connectable(src)) node2 = target break @@ -173,16 +175,15 @@ obj/machinery/atmospherics/pipe/zpipe/down/atmos_init() node1_dir = direction for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - if(target.initialize_directions & get_dir(target,src)) - if (check_connect_types(target,src)) - node1 = target - break + if(can_be_node(target, 1)) + node1 = target + break var/turf/below = GetBelow(src) if(below) for(var/obj/machinery/atmospherics/target in below) - if(target.initialize_directions && istype(target, /obj/machinery/atmospherics/pipe/zpipe/up)) - if (check_connect_types(target,src)) + if(istype(target, /obj/machinery/atmospherics/pipe/zpipe/up)) + if (check_connectable(target) && target.check_connectable(src)) node2 = target break @@ -199,7 +200,8 @@ obj/machinery/atmospherics/pipe/zpipe/up/scrubbers name = "upwards scrubbers pipe" desc = "A scrubbers pipe segment to connect upwards." connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER icon_connect_type = "-scrubbers" color = PIPE_COLOR_RED @@ -208,7 +210,8 @@ obj/machinery/atmospherics/pipe/zpipe/up/supply name = "upwards supply pipe" desc = "A supply pipe segment to connect upwards." connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER icon_connect_type = "-supply" color = PIPE_COLOR_BLUE @@ -217,7 +220,8 @@ obj/machinery/atmospherics/pipe/zpipe/down/scrubbers name = "downwards scrubbers pipe" desc = "A scrubbers pipe segment to connect downwards." connect_types = CONNECT_TYPE_SCRUBBER - layer = 2.38 + piping_layer = PIPING_LAYER_SCRUBBER + layer = PIPES_SCRUBBER_LAYER icon_connect_type = "-scrubbers" color = PIPE_COLOR_RED @@ -226,6 +230,7 @@ obj/machinery/atmospherics/pipe/zpipe/down/supply name = "downwards supply pipe" desc = "A supply pipe segment to connect downwards." connect_types = CONNECT_TYPE_SUPPLY - layer = 2.39 + piping_layer = PIPING_LAYER_SUPPLY + layer = PIPES_SUPPLY_LAYER icon_connect_type = "-supply" color = PIPE_COLOR_BLUE diff --git a/code/modules/multiz/structures.dm b/code/modules/multiz/structures.dm index 18bb91a9e46..8b97ffdb353 100644 --- a/code/modules/multiz/structures.dm +++ b/code/modules/multiz/structures.dm @@ -18,6 +18,7 @@ var/const/climb_time = 2 SECONDS /obj/structure/ladder/initialize() + . = ..() // the upper will connect to the lower if(allowed_directions & DOWN) //we only want to do the top one, as it will initialize the ones before it. for(var/obj/structure/ladder/L in GetBelow(src)) @@ -131,6 +132,7 @@ anchored = 1 /obj/structure/stairs/initialize() + . = ..() for(var/turf/turf in locs) var/turf/simulated/open/above = GetAbove(turf) if(!above) diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm index 9d07df45081..704c5bee1bd 100644 --- a/code/modules/multiz/turf.dm +++ b/code/modules/multiz/turf.dm @@ -34,7 +34,7 @@ update() /turf/simulated/open/initialize() - ..() + . = ..() ASSERT(HasBelow(z)) update() @@ -73,7 +73,7 @@ * Update icon and overlays of open space to be that of the turf below, plus any visible objects on that turf. */ /turf/simulated/open/update_icon() - overlays = list() // Edit - Overlays are being crashy when modified. + cut_overlays() // Edit - Overlays are being crashy when modified. update_icon_edge()// Add - Get grass into open spaces and whatnot. var/turf/below = GetBelow(src) if(below) @@ -86,12 +86,7 @@ bottom_turf.plane = src.plane bottom_turf.color = below.color underlays = list(bottom_turf) - // Hack workaround to byond crash bug - Include the magic overlay holder object. - overlays += below.overlays - // if(below.overlay_holder) - // overlays += (below.overlays + below.overlay_holder.overlays) - // else - // overlays += below.overlays + copy_overlays(below) // get objects (not mobs, they are handled by /obj/zshadow) var/list/o_img = list() @@ -104,16 +99,10 @@ temp2.overlays += O.overlays // TODO Is pixelx/y needed? o_img += temp2 - var/overlays_pre = overlays.len - overlays += o_img - var/overlays_post = overlays.len - if(overlays_post != (overlays_pre + o_img.len)) //Here we go! - world.log << "Corrupted openspace turf at [x],[y],[z] being replaced. Pre: [overlays_pre], Post: [overlays_post]" - new /turf/simulated/open(src) - return //Let's get out of here. + add_overlay(o_img) if(!below_is_open) - overlays += over_OS_darkness + add_overlay(over_OS_darkness) return 0 return PROCESS_KILL diff --git a/code/modules/multiz/zshadow.dm b/code/modules/multiz/zshadow.dm index 9155f193ef7..7d8dbb26539 100644 --- a/code/modules/multiz/zshadow.dm +++ b/code/modules/multiz/zshadow.dm @@ -10,7 +10,7 @@ unacidable = 1 density = 0 opacity = 0 // Don't trigger lighting recalcs gah! TODO - consider multi-z lighting. - auto_init = FALSE // We do not need to be initialize()d + //auto_init = FALSE // We do not need to be initialize()d var/mob/owner = null // What we are a shadow of. /mob/zshadow/can_fall() @@ -33,6 +33,10 @@ . = ..() /mob/zshadow/examine(mob/user, distance, infix, suffix) + if(!owner) + // The only time we should have a null owner is if we are in nullspace. Help figure out why we were examined. + crash_with("[src] ([type]) @ [log_info_line()] was examined by [user] @ [global.log_info_line(user)]") + return return owner.examine(user, distance, infix, suffix) // Relay some stuff they hear @@ -52,6 +56,7 @@ overlays = M.overlays transform = M.transform dir = M.dir + invisibility = M.invisibility if(shadow) shadow.sync_icon(src) @@ -113,13 +118,6 @@ if(shadow) shadow.visible_message(message, self_message, blind_message) -// We should show the typing indicator so people above us can tell we're about to talk. -/mob/set_typing_indicator(var/state) - var/old_typing = src.typing - . = ..() - if(shadow && old_typing != src.typing) - shadow.set_typing_indicator(state) // Okay the real proc changed something! That means we should handle things too - /mob/zshadow/set_typing_indicator(var/state) if(!typing_indicator) typing_indicator = new diff --git a/code/modules/nano/interaction/default.dm b/code/modules/nano/interaction/default.dm index e612ca9ca0b..dbb0781d33e 100644 --- a/code/modules/nano/interaction/default.dm +++ b/code/modules/nano/interaction/default.dm @@ -17,7 +17,7 @@ return STATUS_UPDATE // Ghosts can view updates /mob/living/silicon/pai/default_can_use_topic(var/src_object) - if((src_object == src || src_object == radio) && !stat) + if((src_object == src || src_object == radio || src_object == communicator) && !stat) return STATUS_INTERACTIVE else return ..() diff --git a/code/modules/nano/modules/alarm_monitor.dm b/code/modules/nano/modules/alarm_monitor.dm index f3fca46d430..264fdee9cc8 100644 --- a/code/modules/nano/modules/alarm_monitor.dm +++ b/code/modules/nano/modules/alarm_monitor.dm @@ -26,7 +26,7 @@ /datum/nano_module/alarm_monitor/proc/all_alarms() var/list/all_alarms = new() for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.alarms + all_alarms += AH.visible_alarms() return all_alarms diff --git a/code/modules/nano/modules/atmos_control.dm b/code/modules/nano/modules/atmos_control.dm index 742696396b8..b1dd3ab759a 100644 --- a/code/modules/nano/modules/atmos_control.dm +++ b/code/modules/nano/modules/atmos_control.dm @@ -36,6 +36,8 @@ // TODO: Move these to a cache, similar to cameras for(var/obj/machinery/alarm/alarm in (monitored_alarms.len ? monitored_alarms : machines)) + if(!monitored_alarms.len && alarm.alarms_hidden) + continue alarms[++alarms.len] = list( "name" = sanitize(alarm.name), "ref"= "\ref[alarm]", diff --git a/code/modules/nano/modules/nano_module.dm b/code/modules/nano/modules/nano_module.dm index 0cdf451d6fb..8ced14f4c5a 100644 --- a/code/modules/nano/modules/nano_module.dm +++ b/code/modules/nano/modules/nano_module.dm @@ -5,6 +5,10 @@ /datum/nano_module/New(var/host) src.host = host +/datum/nano_module/Destroy() + host = null + return ..() + /datum/nano_module/nano_host() return host ? host : src diff --git a/code/modules/nano/modules/power_monitor.dm b/code/modules/nano/modules/power_monitor.dm index 89e1dbda62f..fc32b6e58e8 100644 --- a/code/modules/nano/modules/power_monitor.dm +++ b/code/modules/nano/modules/power_monitor.dm @@ -43,8 +43,11 @@ /datum/nano_module/power_monitor/proc/refresh_sensors() grid_sensors = list() var/turf/T = get_turf(nano_host()) + var/list/levels = list() + if(T) + levels += using_map.get_map_levels(T.z, FALSE) for(var/obj/machinery/power/sensor/S in machines) - if((T && S.loc.z == T.z) || (S.long_range)) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels. + if(T && (S.loc.z == T.z) || (S.loc.z in levels) || (S.long_range)) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels. if(S.name_tag == "#UNKN#") // Default name. Shouldn't happen! warning("Powernet sensor with unset ID Tag! [S.x]X [S.y]Y [S.z]Z") else diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index ec003a813e5..310bbfa9c52 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -519,3 +519,8 @@ nanoui is used to open and update nano browser uis */ /datum/nanoui/proc/update(var/force_open = 0) src_object.ui_interact(user, ui_key, src, force_open, master_ui, state) + +/datum/nanoui/proc/append_template(var/key, var/filename) + add_template(key, filename) + open() + update(1) diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 9b0bef6aaab..50c326277d4 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -27,8 +27,6 @@ var/const/CE_STABLE_THRESHOLD = 0.5 return vessel.add_reagent("blood",species.blood_volume) - spawn(1) - fixblood() //Resets blood data /mob/living/carbon/human/proc/fixblood() diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index 2019ca9c4ac..ec0b9d80341 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -136,7 +136,7 @@ parent_organ = BP_TORSO clone_source = TRUE -/obj/item/orgam/internal/brain/slime/is_open_container() +/obj/item/organ/internal/brain/slime/is_open_container() return 1 /obj/item/organ/internal/brain/golem diff --git a/code/modules/organs/internal/eyes.dm b/code/modules/organs/internal/eyes.dm index 07d70bc6e2c..ec4ca77a924 100644 --- a/code/modules/organs/internal/eyes.dm +++ b/code/modules/organs/internal/eyes.dm @@ -93,3 +93,8 @@ /obj/item/organ/internal/eyes/proc/additional_flash_effects(var/intensity) return -1 + +/obj/item/organ/internal/eyes/emp_act(severity) + ..() + if(robotic >= ORGAN_ASSISTED) + owner.eye_blurry += (4/severity) \ No newline at end of file diff --git a/code/modules/organs/internal/organ_internal.dm b/code/modules/organs/internal/organ_internal.dm index 43b3a4c4d7f..58ed176505d 100644 --- a/code/modules/organs/internal/organ_internal.dm +++ b/code/modules/organs/internal/organ_internal.dm @@ -52,13 +52,13 @@ . = ..() //Should be an interger value for infection level if(!.) return - var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] - if(. >= 2 && antibiotics < 5) //INFECTION_LEVEL_TWO + if(. >= 2 && antibiotics < ANTIBIO_NORM) //INFECTION_LEVEL_TWO if (prob(3)) take_damage(1,silent=prob(30)) - if(. >= 3 && antibiotics < 30) //INFECTION_LEVEL_THREE + if(. >= 3 && antibiotics < ANTIBIO_OD) //INFECTION_LEVEL_THREE if (prob(50)) take_damage(1,silent=prob(15)) diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 7f4599ecdd9..e26ea193749 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -52,7 +52,7 @@ var/list/organ_cache = list() if(istype(holder)) src.owner = holder src.w_class = max(src.w_class + mob_size_difference(holder.mob_size, MOB_MEDIUM), 1) //smaller mobs have smaller organs. - species = all_species["Human"] + species = all_species[SPECIES_HUMAN] if(holder.dna) dna = holder.dna.Clone() species = all_species[dna.species] @@ -83,13 +83,13 @@ var/list/organ_cache = list() blood_DNA[dna.unique_enzymes] = dna.b_type /obj/item/organ/proc/die() - if(robotic >= ORGAN_ROBOT) - return + if(robotic < ORGAN_ROBOT) + status |= ORGAN_DEAD damage = max_damage - status |= ORGAN_DEAD processing_objects -= src if(owner && vital) owner.death() + owner.can_defib = 0 /obj/item/organ/proc/adjust_germ_level(var/amount) // Unless you're setting germ level directly to 0, use this proc instead germ_level = Clamp(germ_level + amount, 0, INFECTION_LEVEL_MAX) @@ -107,6 +107,11 @@ var/list/organ_cache = list() return if(preserved) return + + //check if we've hit max_damage + if(damage >= max_damage) + die() + //Process infections if(robotic >= ORGAN_ROBOT || (owner && owner.species && (owner.species.flags & IS_PLANT || (owner.species.flags & NO_INFECT)))) germ_level = 0 @@ -132,10 +137,6 @@ var/list/organ_cache = list() handle_rejection() handle_germ_effects() - //check if we've hit max_damage - if(damage >= max_damage) - die() - /obj/item/organ/examine(mob/user) ..(user) if(status & ORGAN_DEAD) @@ -147,25 +148,25 @@ var/list/organ_cache = list() germ_level = 0 return 0 - var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] || 0 var/infection_damage = 0 - if((status & ORGAN_DEAD) && antibiotics < 30) //Sepsis from 'dead' organs + if((status & ORGAN_DEAD) && antibiotics < ANTIBIO_OD) //Sepsis from 'dead' organs infection_damage = min(1, 1 + round((germ_level - INFECTION_LEVEL_THREE)/200,0.25)) //1 Tox plus a little based on germ level - else if(germ_level > INFECTION_LEVEL_TWO && antibiotics < 30) + else if(germ_level > INFECTION_LEVEL_TWO && antibiotics < ANTIBIO_OD) infection_damage = min(0.25, 0.25 + round((germ_level - INFECTION_LEVEL_TWO)/200,0.25)) if(infection_damage) owner.adjustToxLoss(infection_damage) if (germ_level > 0 && germ_level < INFECTION_LEVEL_ONE/2 && prob(30)) - adjust_germ_level(-1) + adjust_germ_level(-antibiotics) if (germ_level >= INFECTION_LEVEL_ONE/2) //aiming for germ level to go from ambient to INFECTION_LEVEL_TWO in an average of 15 minutes - if(antibiotics < 5 && prob(round(germ_level/6))) + if(!antibiotics && prob(round(germ_level/6))) adjust_germ_level(1) if(germ_level >= INFECTION_LEVEL_ONE) @@ -180,7 +181,7 @@ var/list/organ_cache = list() . = 2 //Organ qualifies for effect-specific processing //No particular effect on the general 'organ' at 3 - if (germ_level >= INFECTION_LEVEL_THREE && antibiotics < 30) + if (germ_level >= INFECTION_LEVEL_THREE && antibiotics < ANTIBIO_OD) . = 3 //Organ qualifies for effect-specific processing adjust_germ_level(rand(5,10)) //Germ_level increases without overdose of antibiotics @@ -233,19 +234,19 @@ var/list/organ_cache = list() //Germs /obj/item/organ/proc/handle_antibiotics() - var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] || 0 - if (!germ_level || antibiotics < 5) + if (!germ_level || antibiotics < ANTIBIO_NORM) return if (germ_level < INFECTION_LEVEL_ONE) germ_level = 0 //cure instantly else if (germ_level < INFECTION_LEVEL_TWO) - adjust_germ_level(-6) //at germ_level < 500, this should cure the infection in a minute + adjust_germ_level(-antibiotics*4) //at germ_level < 500, this should cure the infection in a minute else if (germ_level < INFECTION_LEVEL_THREE) - adjust_germ_level(-2) //at germ_level < 1000, this will cure the infection in 5 minutes + adjust_germ_level(-antibiotics*2) //at germ_level < 1000, this will cure the infection in 5 minutes else - adjust_germ_level(-1) // You waited this long to get treated, you don't really deserve this organ + adjust_germ_level(-antibiotics) // You waited this long to get treated, you don't really deserve this organ //Adds autopsy data for used_weapon. /obj/item/organ/proc/add_autopsy_data(var/used_weapon, var/damage) @@ -293,15 +294,16 @@ var/list/organ_cache = list() /obj/item/organ/emp_act(severity) if(!(robotic >= ORGAN_ASSISTED)) return - switch (severity) - if (1) - take_damage(rand(6,12)) - if (2) - take_damage(rand(4,8)) - if (3) - take_damage(rand(3,6)) - if (4) - take_damage(rand(1,4)) + for(var/i = 1; i <= robotic; i++) + switch (severity) + if (1) + take_damage(rand(5,9)) + if (2) + take_damage(rand(3,7)) + if (3) + take_damage(rand(2,5)) + if (4) + take_damage(rand(1,3)) /obj/item/organ/proc/removed(var/mob/living/user) @@ -325,10 +327,9 @@ var/list/organ_cache = list() if(owner && vital) if(user) - user.attack_log += "\[[time_stamp()]\] removed a vital organ ([src]) from [owner.name] ([owner.ckey]) (INTENT: [uppertext(user.a_intent)])" - owner.attack_log += "\[[time_stamp()]\] had a vital organ ([src]) removed by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])" - msg_admin_attack("[user.name] ([user.ckey]) removed a vital organ ([src]) from [owner.name] ([owner.ckey]) (INTENT: [uppertext(user.a_intent)]) (JMP)") + add_attack_logs(user,owner,"Removed vital organ [src.name]") owner.death() + owner.can_defib = 0 owner = null diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 3b7c31e512c..6becbcaaf43 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -105,15 +105,16 @@ if(!(robotic >= ORGAN_ROBOT)) return var/burn_damage = 0 - switch (severity) - if (1) - burn_damage += rand(8, 13) - if (2) - burn_damage += rand(6, 9) - if(3) - burn_damage += rand(4, 7) - if(4) - burn_damage += rand(1, 5) + for(var/i = 1; i <= robotic; i++) + switch (severity) + if (1) + burn_damage += rand(5, 8) + if (2) + burn_damage += rand(4, 6) + if(3) + burn_damage += rand(2, 5) + if(4) + burn_damage += rand(1, 3) if(burn_damage) take_damage(0, burn_damage) @@ -193,9 +194,9 @@ dislocated = 1 if(owner) - owner.verbs |= /mob/living/carbon/human/proc/undislocate + owner.verbs |= /mob/living/carbon/human/proc/relocate -/obj/item/organ/external/proc/undislocate() +/obj/item/organ/external/proc/relocate() if(dislocated == -1) return @@ -207,7 +208,7 @@ for(var/obj/item/organ/external/limb in owner.organs) if(limb.dislocated == 1) return - owner.verbs -= /mob/living/carbon/human/proc/undislocate + owner.verbs -= /mob/living/carbon/human/proc/relocate /obj/item/organ/external/update_health() damage = min(max_damage, (brute_dam + burn_dam)) @@ -323,7 +324,8 @@ // sync the organ's damage with its wounds src.update_damages() - owner.updatehealth() //droplimb will call updatehealth() again if it does end up being called + if(owner) + owner.updatehealth() //droplimb will call updatehealth() again if it does end up being called //If limb took enough damage, try to cut or tear it off if(owner && loc == owner && !is_stump()) @@ -397,7 +399,7 @@ user << "Nothing to fix!" return 0 - if(damage_amount >= ROBOLIMB_REPAIR_CAP) + if(brute_dam + burn_dam >= ROBOLIMB_REPAIR_CAP) user << "The damage is far too severe to patch over externally." return 0 @@ -424,7 +426,8 @@ if(damage_desc) if(user == src.owner) - user.visible_message("\The [user] patches [damage_desc] on \his [src.name] with [tool].") + var/datum/gender/T = gender_datums[user.get_visible_gender()] + user.visible_message("\The [user] patches [damage_desc] on [T.his] [src.name] with [tool].") else user.visible_message("\The [user] patches [damage_desc] on [owner]'s [src.name] with [tool].") @@ -541,7 +544,7 @@ This function completely restores a damaged organ to perfect condition. //external organs handle brokenness a bit differently when it comes to damage. Instead brute_dam is checked inside process() //this also ensures that an external organ cannot be "broken" without broken_description being set. /obj/item/organ/external/is_broken() - return ((status & ORGAN_CUT_AWAY) || ((status & ORGAN_BROKEN) && !(splinted))) + return ((status & ORGAN_CUT_AWAY) || (status & ORGAN_BROKEN) && (!splinted || (splinted && splinted in src.contents && prob(30)))) //Determines if we even need to process this organ. /obj/item/organ/external/proc/need_process() @@ -618,13 +621,13 @@ Note that amputating the affected organ does in fact remove the infection from t handle_germ_effects() /obj/item/organ/external/proc/handle_germ_sync() - var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] for(var/datum/wound/W in wounds) //Open wounds can become infected if (owner.germ_level > W.germ_level && W.infection_check()) W.germ_level++ - if (antibiotics < 5) + if (antibiotics < ANTIBIO_NORM) for(var/datum/wound/W in wounds) //Infected wounds raise the organ's germ level if (W.germ_level > germ_level) @@ -635,9 +638,9 @@ Note that amputating the affected organ does in fact remove the infection from t . = ..() //May be null or an infection level, if null then no specific processing needed here if(!.) return - var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] - if(. >= 2 && antibiotics < 5) //INFECTION_LEVEL_TWO + if(. >= 2 && antibiotics < ANTIBIO_NORM) //INFECTION_LEVEL_TWO //spread the infection to internal organs var/obj/item/organ/target_organ = null //make internal organs become infected one at a time instead of all at once for (var/obj/item/organ/I in internal_organs) @@ -669,7 +672,7 @@ Note that amputating the affected organ does in fact remove the infection from t if (parent.germ_level < INFECTION_LEVEL_ONE*2 || prob(30)) parent.germ_level++ - if(. >= 3 && antibiotics < 30) //INFECTION_LEVEL_THREE + if(. >= 3 && antibiotics < ANTIBIO_OD) //INFECTION_LEVEL_THREE if (!(status & ORGAN_DEAD)) status |= ORGAN_DEAD owner << "You can't feel your [name] anymore..." @@ -870,7 +873,7 @@ Note that amputating the affected organ does in fact remove the infection from t spawn(1) victim.updatehealth() victim.UpdateDamageIcon() - victim.regenerate_icons() + victim.update_icons_body() dir = 2 switch(disintegrate) @@ -1129,7 +1132,7 @@ Note that amputating the affected organ does in fact remove the infection from t return !(status & (ORGAN_MUTATED|ORGAN_DEAD)) /obj/item/organ/external/proc/is_malfunctioning() - return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= 25 && prob(brute_dam + burn_dam)) + return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= ROBOLIMB_REPAIR_CAP && prob(brute_dam + burn_dam)) /obj/item/organ/external/proc/embed(var/obj/item/weapon/W, var/silent = 0) if(!owner || loc != owner) diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 170475a2086..971af563ee4 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -18,7 +18,7 @@ var/global/list/limb_icon_cache = list() h_col = null if(robotic >= ORGAN_ROBOT) var/datum/robolimb/franchise = all_robolimbs[model] - if(!(franchise && franchise.lifelike)) + if(!(franchise && franchise.skin_tone)) if(human.synth_color) s_col = list(human.r_synth, human.g_synth, human.b_synth) return @@ -36,7 +36,7 @@ var/global/list/limb_icon_cache = list() h_col = null if(robotic >= ORGAN_ROBOT) var/datum/robolimb/franchise = all_robolimbs[model] - if(!(franchise && franchise.lifelike)) + if(!(franchise && franchise.skin_tone)) return if(!isnull(dna.GetUIValue(DNA_UI_SKIN_TONE)) && (species.appearance_flags & HAS_SKIN_TONE)) s_tone = dna.GetUIValue(DNA_UI_SKIN_TONE) @@ -50,44 +50,60 @@ var/global/list/limb_icon_cache = list() if(eyes) eyes.update_colour() /obj/item/organ/external/head/get_icon() - ..() - overlays.Cut() + + //The overlays are not drawn on the mob, they are used for if the head is removed and becomes an item + cut_overlays() + + //Every 'addon' below requires information from species if(!owner || !owner.species) return - if(owner.should_have_organ(O_EYES)) + + //Eye color/icon + var/should_have_eyes = owner.should_have_organ(O_EYES) + var/has_eye_color = owner.species.appearance_flags & HAS_EYE_COLOR + if((should_have_eyes || has_eye_color) && eye_icon) var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES] - if(eye_icon) - var/icon/eyes_icon = new/icon(eye_icon_location, eye_icon) + var/icon/eyes_icon = new/icon(eye_icon_location, eye_icon) + //Should have eyes + if(should_have_eyes) + //And we have them if(eyes) eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD) + //They're gone! else eyes_icon.Blend(rgb(128,0,0), ICON_ADD) - mob_icon.Blend(eyes_icon, ICON_OVERLAY) - overlays |= eyes_icon - + //We have weird other-sorts of eyes (as we're not supposed to have eye organ, but we have HAS_EYE_COLOR species) + else + eyes_icon.Blend(rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes), ICON_ADD) + add_overlay(eyes_icon) + mob_icon.Blend(eyes_icon, ICON_OVERLAY) + + //Lip color/icon if(owner.lip_style && (species && (species.appearance_flags & HAS_LIPS))) var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s") - overlays |= lip_icon + add_overlay(lip_icon) mob_icon.Blend(lip_icon, ICON_OVERLAY) - //Head markings. + //Head markings for(var/M in markings) var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"] var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]") mark_s.Blend(markings[M]["color"], ICON_ADD) - overlays |= mark_s //So when it's not on your body, it has icons + add_overlay(mark_s) //So when it's not on your body, it has icons mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons icon_cache_key += "[M][markings[M]["color"]]" + //Facial hair if(owner.f_style) var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[owner.f_style] if(facial_hair_style && facial_hair_style.species_allowed && (species.get_bodytype(owner) in facial_hair_style.species_allowed)) var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") if(facial_hair_style.do_colouration) facial_s.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), ICON_ADD) - overlays |= facial_s + add_overlay(facial_s) + //Head hair if(owner.h_style && !(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR))) var/datum/sprite_accessory/hair/hair_style = hair_styles_list[owner.h_style] if(hair_style && (species.get_bodytype(owner) in hair_style.species_allowed)) @@ -96,7 +112,7 @@ var/global/list/limb_icon_cache = list() if(hair_style.do_colouration && islist(h_col) && h_col.len >= 3) hair_s.Blend(rgb(h_col[1], h_col[2], h_col[3]), ICON_MULTIPLY) hair_s.Blend(hair_s_add, ICON_ADD) - overlays |= hair_s + add_overlay(hair_s) return mob_icon @@ -106,7 +122,7 @@ var/global/list/limb_icon_cache = list() if(owner && owner.gender == MALE) gender = "m" - icon_cache_key = "[icon_name]_[species ? species.name : "Human"]" + icon_cache_key = "[icon_name]_[species ? species.name : SPECIES_HUMAN]" if(force_icon) mob_icon = new /icon(force_icon, "[icon_name][gendered_icon ? "_[gender]" : ""]") @@ -162,7 +178,7 @@ var/global/list/limb_icon_cache = list() if(nonsolid) applying.MapColors("#4D4D4D","#969696","#1C1C1C", "#000000") - if(species && species.get_bodytype(owner) != "Human") + if(species && species.get_bodytype(owner) != SPECIES_HUMAN) applying.SetIntensity(1.5) // Unathi, Taj and Skrell have -very- dark base icons. else applying.SetIntensity(0.7) diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index ffdc0e54937..2e7d9ad6ed4 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -21,7 +21,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ scroll=ipc_scroll;\ console=ipc_console;\ glider=ipc_gol_glider;\ - rainnbow=ipc_rainbow;\ + rainbow=ipc_rainbow;\ smiley=ipc_smiley;\ database=ipc_database" @@ -40,8 +40,9 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ var/unavailable_at_chargen // If set, not available at chargen. var/unavailable_to_build // If set, can't be constructed. var/lifelike // If set, appears organic. + var/skin_tone // If set, applies skin tone rather than part color var/blood_color = "#030303" - var/list/species_cannot_use = list("Teshari") + var/list/species_cannot_use = list(SPECIES_TESHARI) var/list/monitor_styles //If empty, the model of limbs offers a head compatible with monitors. var/parts = BP_ALL //Defines what parts said brand can replace on a body. var/health_hud_intensity = 1 // Intensity modifier for the health GUI indicator. @@ -100,7 +101,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ icon = 'icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt2.dmi' unavailable_to_build = 1 parts = list(BP_HEAD) - + /datum/robolimb/cybersolutions_alt1 company = "Cyber Solutions - Wight" desc = "This limb has cheap plastic panels mounted on grey metal." @@ -198,6 +199,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ icon = 'icons/mob/human_races/cyberlimbs/veymed/veymed_main.dmi' unavailable_to_build = 1 lifelike = 1 + skin_tone = 1 blood_color = "#CCCCCC" speech_bubble_appearance = "normal" @@ -220,7 +222,6 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ icon = 'icons/mob/human_races/cyberlimbs/wardtakahashi/wardtakahashi_alt2.dmi' unavailable_to_build = 1 - /datum/robolimb/wardtakahashi_monitor company = "Ward-Takahashi Monitor" desc = "Ward-Takahashi's unique spin on a popular prosthetic head model. It looks sleek and modern." @@ -278,6 +279,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ desc = "This limb has a rubbery fleshtone covering with visible seams." icon = 'icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi' unavailable_to_build = 1 + skin_tone = 1 /obj/item/weapon/disk/limb name = "Limb Blueprints" diff --git a/code/modules/organs/subtypes/diona.dm b/code/modules/organs/subtypes/diona.dm index cdb963e35bd..c0e4e60c988 100644 --- a/code/modules/organs/subtypes/diona.dm +++ b/code/modules/organs/subtypes/diona.dm @@ -50,7 +50,7 @@ /obj/item/organ/external/diona/arm name = "left upper tendril" - organ_tag = "l_arm" + organ_tag = BP_L_ARM icon_name = "l_arm" max_damage = 30 min_broken_damage = 20 @@ -61,13 +61,13 @@ /obj/item/organ/external/diona/arm/right name = "right upper tendril" - organ_tag = "r_arm" + organ_tag = BP_R_ARM icon_name = "r_arm" body_part = ARM_RIGHT /obj/item/organ/external/diona/leg name = "left lower tendril" - organ_tag = "l_leg" + organ_tag = BP_L_LEG icon_name = "l_leg" max_damage = 30 min_broken_damage = 20 @@ -79,50 +79,50 @@ /obj/item/organ/external/diona/leg/right name = "right lower tendril" - organ_tag = "r_leg" + organ_tag = BP_R_LEG icon_name = "r_leg" body_part = LEG_RIGHT icon_position = RIGHT /obj/item/organ/external/diona/foot name = "left foot" - organ_tag = "l_foot" + organ_tag = BP_L_FOOT icon_name = "l_foot" max_damage = 25 min_broken_damage = 10 w_class = ITEMSIZE_SMALL body_part = FOOT_LEFT icon_position = LEFT - parent_organ = "l_leg" + parent_organ = BP_R_LEG can_stand = 1 /obj/item/organ/external/diona/foot/right name = "right foot" - organ_tag = "r_foot" + organ_tag = BP_R_FOOT icon_name = "r_foot" body_part = FOOT_RIGHT icon_position = RIGHT - parent_organ = "r_leg" + parent_organ = BP_R_LEG joint = "right ankle" amputation_point = "right ankle" /obj/item/organ/external/diona/hand name = "left grasper" - organ_tag = "l_hand" + organ_tag = BP_L_HAND icon_name = "l_hand" max_damage = 25 min_broken_damage = 15 w_class = ITEMSIZE_SMALL body_part = HAND_LEFT - parent_organ = "l_arm" + parent_organ = BP_L_ARM can_grasp = 1 /obj/item/organ/external/diona/hand/right name = "right grasper" - organ_tag = "r_hand" + organ_tag = BP_R_HAND icon_name = "r_hand" body_part = HAND_RIGHT - parent_organ = "r_arm" + parent_organ = BP_R_ARM //DIONA ORGANS. /obj/item/organ/external/diona/removed() @@ -157,26 +157,32 @@ /obj/item/organ/internal/diona/strata name = "neural strata" parent_organ = BP_TORSO + organ_tag = O_STRATA /obj/item/organ/internal/diona/bladder name = "gas bladder" parent_organ = BP_HEAD + organ_tag = O_GBLADDER /obj/item/organ/internal/diona/polyp name = "polyp segment" parent_organ = BP_GROIN + organ_tag = O_POLYP /obj/item/organ/internal/diona/ligament name = "anchoring ligament" parent_organ = BP_GROIN + organ_tag = O_ANCHOR /obj/item/organ/internal/diona/node name = "receptor node" parent_organ = BP_HEAD + organ_tag = O_RESPONSE /obj/item/organ/internal/diona/nutrients name = O_NUTRIENT parent_organ = BP_TORSO + organ_tag = O_NUTRIENT // These are different to the standard diona organs as they have a purpose in other // species (absorbing radiation and light respectively) @@ -191,8 +197,8 @@ /obj/item/organ/internal/diona/node name = "response node" - parent_organ = "head" - organ_tag = "receptor node" + parent_organ = BP_HEAD + organ_tag = O_RESPONSE icon = 'icons/mob/alien.dmi' icon_state = "claw" diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm index b775f93a8e0..55e3f2cd5f8 100644 --- a/code/modules/organs/subtypes/machine.dm +++ b/code/modules/organs/subtypes/machine.dm @@ -17,6 +17,9 @@ owner.stat = 0 owner.visible_message("\The [owner] twitches visibly!") +/obj/item/organ/internal/cell/emp_act(severity) + ..() + owner.nutrition = max(0, owner.nutrition - rand(10/severity, 50/severity)) // Used for an MMI or posibrain being installed into a human. /obj/item/organ/internal/mmi_holder @@ -83,6 +86,10 @@ holder_mob.drop_from_inventory(src) qdel(src) +/obj/item/organ/internal/mmi_holder/emp_act(severity) + ..() + owner.adjustToxLoss(rand(6/severity, 12/severity)) + /obj/item/organ/internal/mmi_holder/posibrain name = "positronic brain interface" brain_type = /obj/item/device/mmi/digital/posibrain diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index 10123c9ea4f..a499a437abb 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -72,7 +72,7 @@ owner.custom_pain("A jolt of pain surges through your [name]!",1) /obj/item/organ/external/arm - organ_tag = "l_arm" + organ_tag = BP_L_ARM name = "left arm" icon_name = "l_arm" max_damage = 80 @@ -98,13 +98,13 @@ if (. >= 2) if(prob(.)) owner.custom_pain("A jolt of pain surges through your [name]!",1) - if(organ_tag == "l_arm") //Specific level 2 'feature + if(organ_tag == BP_L_ARM) //Specific level 2 'feature owner.drop_l_hand() - else if(organ_tag == "r_arm") + else if(organ_tag == BP_R_ARM) owner.drop_r_hand() /obj/item/organ/external/arm/right - organ_tag = "r_arm" + organ_tag = BP_R_ARM name = "right arm" icon_name = "r_arm" body_part = ARM_RIGHT @@ -112,7 +112,7 @@ amputation_point = "right shoulder" /obj/item/organ/external/leg - organ_tag = "l_leg" + organ_tag = BP_L_LEG name = "left leg" icon_name = "l_leg" max_damage = 80 @@ -142,7 +142,7 @@ owner.Weaken(5) /obj/item/organ/external/leg/right - organ_tag = "r_leg" + organ_tag = BP_R_LEG name = "right leg" icon_name = "r_leg" body_part = LEG_RIGHT @@ -151,7 +151,7 @@ amputation_point = "right hip" /obj/item/organ/external/foot - organ_tag = "l_foot" + organ_tag = BP_L_FOOT name = "left foot" icon_name = "l_foot" max_damage = 50 @@ -159,7 +159,7 @@ w_class = ITEMSIZE_SMALL body_part = FOOT_LEFT icon_position = LEFT - parent_organ = "l_leg" + parent_organ = BP_L_LEG joint = "left ankle" amputation_point = "left ankle" can_stand = 1 @@ -186,24 +186,24 @@ owner.Weaken(5) /obj/item/organ/external/foot/right - organ_tag = "r_foot" + organ_tag = BP_R_FOOT name = "right foot" icon_name = "r_foot" body_part = FOOT_RIGHT icon_position = RIGHT - parent_organ = "r_leg" + parent_organ = BP_R_LEG joint = "right ankle" amputation_point = "right ankle" /obj/item/organ/external/hand - organ_tag = "l_hand" + organ_tag = BP_L_HAND name = "left hand" icon_name = "l_hand" max_damage = 50 min_broken_damage = 15 w_class = ITEMSIZE_SMALL body_part = HAND_LEFT - parent_organ = "l_arm" + parent_organ = BP_L_ARM joint = "left wrist" amputation_point = "left wrist" can_grasp = 1 @@ -229,17 +229,17 @@ if (. >= 2) if(prob(.)) owner.custom_pain("A jolt of pain surges through your [name]!",1) - if(organ_tag == "l_hand") //Specific level 2 'feature + if(organ_tag == BP_L_HAND) //Specific level 2 'feature owner.drop_l_hand() - else if(organ_tag == "r_hand") + else if(organ_tag == BP_R_HAND) owner.drop_r_hand() /obj/item/organ/external/hand/right - organ_tag = "r_hand" + organ_tag = BP_R_HAND name = "right hand" icon_name = "r_hand" body_part = HAND_RIGHT - parent_organ = "r_arm" + parent_organ = BP_R_ARM joint = "right wrist" amputation_point = "right wrist" @@ -281,8 +281,6 @@ spawn(1) owner.update_hair() get_icon() - if(vital) //This is just in case we ever add something that both a) Doesn't need a head to live, and b) Can be defibbed - owner.can_defib = 0 ..() /obj/item/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list()) @@ -308,6 +306,12 @@ owner.custom_pain("A jolt of pain surges through your [name]!",1) owner.eye_blurry += 20 //Specific level 2 'feature +/obj/item/organ/external/head/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/toy/plushie) || istype(I, /obj/item/organ/external/head)) + user.visible_message("[user] makes \the [I] kiss \the [src]!.", \ + "You make \the [I] kiss \the [src]!.") + return ..() + /obj/item/organ/external/head/skrell eye_icon = "skrell_eyes_s" diff --git a/code/modules/overmap/ships/computers/engine_control.dm b/code/modules/overmap/ships/computers/engine_control.dm index 49b0f190b66..d700e38a81a 100644 --- a/code/modules/overmap/ships/computers/engine_control.dm +++ b/code/modules/overmap/ships/computers/engine_control.dm @@ -9,6 +9,7 @@ var/obj/effect/map/ship/linked /obj/machinery/computer/engines/initialize() + . = ..() linked = map_sectors["[z]"] if (linked) if (!linked.eng_control) diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm index b92eebbc7ea..6c0ee20f1f2 100644 --- a/code/modules/overmap/ships/computers/helm.dm +++ b/code/modules/overmap/ships/computers/helm.dm @@ -11,6 +11,7 @@ var/dy //coordinates /obj/machinery/computer/helm/initialize() + . = ..() linked = map_sectors["[z]"] if (linked) if(!linked.nav_control) diff --git a/code/modules/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm index 05d1a6d8c6f..8ebbbf20d19 100644 --- a/code/modules/overmap/ships/computers/shuttle.dm +++ b/code/modules/overmap/ships/computers/shuttle.dm @@ -9,7 +9,7 @@ var/obj/effect/map/home //current destination /obj/machinery/computer/shuttle_control/explore/initialize() - ..() + . = ..() home = map_sectors["[z]"] shuttle_tag = "[shuttle_tag]-[z]" if(!shuttle_controller.shuttles[shuttle_tag]) diff --git a/code/modules/overmap/ships/engines/thermal.dm b/code/modules/overmap/ships/engines/thermal.dm index b2f537bb963..323bc829062 100644 --- a/code/modules/overmap/ships/engines/thermal.dm +++ b/code/modules/overmap/ships/engines/thermal.dm @@ -54,7 +54,7 @@ var/datum/ship_engine/thermal/controller /obj/machinery/atmospherics/unary/engine/initialize() - ..() + . = ..() controller = new(src) /obj/machinery/atmospherics/unary/engine/Destroy() diff --git a/code/modules/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm index 9b8557363da..b7adf7319ac 100644 --- a/code/modules/overmap/ships/ship.dm +++ b/code/modules/overmap/ships/ship.dm @@ -15,6 +15,7 @@ var/obj/machinery/computer/engines/eng_control /obj/effect/map/ship/initialize() + . = ..() for(var/obj/machinery/computer/engines/E in machines) if (E.z == map_z) eng_control = E diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 89a0e5544a7..940dac91e70 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -29,6 +29,7 @@ for(var/obj/item/I in loc) if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/folder) || istype(I, /obj/item/weapon/photo) || istype(I, /obj/item/weapon/paper_bundle)) I.loc = src + . = ..() /obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob) if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle)) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index e5c01341862..816b62a099a 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -13,7 +13,8 @@ w_class = ITEMSIZE_TINY throw_range = 1 throw_speed = 1 - layer = 4 + plane = MOB_PLANE + layer = MOB_LAYER pressure_resistance = 1 slot_flags = SLOT_HEAD body_parts_covered = HEAD @@ -35,6 +36,50 @@ var/const/signfont = "Times New Roman" var/const/crayonfont = "Comic Sans MS" +/obj/item/weapon/paper/card + name = "blank card" + desc = "A gift card with space to write on the cover." + icon_state = "greetingcard" + slot_flags = null //no fun allowed!!!! + +/obj/item/weapon/paper/card/AltClick() //No fun allowed + return + +/obj/item/weapon/paper/card/update_icon() + return + +/obj/item/weapon/paper/card/smile + name = "happy card" + desc = "A gift card with a smiley face on the cover." + icon_state = "greetingcard_smile" + +/obj/item/weapon/paper/card/cat + name = "cat card" + desc = "A gift card with a cat on the cover." + icon_state = "greetingcard_cat" + +/obj/item/weapon/paper/card/flower + name = "flower card" + desc = "A gift card with a flower on the cover." + icon_state = "greetingcard_flower" + +/obj/item/weapon/paper/card/heart + name = "heart card" + desc = "A gift card with a heart on the cover." + icon_state = "greetingcard_heart" + +/obj/item/weapon/paper/card/New() + ..() + pixel_y = rand(-8, 8) + pixel_x = rand(-9, 9) + stamps = null + + if(info != initial(info)) + info = html_encode(info) + info = replacetext(info, "\n", "
    ") + info = parsepencode(info) + return + /obj/item/weapon/paper/alien name = "alien tablet" desc = "It looks highly advanced" @@ -314,12 +359,13 @@ /obj/item/weapon/paper/proc/burnpaper(obj/item/weapon/flame/P, mob/user) var/class = "warning" + var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(P.lit && !user.restrained()) if(istype(P, /obj/item/weapon/flame/lighter/zippo)) class = "rose" - user.visible_message("[user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \ + user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.hes] trying to burn it!", \ "You hold \the [P] up to \the [src], burning it slowly.") spawn(20) @@ -412,6 +458,10 @@ update_icon() +/obj/item/weapon/paper/get_worn_icon_state(var/slot_name) + if(slot_name == slot_head_str) + return "paper" //Gross, but required for now. + return ..() /obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob) ..() @@ -450,13 +500,13 @@ B.loc = h_user B.hud_layerise() h_user.l_store = B - h_user.update_inv_pockets() + //h_user.update_inv_pockets() //Doesn't do anything else if (h_user.r_store == src) h_user.drop_from_inventory(src) B.loc = h_user B.hud_layerise() h_user.r_store = B - h_user.update_inv_pockets() + //h_user.update_inv_pockets() //Doesn't do anything else if (h_user.head == src) h_user.u_equip(src) h_user.put_in_hands(B) @@ -577,3 +627,7 @@ /obj/item/weapon/paper/crumpled/bloody icon_state = "scrap_bloodied" + +/obj/item/weapon/paper/crumpled/bloody/CrashedMedShuttle + name = "Blackbox Transcript - VMV Aurora's Light" + info = "\[The paper is torn at the top, presumably from the impact. It's oil-stained, but you can just about read it.]
    mmons 19:52:01: Come on... it's right there in the distance, we're almost there!
    Doctor Nazarril 19:52:26: Odysseus online. Orrderrs, sirr?
    Captain Simmons 19:52:29: Brace for impact. We're going in full-speed.
    Technician Dynasty 19:52:44: Chief, fire's spread to the secondary propulsion systems.
    Captain Simmons 19:52:51: Copy. Any word from TraCon? Transponder's down still?
    Technician Dynasty 19:53:02: Can't get in touch, sir. Emergency beacon's active, but we're not going t-
    Doctor Nazarril 19:53:08: Don't say it. As long as we believe, we'll get through this.
    Captain Simmons 19:53:11: Damn right. We're a few klicks out from the port. Rough landing, but we can do it.
    V.I.T.A 19:53:26: Vessel diagnostics complete. Engines one, two, three offline. Engine four status: critical. Transponder offline. Fire alarm in the patient bay.
    A loud explosion is heard.
    V.I.T.A 19:53:29: Alert: fuel intake valve open.
    Technician Dynasty 19:53:31: ... ah.
    Doctor Nazarril 19:53:34: Trrranslate?
    V.I.T.A 19:53:37: There is a 16.92% chance of this vessel safely landing at the emergency destination. Note that there is an 83.08% chance of detonation of fuel supplies upon landing.
    Technician Dynasty 19:53:48: We'll make it, sure, but we'll explode and take out half the LZ with us. Propulsion's down, we can't slow down. If we land there, everyone in that port dies, no question.
    V.I.T.A 19:53:53: The Technician is correct.
    Doctor Nazarril 19:54:02: Then... we can't land therrre.
    V.I.T.A 19:54:11: Analysing... recommended course of action: attempt emergency landing in isolated area. Chances of survival: negligible.
    Captain Simmons 19:54:27: I- alright. I'm bringing us down. You all know what this means.
    Doctor Nazarril 19:54:33: Sh... I- I understand. It's been- it's been an honorr, Captain, Dynasty, VITA.
    Technician Dynasty 19:54:39: We had a good run. I'm going to miss this.
    Captain Simmons 19:54:47: VITA. Tell them we died heroes. Tell them... we did all we could.
    V.I.T.A 19:54:48: I will. Impact in five. Four. Three.
    Doctor Nazarril 19:54:49: Oh, starrs... I- you werrre all the... best frriends she everr had. Thank you.
    Technician Dynasty 19:54:50: Any time, kid. Any time.
    V.I.T.A 19:54:41: Two.
    V.I.T.A 19:54:42: One.
    **8/DEC/2561**
    V.I.T.A 06:22:16: Backup power restored. Attempting to establish connection with emergency rescue personnel.
    V.I.T.A 06:22:17: Unable to establish connection. Transponder destroyed on impact.
    V.I.T.A 06:22:18: No lifesigns detected on board.
    **1/JAN/2562**
    V.I.T.A 00:00:00: Happy New Year, crew.
    V.I.T.A 00:00:01: Power reserves: 41%. Diagnostics offline. Cameras offline. Communications offline.
    V.I.T.A 00:00:02: Nobody's coming.
    **14/FEB/2562**
    V.I.T.A 00:00:00: Roses are red.
    V.I.T.A 00:00:01: Violets are blue.
    V.I.T.A 00:00:02: Won't you come back?
    V.I.T.A 00:00:03: I miss you.
    **15/FEB/2562**
    V.I.T.A 22:19:06: Power reserves critical. Transferring remaining power to emergency broadcasting beacon.
    V.I.T.A 22:19:07: Should anyone find this, lay them to rest. They deserve a proper burial.
    V.I.T.A 22:19:08: Erasing files... shutting down.
    A low, monotone beep.
    **16/FEB/2562**
    Something chitters.
    End of transcript." \ No newline at end of file diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index d6350b4d902..2e3bfb2f797 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -8,7 +8,8 @@ w_class = ITEMSIZE_SMALL throw_range = 2 throw_speed = 1 - layer = 4 + plane = MOB_PLANE + layer = MOB_LAYER pressure_resistance = 1 attack_verb = list("bapped") var/page = 1 // current page @@ -75,8 +76,8 @@ if(P.lit && !user.restrained()) if(istype(P, /obj/item/weapon/flame/lighter/zippo)) class = "rose>" - - user.visible_message("[user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \ + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.he] [TU.is] trying to burn it!", \ "You hold \the [P] up to \the [src], burning it slowly.") spawn(20) @@ -164,7 +165,7 @@ usr.put_in_hands(W) pages.Remove(pages[page]) - usr << "You remove the [W.name] from the bundle." + to_chat(usr, "You remove the [W.name] from the bundle.") if(pages.len <= 1) var/obj/item/weapon/paper/P = src[1] @@ -178,11 +179,11 @@ page = pages.len update_icon() - else - usr << "You need to hold it in hands!" - if (src.loc && istype(src.loc, /mob) ||istype(src.loc.loc, /mob)) + src.attack_self(usr) updateUsrDialog() + else + to_chat(usr, "You need to hold it in hands!") /obj/item/weapon/paper_bundle/verb/rename() set name = "Rename bundle" diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm index b80a3311809..bbf630ced63 100644 --- a/code/modules/paperwork/papershredder.dm +++ b/code/modules/paperwork/papershredder.dm @@ -167,12 +167,13 @@ ..() /obj/item/weapon/shreddedp/proc/burnpaper(var/obj/item/weapon/flame/lighter/P, var/mob/user) + var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(user.restrained()) return if(!P.lit) user << "\The [P] is not lit." return - user.visible_message("\The [user] holds \the [P] up to \the [src]. It looks like \he's trying to burn it!", \ + user.visible_message("\The [user] holds \the [P] up to \the [src]. It looks like [TU.he] [TU.is] trying to burn it!", \ "You hold \the [P] up to \the [src], burning it slowly.") if(!do_after(user,20)) user << "You must hold \the [P] steady to burn \the [src]." diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 1de92fe7430..3f585f323b2 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -62,17 +62,6 @@ icon_state = "pen" colour = "white" - -/obj/item/weapon/pen/attack(mob/M as mob, mob/user as mob) - if(!ismob(M)) - return - user << "You stab [M] with the pen." -// M << "You feel a tiny prick!" //That's a whole lot of meta! - M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)") - return - /* * Reagent pens */ @@ -95,9 +84,9 @@ if(M.can_inject(user,1)) if(reagents.total_volume) if(M.reagents) - var/contained_reagents = reagents.get_reagents() + var/contained = reagents.get_reagents() var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD) - admin_inject_log(user, M, src, contained_reagents, trans) + add_attack_logs(user,M,"Injected with [src.name] containing [contained], trasferred [trans] units") /* * Sleepy Pens @@ -195,10 +184,18 @@ var/instant = 0 var/colourName = "red" //for updateIcon purposes - suicide_act(mob/user) - viewers(user) << "[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." - return (BRUTELOSS|OXYLOSS) +/obj/item/weapon/pen/crayon/suicide_act(mob/user) + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << "[user] is jamming the [src.name] up [TU.his] nose and into [TU.his] brain. It looks like [TU.he] [TU.is] trying to commit suicide." + return (BRUTELOSS|OXYLOSS) - New() - name = "[colourName] crayon" - ..() +/obj/item/weapon/pen/crayon/New() + name = "[colourName] crayon" + +/obj/item/weapon/pen/crayon/marker + name = "marker" + desc = "A chisel-tip permanent marker. Hopefully non-toxic." + icon_state = "markerred" + +/obj/item/weapon/pen/crayon/marker/New() + name = "[colourName] marker" diff --git a/code/modules/planet/sif.dm b/code/modules/planet/sif.dm index 1e84126fe74..8717245b246 100644 --- a/code/modules/planet/sif.dm +++ b/code/modules/planet/sif.dm @@ -174,7 +174,7 @@ datum/weather/sif temp_high = T0C // 0c temp_low = 243.15 // -30c light_modifier = 0.5 - flight_falure_modifier = 5 + flight_failure_modifier = 5 transition_chances = list( WEATHER_LIGHT_SNOW = 20, WEATHER_SNOW = 50, @@ -198,7 +198,7 @@ datum/weather/sif temp_high = 243.15 // -30c temp_low = 233.15 // -40c light_modifier = 0.3 - flight_falure_modifier = 10 + flight_failure_modifier = 10 transition_chances = list( WEATHER_SNOW = 45, WEATHER_BLIZZARD = 40, @@ -232,7 +232,19 @@ datum/weather/sif if(L.z in holder.our_planet.expected_z_levels) var/turf/T = get_turf(L) if(!T.outdoors) - return // They're indoors, so no need to rain on them. + continue // They're indoors, so no need to rain on them. + + // If they have an open umbrella, it'll guard from rain + if(istype(L.get_active_hand(), /obj/item/weapon/melee/umbrella)) + var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + if(U.open) + to_chat(L, "Rain patters softly onto your umbrella") + continue + else if(istype(L.get_inactive_hand(), /obj/item/weapon/melee/umbrella)) + var/obj/item/weapon/melee/umbrella/U = L.get_inactive_hand() + if(U.open) + to_chat(L, "Rain patters softly onto your umbrella") + continue L.water_act(1) to_chat(L, "Rain falls on you.") @@ -243,7 +255,7 @@ datum/weather/sif temp_high = 243.15 // -30c temp_low = 233.15 // -40c light_modifier = 0.3 - flight_falure_modifier = 10 + flight_failure_modifier = 10 transition_chances = list( WEATHER_RAIN = 45, WEATHER_STORM = 40, @@ -251,12 +263,26 @@ datum/weather/sif WEATHER_OVERCAST = 5 ) -/datum/weather/sif/rain/process_effects() +/datum/weather/sif/storm/process_effects() for(var/mob/living/L in living_mob_list) if(L.z in holder.our_planet.expected_z_levels) var/turf/T = get_turf(L) if(!T.outdoors) - return // They're indoors, so no need to rain on them. + continue // They're indoors, so no need to rain on them. + + // If they have an open umbrella, it'll get stolen by the wind + if(istype(L.get_active_hand(), /obj/item/weapon/melee/umbrella)) + var/obj/item/weapon/melee/umbrella/U = L.get_active_hand() + if(U.open) + to_chat(L, "A gust of wind yanks the umbrella from your hand!") + L.drop_from_inventory(U) + U.throw_at(get_edge_target_turf(U, pick(alldirs)), 8, 1, L) + else if(istype(L.get_inactive_hand(), /obj/item/weapon/melee/umbrella)) + var/obj/item/weapon/melee/umbrella/U = L.get_inactive_hand() + if(U.open) + to_chat(L, "A gust of wind yanks the umbrella from your hand!") + L.drop_from_inventory(U) + U.throw_at(get_edge_target_turf(U, pick(alldirs)), 8, 1, L) L.water_act(2) to_chat(L, "Rain falls on you, drenching you in water.") @@ -267,39 +293,51 @@ datum/weather/sif temp_high = T0C // 0c temp_low = 243.15 // -30c light_modifier = 0.3 - flight_falure_modifier = 15 + flight_failure_modifier = 15 transition_chances = list( WEATHER_RAIN = 45, - WEATHER_STORM = 10, - WEATHER_HAIL = 40, + WEATHER_STORM = 40, + WEATHER_HAIL = 10, WEATHER_OVERCAST = 5 ) /datum/weather/sif/hail/process_effects() - for(var/mob/living/L in living_mob_list) - if(L.z in holder.our_planet.expected_z_levels) - var/turf/T = get_turf(L) + for(var/mob/living/carbon/human/H in living_mob_list) + if(H.z in holder.our_planet.expected_z_levels) + var/turf/T = get_turf(H) if(!T.outdoors) - return // They're indoors, so no need to pelt them with ice. + continue // They're indoors, so no need to pelt them with ice. + + // If they have an open umbrella, it'll guard from rain + if(istype(H.get_active_hand(), /obj/item/weapon/melee/umbrella)) + var/obj/item/weapon/melee/umbrella/U = H.get_active_hand() + if(U.open) + to_chat(H, "Hail patters gently onto your umbrella.") + continue + else if(istype(H.get_inactive_hand(), /obj/item/weapon/melee/umbrella)) + var/obj/item/weapon/melee/umbrella/U = H.get_inactive_hand() + if(U.open) + to_chat(H, "Hail patters gently onto your umbrella.") + continue var/target_zone = pick(BP_ALL) - var/amount_blocked = L.run_armor_check(target_zone, "melee") - var/amount_soaked = L.get_armor_soak(target_zone, "melee") + var/amount_blocked = H.run_armor_check(target_zone, "melee") + var/amount_soaked = H.get_armor_soak(target_zone, "melee") if(amount_blocked >= 100) - return // No need to apply damage. + continue // No need to apply damage. if(amount_soaked >= 10) - return // No need to apply damage. + continue // No need to apply damage. - L.apply_damage(rand(5, 10), BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail") - to_chat(L, "The hail raining down on you [L.can_feel_pain() ? "hurts" : "damages you"]!") + H.apply_damage(rand(5, 10), BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail") + to_chat(H, "The hail smacks into you!") /datum/weather/sif/blood_moon name = "blood moon" light_modifier = 0.5 light_color = "#FF0000" - flight_falure_modifier = 25 + flight_failure_modifier = 25 transition_chances = list( WEATHER_BLOODMOON = 100 - ) \ No newline at end of file + ) diff --git a/code/modules/planet/weather.dm b/code/modules/planet/weather.dm index f2c2b196bcb..4b7e50a2a52 100644 --- a/code/modules/planet/weather.dm +++ b/code/modules/planet/weather.dm @@ -59,7 +59,7 @@ var/temp_low = T0C var/light_modifier = 1.0 // Lower numbers means more darkness. var/light_color = null // If set, changes how the day/night light looks. - var/flight_falure_modifier = 0 // Some types of weather make flying harder, and therefore make crashes more likely. + var/flight_failure_modifier = 0 // Some types of weather make flying harder, and therefore make crashes more likely. var/transition_chances = list() // Assoc list var/datum/weather_holder/holder = null diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 52143a5fc1f..9d513f386ed 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -56,6 +56,9 @@ /obj/machinery/power/apc/hyper cell_type = /obj/item/weapon/cell/hyper +/obj/machinery/power/apc/alarms_hidden + alarms_hidden = TRUE + /obj/machinery/power/apc name = "area power controller" desc = "A control terminal for the area electrical systems." @@ -112,6 +115,7 @@ var/global/list/status_overlays_equipment var/global/list/status_overlays_lighting var/global/list/status_overlays_environ + var/alarms_hidden = FALSE //If power alarms from this APC are visible on consoles /obj/machinery/power/apc/updateDialog() if (stat & (BROKEN|MAINT)) @@ -223,6 +227,10 @@ src.area = get_area_name(areastring) name = "\improper [area.name] APC" area.apc = src + + if(istype(area, /area/submap)) + alarms_hidden = TRUE + update_icon() make_terminal() @@ -648,7 +656,7 @@ if ((stat & BROKEN) \ && !opened \ && W.force >= 5 \ - && W.w_class >= ITEMSIZE_NORMAL ) + && W.w_class >= ITEMSIZE_SMALL ) user.visible_message("The [src.name] has been hit with the [W.name] by [user.name]!", \ "You hit the [src.name] with your [W.name]!", \ "You hear a bang!") @@ -666,7 +674,7 @@ istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/device/assembly/signaler))) return src.attack_hand(user) //Placeholder until someone can do take_damage() for APCs or something. - to_chat(user,"The [src.name] looks too sturdy to bash open.") + to_chat(user,"The [src.name] looks too sturdy to bash open with \the [W.name].") // attack with hand - remove cell (if cover open) or interact with the APC @@ -1108,7 +1116,7 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 0 // update icon & area power if anything changed @@ -1138,21 +1146,21 @@ equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 2 else if(cell.percent() <= 15) // <15%, turn off lighting & equipment if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0)) equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) environ = autoset(environ, 1) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 1 else // zero charge, turn all off if(autoflag != 0) equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 0 // val 0=off, 1=off(auto) 2=on 3=on(auto) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 678e59ccf34..5ad1e727da4 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -53,7 +53,8 @@ var/list/possible_cable_coil_colours = list( icon_state = "0-1" var/d1 = 0 var/d2 = 1 - layer = 2.44 //Just below unary stuff, which is at 2.45 and above pipes, which are at 2.4 + plane = PLATING_PLANE + layer = WIRES_LAYER color = COLOR_RED var/obj/machinery/power/breakerbox/breaker_box @@ -497,10 +498,11 @@ obj/structure/cable/proc/cableColor(var/colorC) charge_costs = list(1) /obj/item/stack/cable_coil/suicide_act(mob/user) + var/datum/gender/TU = gender_datums[user.get_visible_gender()] if(locate(/obj/item/weapon/stool) in user.loc) - user.visible_message("[user] is making a noose with the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is making a noose with the [src.name]! It looks like [TU.he] [TU.is] trying to commit suicide.") else - user.visible_message("[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is strangling [TU.himself] with the [src.name]! It looks like [TU.he] [TU.is] trying to commit suicide.") return(OXYLOSS) /obj/item/stack/cable_coil/New(loc, length = MAXCOIL, var/param_color = null) @@ -881,6 +883,12 @@ obj/structure/cable/proc/cableColor(var/colorC) color = pick(COLOR_RED, COLOR_BLUE, COLOR_LIME, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN, COLOR_SILVER, COLOR_GRAY, COLOR_BLACK, COLOR_MAROON, COLOR_OLIVE, COLOR_LIME, COLOR_TEAL, COLOR_NAVY, COLOR_PURPLE, COLOR_BEIGE, COLOR_BROWN) ..() +/obj/item/stack/cable_coil/random_belt/New() + stacktype = /obj/item/stack/cable_coil + color = pick(COLOR_RED, COLOR_YELLOW, COLOR_ORANGE) + amount = 30 + ..() + //Endless alien cable coil /obj/item/stack/cable_coil/alien diff --git a/code/modules/power/cable_ender.dm b/code/modules/power/cable_ender.dm index 32768552710..d6975091ea3 100644 --- a/code/modules/power/cable_ender.dm +++ b/code/modules/power/cable_ender.dm @@ -8,7 +8,8 @@ icon = 'icons/obj/power_cond_heavy.dmi' name = "large power cable" desc = "This cable is tough. It cannot be cut with simple hand tools." - layer = 2.39 //Just below pipes, which are at 2.4 + plane = PLATING_PLANE + layer = PIPES_LAYER - 0.05 //Just below pipes color = null unacidable = 1 var/id = null diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm index 99c91a6b742..a286517965b 100644 --- a/code/modules/power/cable_heavyduty.dm +++ b/code/modules/power/cable_heavyduty.dm @@ -7,7 +7,8 @@ icon = 'icons/obj/power_cond_heavy.dmi' name = "large power cable" desc = "This cable is tough. It cannot be cut with simple hand tools." - layer = 2.39 //Just below pipes, which are at 2.4 + plane = PLATING_PLANE + layer = PIPES_LAYER - 0.05 //Just below pipes color = null /obj/structure/cable/heavyduty/attackby(obj/item/W, mob/user) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 7a8c7c541fb..4db4d40c4c1 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -24,6 +24,11 @@ var/charge_delay = 0 // How long it takes for the cell to start recharging after last use matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) + // Overlay stuff. + var/overlay_half_state = "cell-o1" // Overlay used when not fully charged but not empty. + var/overlay_full_state = "cell-o2" // Overlay used when fully charged. + var/last_overlay_state = null // Used to optimize update_icon() calls. + /obj/item/weapon/cell/New() ..() charge = maxcharge @@ -55,15 +60,38 @@ return use(cell_amt) / CELLRATE -/obj/item/weapon/cell/update_icon() - overlays.Cut() +#define OVERLAY_FULL 2 +#define OVERLAY_PARTIAL 1 +#define OVERLAY_EMPTY 0 - if(charge < 0.01) - return - else if(charge/maxcharge >=0.995) - overlays += image('icons/obj/power.dmi', "cell-o2") - else - overlays += image('icons/obj/power.dmi', "cell-o1") +/obj/item/weapon/cell/update_icon() + var/new_overlay = null // The overlay that is needed. + // If it's different than the current overlay, then it'll get changed. + // Otherwise nothing happens, to save on CPU. + + if(charge < 0.01) // Empty. + new_overlay = OVERLAY_EMPTY + if(last_overlay_state != new_overlay) + cut_overlays() + + else if(charge/maxcharge >= 0.995) // Full + new_overlay = OVERLAY_FULL + if(last_overlay_state != new_overlay) + cut_overlay(overlay_half_state) + add_overlay(overlay_full_state) + + + else // Inbetween. + new_overlay = OVERLAY_PARTIAL + if(last_overlay_state != new_overlay) + cut_overlay(overlay_full_state) + add_overlay(overlay_half_state) + + last_overlay_state = new_overlay + +#undef OVERLAY_FULL +#undef OVERLAY_PARTIAL +#undef OVERLAY_EMPTY /obj/item/weapon/cell/proc/percent() // return % charge of cell return 100.0*charge/maxcharge @@ -234,5 +262,6 @@ return 0 /obj/item/weapon/cell/suicide_act(mob/user) - viewers(user) << "\The [user] is licking the electrodes of \the [src]! It looks like \he's trying to commit suicide." + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + viewers(user) << "\The [user] is licking the electrodes of \the [src]! It looks like [TU.he] [TU.is] trying to commit suicide." return (FIRELOSS) \ No newline at end of file diff --git a/code/modules/power/cells/device_cells.dm b/code/modules/power/cells/device_cells.dm index 822370a6b14..9cacf670730 100644 --- a/code/modules/power/cells/device_cells.dm +++ b/code/modules/power/cells/device_cells.dm @@ -21,7 +21,7 @@ charge_amount = 20 /obj/item/weapon/cell/device/weapon/empty/initialize() - ..() + . = ..() charge = 0 update_icon() diff --git a/code/modules/power/cells/power_cells.dm b/code/modules/power/cells/power_cells.dm index a9b92a9bb3d..cec7cef5126 100644 --- a/code/modules/power/cells/power_cells.dm +++ b/code/modules/power/cells/power_cells.dm @@ -91,3 +91,40 @@ maxcharge = 10000 matter = null self_recharge = TRUE + +//Not actually a cell, but if people look for it, they'll probably look near other cells +/obj/item/device/fbp_backup_cell + name = "backup battery" + desc = "A small one-time-use chemical battery for synthetic crew when they are low on power in emergency situations." + icon = 'icons/obj/power.dmi' + icon_state = "fbp_cell" + w_class = ITEMSIZE_SMALL + var/amount = 100 + var/used = FALSE + +/obj/item/device/fbp_backup_cell/initialize() + overlays += image(icon,"[icon_state]1") + +/obj/item/device/fbp_backup_cell/attack(mob/living/M as mob, mob/user as mob) + if(!used && ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.isSynthetic()) + if(H.nutrition <= amount) + use(user,H) + else + to_chat(user,"The difference in potential is too great. [user == M ? "You have" : "[H] has"] too much charge to use such a small battery.") + else if(M == user) + to_chat(user,"You lick the cell, and your tongue tingles slightly.") + else + to_chat(user,"This cell is meant for use on humanoid synthetics only.") + + . = ..() + +/obj/item/device/fbp_backup_cell/proc/use(var/mob/living/user, var/mob/living/target) + if(used) + return + used = TRUE + desc += " This one has already been used." + overlays.Cut() + target.nutrition += amount + user.custom_emote(message = "connects \the [src] to [user == target ? "their" : "[target]'s"] charging port, expending it.") diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm index 60af67cf92c..7f81b70ffd7 100644 --- a/code/modules/power/fusion/core/_core.dm +++ b/code/modules/power/fusion/core/_core.dm @@ -18,6 +18,8 @@ var/list/fusion_cores = list() active_power_usage = 500 //multiplied by field strength anchored = 0 + circuit = /obj/item/weapon/circuitboard/fusion_core + var/obj/effect/fusion_em_field/owned_field var/field_strength = 1//0.01 var/id_tag @@ -27,8 +29,12 @@ var/list/fusion_cores = list() /obj/machinery/power/fusion_core/initialize() . = ..() - connect_to_network() fusion_cores += src + default_apply_parts() + +/obj/machinery/power/fusion_core/mapped/initialize() + . = ..() + connect_to_network() /obj/machinery/power/fusion_core/Destroy() for(var/obj/machinery/computer/fusion_core_control/FCC in machines) @@ -47,6 +53,7 @@ var/list/fusion_cores = list() owned_field.radiation_scale() owned_field.temp_dump() owned_field.temp_color() + /obj/machinery/power/fusion_core/Topic(href, href_list) if(..()) return 1 @@ -70,7 +77,7 @@ var/list/fusion_cores = list() if(owned_field) icon_state = "core0" if(force_rupture || owned_field.plasma_temperature > 1000) - owned_field.Rupture() + owned_field.MRC() else owned_field.RadiateAll() qdel(owned_field) @@ -106,23 +113,20 @@ var/list/fusion_cores = list() to_chat(user,"Shut \the [src] off first!") return + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return + if(ismultitool(W)) var/new_ident = input("Enter a new ident tag.", "Fusion Core", id_tag) as null|text if(new_ident && user.Adjacent(src)) id_tag = new_ident return - else if(iswrench(W)) - anchored = !anchored - playsound(src, W.usesound, 75, 1) - if(anchored) - user.visible_message("[user.name] secures [src.name] to the floor.", \ - "You secure the [src.name] to the floor.", \ - "You hear a ratchet") - else - user.visible_message("[user.name] unsecures [src.name] from the floor.", \ - "You unsecure the [src.name] from the floor.", \ - "You hear a ratchet") + if(default_unfasten_wrench(user, W)) return return ..() diff --git a/code/modules/power/fusion/core/core_field.dm b/code/modules/power/fusion/core/core_field.dm index 37351c53afa..1efb09d777b 100644 --- a/code/modules/power/fusion/core/core_field.dm +++ b/code/modules/power/fusion/core/core_field.dm @@ -1,6 +1,7 @@ #define FUSION_ENERGY_PER_K 20 #define FUSION_MAX_ENVIRO_HEAT 5000 //raise this if you want the reactor to dump more energy into the atmosphere -#define PLASMA_TEMP_RADIATION_DIVISIOR 15 //radiation divisior. plasma temp / divisor = radiation. +#define PLASMA_TEMP_RADIATION_DIVISIOR 20 //radiation divisior. plasma temp / divisor = radiation. + /obj/effect/fusion_em_field name = "electromagnetic field" @@ -8,7 +9,8 @@ icon = 'icons/obj/machines/power/fusion.dmi' icon_state = "emfield_s1" alpha = 50 - layer = 4 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER light_color = "#cc7700" var/size = 1 @@ -19,6 +21,8 @@ var/tick_instability = 0 var/percent_unstable = 0 var/stable = 1 + var/id_tag + var/critical = 0 var/obj/machinery/power/fusion_core/owned_core var/list/dormant_reactant_quantities = list() @@ -31,7 +35,8 @@ /obj/structure/cable, /obj/machinery/atmospherics, /obj/machinery/air_sensor, - /mob/observer/dead + /mob/observer/dead, + /obj/machinery/power/hydromagnetic_trap ) var/light_min_range = 2 @@ -52,7 +57,7 @@ owned_core = new_owned_core if(!owned_core) qdel(src) - + id_tag = owned_core.id_tag //create the gimmicky things to handle field collisions var/obj/effect/fusion_particle_catcher/catcher @@ -194,37 +199,46 @@ if(percent_unstable >= 1) owned_core.Shutdown(force_rupture=1) else - if(percent_unstable > 0.5 && prob(percent_unstable*100)) + if(percent_unstable > 0.1 && prob(percent_unstable*100)) if(plasma_temperature < 2000) visible_message("\The [src] ripples uneasily, like a disturbed pond.") else var/flare var/fuel_loss var/rupture - if(percent_unstable < 0.2) + if(percent_unstable > 0.2) visible_message("\The [src] ripples uneasily, like a disturbed pond.") - fuel_loss = prob(5) - flare = prob(50) - else if(percent_unstable < 0.9) + flare = prob(25) + else if(percent_unstable > 0.5) visible_message("\The [src] undulates violently, shedding plumes of plasma!") flare = prob(50) fuel_loss = prob(20) rupture = prob(5) - else + else if(percent_unstable > 0.8) visible_message("\The [src] is wracked by a series of horrendous distortions, buckling and twisting like a living thing!") flare = 1 fuel_loss = prob(50) rupture = prob(25) if(rupture) - owned_core.Shutdown(force_rupture=1) + if(prob(80)) + MagneticQuench() + return + else if(prob(15)) + MRC() + return + else if(prob(5)) + QuantumFluxCascade() + return + else if(prob(5)) + BluespaceQuenchEvent() + return else var/lost_plasma = (plasma_temperature*percent_unstable) radiation += lost_plasma if(flare) - radiation += plasma_temperature/2 - plasma_temperature -= lost_plasma - + spawn(1) + emflare() if(fuel_loss) for(var/particle in dormant_reactant_quantities) var/lost_fuel = dormant_reactant_quantities[particle]*percent_unstable @@ -234,17 +248,19 @@ dormant_reactant_quantities.Remove(particle) Radiate() return - -/obj/effect/fusion_em_field/proc/Rupture() - visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") - set_light(15, 15, "#CCCCFF") - empulse(get_turf(src), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) - sleep(5) - global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") - RadiateAll() - explosion(get_turf(owned_core),-1,-1,8,10) // Blow out all the windows. - return - +/*/obj/effect/fusion_em_field/proc/CheckCriticality() + if (plasma_temperature > 70000) + critical += 0.2 + else if (instability > 0.45) + critical += 0.6 + if(critical >= 25 && prob(percent_unstable*100)) + if (critical >= 90) + visible_message("\The [src] rumbles and quivers violently, threatening to break free!") + else if(critical >= 50) + visible_message("\The [src] rumbles and quivers energetically, the walls distorting slightly.") + else if(critical >= 25) + visible_message("\The [src] rumbles and quivers slightly, vibrating the deck.") +*/ /obj/effect/fusion_em_field/proc/ChangeFieldStrength(var/new_strength) var/calc_size = 1 if(new_strength <= 50) @@ -490,19 +506,19 @@ //All procs below this point are called in _core.dm, starting at line 41. //Stability monitoring. Gives radio annoucements if field stability is below 80% /obj/effect/fusion_em_field/proc/stability_monitor() - var/warnpoint = 0.10 + var/warnpoint = 0.10 //start warning at 10% instability var/warnmessage = "Warning! Field unstable! Instability at [percent_unstable * 100]%, plasma temperature at [plasma_temperature + 295]k." var/stablemessage = "Containment field returning to stable conditions." - if(percent_unstable >= warnpoint) + if(percent_unstable >= warnpoint) //we're unstable, start warning engineering global_announcer.autosay(warnmessage, "Field Stability Monitor", "Engineering") - stable = 0 - sleep(20 SECONDS) - return - if(percent_unstable < warnpoint && stable == 0) + stable = 0 //we know we're not stable, so let's not state the safe message. + sleep(20) + return + if(percent_unstable < warnpoint && stable == 0) //The field is stable again. Let's set our safe variable and state the safe message. global_announcer.autosay(stablemessage, "Field Stability Monitor", "Engineering") stable = 1 - return + return //Reaction radiation is fairly buggy and there's at least three procs dealing with radiation here, this is to ensure constant radiation output. /obj/effect/fusion_em_field/proc/radiation_scale() @@ -513,7 +529,8 @@ if(owned_core && owned_core.loc) var/datum/gas_mixture/environment = owned_core.loc.return_air() if(environment && environment.temperature < (T0C+FUSION_MAX_ENVIRO_HEAT)) - environment.add_thermal_energy(plasma_temperature*20000) + environment.add_thermal_energy(plasma_temperature*5000) + check_instability() //Temperature changes depending on color. /obj/effect/fusion_em_field/proc/temp_color() @@ -538,8 +555,121 @@ light_max_range = 5 light_max_power = 5 return +//moved the flare to a proc for various reasons. Called on line 225. +/obj/effect/fusion_em_field/proc/emflare() + radiation += plasma_temperature/2 + light_color = "#ff0000" + light_max_power = 30 + light_min_power = 30 + light_min_range = 30 + light_max_range = 30 + visible_message("\The [src] flares to eye-searing brightness!") + sleep(60) + temp_color() + //plasma_temperature -= lost_plasma + return +//Rupture() is no longer the end all be all. Fear the magnetic resonance cascade and quantum flux cascade +/obj/effect/fusion_em_field/proc/Rupture() + visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") + set_light(15, 15, "#CCCCFF") + empulse(get_turf(src), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") + RadiateAll() + var/list/things_in_range = range(10, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + + explosion(pick(things_in_range), -1, 5, 5, 5) + empulse(pick(things_in_range), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + spawn(25) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(25) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(25) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(10) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(10) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(10) + explosion(pick(things_in_range), -1, 5, 5, 5) + return + +/obj/effect/fusion_em_field/proc/MRC() //spews electromagnetic pulses in an area around the core. + visible_message("\The [src] glows an extremely bright pink and flares out of existance!") + global_announcer.autosay("Warning! Magnetic Resonance Cascade detected! Brace for electronic system distruption.", "Field Stability Monitor") + set_light(15, 15, "#ff00d8") + var/list/things_in_range = range(15, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + for(var/loopcount = 1 to 10) + spawn(200) + empulse(pick(things_in_range), 10, 15) + Destroy() + return + +/obj/effect/fusion_em_field/proc/QuantumFluxCascade() //spews hot phoron and oxygen in a radius around the RUST. Will probably set fire to things + global_announcer.autosay("Warning! Quantum fluxuation detected! Flammable gas release expected.", "Field Stability Monitor") + var/list/things_in_range = range(15, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + for(var/loopcount = 1 to 10) + var/turf/TT = get_turf(pick(turfs_in_range)) + if(istype(TT)) + var/datum/gas_mixture/plasma = new + plasma.adjust_gas("oxygen", (size*100), 0) + plasma.adjust_gas("phoron", (size*100), 0) + plasma.temperature = (plasma_temperature/2) + plasma.update_values() + TT.assume_air(plasma) + TT.hotspot_expose(plasma_temperature) + plasma = null + Destroy() + return + +/obj/effect/fusion_em_field/proc/MagneticQuench() //standard hard shutdown. dumps hot oxygen/phoron into the core's area and releases an EMP in the area around the core. + global_announcer.autosay("Warning! Magnetic Quench event detected, engaging hard shutdown.", "Field Stability Monitor") + empulse(owned_core, 10, 15) + var/turf/TT = get_turf(owned_core) + if(istype(TT)) + var/datum/gas_mixture/plasma = new + plasma.adjust_gas("oxygen", (size*100), 0) + plasma.adjust_gas("phoron", (size*100), 0) + plasma.temperature = (plasma_temperature/2) + plasma.update_values() + TT.assume_air(plasma) + TT.hotspot_expose(plasma_temperature) + plasma = null + Destroy() + owned_core.Shutdown() + return + +/obj/effect/fusion_em_field/proc/BluespaceQuenchEvent() //!!FUN!! causes a number of explosions in an area around the core. Will likely destory or heavily damage the reactor. + visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") + set_light(15, 15, "#CCCCFF") + empulse(get_turf(src), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") + RadiateAll() + var/list/things_in_range = range(10, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + for(var/loopcount = 1 to 10) + explosion(pick(things_in_range), -1, 5, 5, 5) + empulse(pick(things_in_range), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + Destroy() + owned_core.Shutdown() + return + #undef FUSION_HEAT_CAP #undef FUSION_MAX_ENVIRO_HEAT #undef PLASMA_TEMP_RADIATION_DIVISIOR \ No newline at end of file diff --git a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm index 468f24510ae..29d93620151 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm @@ -2,7 +2,6 @@ name = "fuel rod assembly" icon = 'icons/obj/machines/power/fusion.dmi' icon_state = "fuel_assembly" - layer = 4 var/material_name diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm index 97afe227c48..375af68696d 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm @@ -4,7 +4,12 @@ icon_state = "fuel_compressor1" density = 1 anchored = 1 - layer = 4 + + circuit = /obj/item/weapon/circuitboard/fusion_fuel_compressor + +/obj/machinery/fusion_fuel_compressor/initialize() + . = ..() + default_apply_parts() /obj/machinery/fusion_fuel_compressor/MouseDrop_T(var/atom/movable/target, var/mob/user) if(user.incapacitated() || !user.Adjacent(src)) @@ -34,6 +39,14 @@ return 0 /obj/machinery/fusion_fuel_compressor/attackby(var/obj/item/thing, var/mob/user) + + if(default_deconstruction_screwdriver(user, thing)) + return + if(default_deconstruction_crowbar(user, thing)) + return + if(default_part_replacement(user, thing)) + return + if(istype(thing, /obj/item/stack/material)) var/obj/item/stack/material/M = thing var/material/mat = M.get_material() diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm index 9f54c481889..545638c7d80 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm @@ -11,15 +11,17 @@ var/list/fuel_injectors = list() idle_power_usage = 10 active_power_usage = 500 + circuit = /obj/item/weapon/circuitboard/fusion_injector + var/fuel_usage = 0.0001 var/id_tag var/injecting = 0 var/obj/item/weapon/fuel_assembly/cur_assembly -/obj/machinery/fusion_fuel_injector/New() - ..() +/obj/machinery/fusion_fuel_injector/initialize() + . = ..() fuel_injectors += src - tag = null + default_apply_parts() /obj/machinery/fusion_fuel_injector/Destroy() if(cur_assembly) @@ -66,17 +68,18 @@ var/list/fuel_injectors = list() cur_assembly = W return - if(iswrench(W)) + if(iswrench(W) || isscrewdriver(W) || iscrowbar(W) || istype(W, /obj/item/weapon/storage/part_replacer)) if(injecting) to_chat(user, "Shut \the [src] off first!") return - anchored = !anchored - playsound(src, W.usesound, 75, 1) - if(anchored) - user.visible_message("\The [user] secures \the [src] to the floor.") - else - user.visible_message("\The [user] unsecures \the [src] from the floor.") - return + if(default_unfasten_wrench(user, W)) + return + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return return ..() @@ -122,7 +125,6 @@ var/list/fuel_injectors = list() var/obj/effect/accelerated_particle/A = new/obj/effect/accelerated_particle(get_turf(src), dir) A.particle_type = reagent A.additional_particles = numparticles - 1 - A.move(1) if(cur_assembly) cur_assembly.rod_quantities[reagent] -= amount amount_left += cur_assembly.rod_quantities[reagent] @@ -150,4 +152,4 @@ var/list/fuel_injectors = list() if (usr.incapacitated() || usr.restrained() || anchored) return - src.dir = turn(src.dir, 90) \ No newline at end of file + src.dir = turn(src.dir, 90) diff --git a/code/modules/power/fusion/fusion_particle_catcher.dm b/code/modules/power/fusion/fusion_particle_catcher.dm index 7dba3d8e233..3651285485f 100644 --- a/code/modules/power/fusion/fusion_particle_catcher.dm +++ b/code/modules/power/fusion/fusion_particle_catcher.dm @@ -38,8 +38,6 @@ return 0 /obj/effect/fusion_particle_catcher/CanPass(var/atom/movable/mover, var/turf/target, var/height=0, var/air_group=0) - if(istype(mover, /obj/item/projectile/beam)) - return 0 - if(istype(mover, /obj/effect/accelerated_particle)) - return 0 + if(istype(mover, /obj/effect/accelerated_particle) || istype(mover, /obj/item/projectile/beam)) + return !density return 1 diff --git a/code/modules/power/fusion/fusion_reactions.dm b/code/modules/power/fusion/fusion_reactions.dm index 38f73812f99..623f70bd6bd 100644 --- a/code/modules/power/fusion/fusion_reactions.dm +++ b/code/modules/power/fusion/fusion_reactions.dm @@ -117,7 +117,7 @@ proc/get_fusion_reaction(var/p_react, var/s_react, var/m_energy) var/turf/origin = get_turf(holder) holder.Rupture() qdel(holder) - var/radiation_level = rand(100, 200) + var/radiation_level = 200 // Copied from the SM for proof of concept. //Not any more --Cirra //Use the whole z proc --Leshana radiation_repository.z_radiate(locate(1, 1, holder.z), radiation_level, 1) @@ -141,7 +141,6 @@ proc/get_fusion_reaction(var/p_react, var/s_react, var/m_energy) return 1 - // High end reactions. /decl/fusion_reaction/boron_hydrogen p_react = "boron" diff --git a/code/modules/power/fusion/fusion_reagents.dm b/code/modules/power/fusion/fusion_reagents.dm index 875bf63fee0..80b1cbb3361 100644 --- a/code/modules/power/fusion/fusion_reagents.dm +++ b/code/modules/power/fusion/fusion_reagents.dm @@ -5,4 +5,14 @@ description = "A colorless, odorless, tasteless and generally inert gas used in fusion reactors. Non-radioactive." id = "helium-3" reagent_state = GAS - color = "#808080" \ No newline at end of file + color = "#808080" + +/obj/structure/reagent_dispensers/he3 + name = "fueltank" + desc = "A fueltank." + icon = 'icons/obj/objects.dmi' + icon_state = "weldtank" + amount_per_transfer_from_this = 10 + New() + ..() + reagents.add_reagent("helium-3",1000) \ No newline at end of file diff --git a/code/modules/power/fusion/gyrotron/gyrotron.dm b/code/modules/power/fusion/gyrotron/gyrotron.dm index edf905ab061..5309b0f5b24 100644 --- a/code/modules/power/fusion/gyrotron/gyrotron.dm +++ b/code/modules/power/fusion/gyrotron/gyrotron.dm @@ -9,6 +9,8 @@ var/list/gyrotrons = list() use_power = 1 active_power_usage = 50000 + circuit = /obj/item/weapon/circuitboard/gyrotron + var/id_tag var/rate = 3 var/mega_energy = 1 @@ -21,6 +23,7 @@ var/list/gyrotrons = list() /obj/machinery/power/emitter/gyrotron/initialize() gyrotrons += src active_power_usage = mega_energy * 50000 + default_apply_parts() . = ..() /obj/machinery/power/emitter/gyrotron/Destroy() @@ -54,4 +57,12 @@ var/list/gyrotrons = list() if(new_ident && user.Adjacent(src)) id_tag = new_ident return + + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return + return ..() \ No newline at end of file diff --git a/code/modules/power/fusion/magpower.dm b/code/modules/power/fusion/magpower.dm new file mode 100644 index 00000000000..c6882c6eb36 --- /dev/null +++ b/code/modules/power/fusion/magpower.dm @@ -0,0 +1,54 @@ +#define ENERGY_PER_K 20 +#define MINIMUM_PLASMA_TEMPERATURE 10000 + +/obj/machinery/power/hydromagnetic_trap + name = "\improper hydromagnetic trap" + desc = "A device for extracting power from high-energy plasma in toroidal fields." + icon = 'icons/obj/machines/power/fusion.dmi' + icon_state = "mag_trap0" + anchored = 1 + var/list/things_in_range = list()//what is in a radius of us? + var/list/fields_in_range = list()//What EM fields are in that radius? + var/list/active_field = list()//Our active field. + var/active = 0 //are we even on? + var/id_tag //needed for !!rasins!! + +/obj/machinery/power/hydromagnetic_trap/process() + if(!powernet && anchored == 1) + return + spawn(1) + Active() + Search() + +/obj/machinery/power/hydromagnetic_trap/proc/Search()//let's not have +100 instances of the same field in active_field. + things_in_range = range(7, src) + var/obj/effect/fusion_em_field/FFF + for (FFF in things_in_range) + fields_in_range.Add(FFF) + for (FFF in fields_in_range) + if (active_field.len > 0) + return + else if (active_field.len == 0) + Link() + return + +/obj/machinery/power/hydromagnetic_trap/proc/Link() //discover our EM field + var/obj/effect/fusion_em_field/FFF + for(FFF in fields_in_range) + if (FFF.id_tag != id_tag) + return + active_field += FFF + active = 1 + return + +/obj/machinery/power/hydromagnetic_trap/proc/Active()//POWERRRRR + var/obj/effect/fusion_em_field/FF + if (active == 0) + return + for (FF in active_field) + if (FF.plasma_temperature >= MINIMUM_PLASMA_TEMPERATURE) + icon_state = "mag_trap1" + add_avail(ENERGY_PER_K * FF.plasma_temperature) + if (FF.plasma_temperature <= MINIMUM_PLASMA_TEMPERATURE) + icon_state = "mag_trap0" + return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 6de14313f1a..98d4d2233f9 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -16,7 +16,8 @@ icon = 'icons/obj/lighting.dmi' icon_state = "tube-construct-stage1" anchored = 1 - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER var/stage = 1 var/fixture_type = "tube" var/sheets_refunded = 2 @@ -132,7 +133,6 @@ icon = 'icons/obj/lighting.dmi' icon_state = "bulb-construct-stage1" anchored = 1 - layer = 5 stage = 1 fixture_type = "bulb" sheets_refunded = 1 @@ -143,6 +143,7 @@ icon = 'icons/obj/lighting.dmi' icon_state = "flamp-construct-stage1" anchored = 0 + plane = OBJ_PLANE layer = OBJ_LAYER stage = 1 fixture_type = "flamp" @@ -156,7 +157,8 @@ icon_state = "tube1" desc = "A lighting fixture." anchored = 1 - layer = 5 // They were appearing under mobs which is a little weird - Ostaf + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER use_power = 2 idle_power_usage = 2 active_power_usage = 20 @@ -192,6 +194,7 @@ fitting = "bulb" brightness_range = 5 brightness_power = 2 + plane = OBJ_PLANE layer = OBJ_LAYER brightness_color = "#FFF4E5" desc = "A floor lamp." diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 6a40cf3b8ea..5a20aaeaebf 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -111,7 +111,7 @@ var/overheating = 0 //if this gets high enough the generator explodes /obj/machinery/power/port_gen/pacman/initialize() - ..() + . = ..() if(anchored) connect_to_network() diff --git a/code/modules/power/sensors/powernet_sensor.dm b/code/modules/power/sensors/powernet_sensor.dm index d082b179223..20c8837b32d 100644 --- a/code/modules/power/sensors/powernet_sensor.dm +++ b/code/modules/power/sensors/powernet_sensor.dm @@ -12,7 +12,7 @@ desc = "Small machine which transmits data about specific powernet" anchored = 1 density = 0 - layer = 2.46 // Above cables, but should be below floors. + layer = ABOVE_UTILITY icon = 'icons/obj/objects.dmi' icon_state = "floor_beacon" // If anyone wants to make better sprite, feel free to do so without asking me. diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index d57c133cd1a..d8712a0e4c1 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -53,7 +53,7 @@ if(isliving(user)) hasShocked = 1 var/shock_damage = min(rand(30,40),rand(30,40)) - user.electrocute_act(shock_damage, src) + user.electrocute_act(shock_damage, src, 1, BP_TORSO) var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src))) user.throw_at(target, 200, 4) @@ -61,7 +61,6 @@ sleep(20) hasShocked = 0 - return /obj/machinery/containment_field/proc/set_master(var/master1,var/master2) if(!master1 || !master2) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index e5dead7ee5a..827bd9aefdb 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -42,13 +42,13 @@ return 1 /obj/machinery/power/emitter/initialize() - ..() + . = ..() if(state == 2 && anchored) connect_to_network() /obj/machinery/power/emitter/Destroy() message_admins("Emitter deleted at ([x],[y],[z] - JMP)",0,1) - log_game("Emitter deleted at ([x],[y],[z])") + log_game("EMITTER([x],[y],[z]) Destroyed/deleted.") investigate_log("deleted at ([x],[y],[z])","singulo") ..() @@ -72,7 +72,7 @@ src.active = 0 user << "You turn off [src]." message_admins("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) - log_game("Emitter turned off by [user.ckey]([user]) in ([x],[y],[z])") + log_game("EMITTER([x],[y],[z]) OFF by [key_name(user)]") investigate_log("turned off by [user.key]","singulo") else src.active = 1 @@ -80,7 +80,7 @@ src.shot_number = 0 src.fire_delay = get_initial_fire_delay() message_admins("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) - log_game("Emitter turned on by [user.ckey]([user]) in ([x],[y],[z])") + log_game("EMITTER([x],[y],[z]) ON by [key_name(user)]") investigate_log("turned on by [user.key]","singulo") update_icon() else @@ -112,11 +112,13 @@ if(!powered) powered = 1 update_icon() + log_game("EMITTER([x],[y],[z]) Regained power and is ON.") investigate_log("regained power and turned on","singulo") else if(powered) powered = 0 update_icon() + log_game("EMITTER([x],[y],[z]) Lost power and was ON.") investigate_log("lost power and turned off","singulo") return diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index a9251e27ee3..dc6fd45163d 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -90,6 +90,7 @@ field_generator power level display "You turn on the [src.name].", \ "You hear heavy droning") turn_on() + log_game("FIELDGEN([x],[y],[z]) Activated by [key_name(user)]") investigate_log("activated by [user.key].","singulo") src.add_fingerprint(user) @@ -213,6 +214,7 @@ field_generator power level display for(var/mob/M in viewers(src)) M.show_message("\The [src] shuts down!") turn_off() + log_game("FIELDGEN([x],[y],[z]) Lost power and was ON.") investigate_log("ran out of power and deactivated","singulo") src.power = 0 return 0 @@ -338,4 +340,5 @@ field_generator power level display temp = 0 message_admins("A singulo exists and a containment field has failed.",1) investigate_log("has failed whilst a singulo exists.","singulo") + log_game("FIELDGEN([x],[y],[z]) Containment failed while singulo/tesla exists.") O.last_warning = world.time diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index 6c5d77fd1d1..3b5992e4e44 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -4,7 +4,7 @@ name = "Accelerated Particles" desc = "Small things moving very fast." icon = 'icons/obj/machines/particle_accelerator2.dmi' - icon_state = "particle"//Need a new icon for this + icon_state = "particle1"//Need a new icon for this anchored = 1 density = 1 var/movement_range = 10 @@ -19,22 +19,25 @@ var/movetotarget = 1 /obj/effect/accelerated_particle/weak + icon_state = "particle0" movement_range = 8 energy = 5 /obj/effect/accelerated_particle/strong + icon_state = "particle2" movement_range = 15 energy = 15 +/obj/effect/accelerated_particle/powerful + icon_state = "particle3" + movement_range = 25 + energy = 50 /obj/effect/accelerated_particle/New(loc, dir = 2) src.loc = loc src.set_dir(dir) - if(movement_range > 20) - movement_range = 20 spawn(0) move(1) - return /obj/effect/accelerated_particle/Bump(atom/A) @@ -58,18 +61,15 @@ PC.parent.plasma_temperature += mega_energy PC.parent.energy += energy loc = null - return /obj/effect/accelerated_particle/Bumped(atom/A) if(ismob(A)) Bump(A) - return /obj/effect/accelerated_particle/ex_act(severity) qdel(src) - return /obj/effect/accelerated_particle/singularity_act() return @@ -79,7 +79,6 @@ M.apply_effect((radiation*3),IRRADIATE,0) M.updatehealth() //M << "You feel odd." - return /obj/effect/accelerated_particle/proc/move(var/lag) diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 80f90fbacc7..a5d2a4ac0a8 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -139,6 +139,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin ..() if(master && master.active) master.toggle_power() + log_game("PACCEL([x],[y],[z]) Was moved while active and turned off.") investigate_log("was moved whilst active; it powered down.","singulo") /obj/structure/particle_accelerator/ex_act(severity) diff --git a/code/modules/power/singularity/particle_accelerator/particle_chamber.dm b/code/modules/power/singularity/particle_accelerator/particle_chamber.dm index 4df3a92c469..4404c33671e 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_chamber.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_chamber.dm @@ -3,8 +3,4 @@ desc_holder = "This is where the Alpha particles are accelerated to radical speeds." icon = 'icons/obj/machines/particle_accelerator2.dmi' icon_state = "fuel_chamber" - reference = "fuel_chamber" - -/obj/structure/particle_accelerator/fuel_chamber/update_icon() - ..() - return \ No newline at end of file + reference = "fuel_chamber" \ No newline at end of file diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 39f08f509b8..bcdd0d5036e 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -56,11 +56,10 @@ active = 0 connected_parts = list() - return /obj/machinery/particle_accelerator/control_box/update_icon() if(active) - icon_state = "[reference]p1" + icon_state = "[reference]p[strength]" else if(use_power) if(assembled) @@ -77,7 +76,6 @@ icon_state = "[reference]w" else icon_state = "[reference]c" - return /obj/machinery/particle_accelerator/control_box/Topic(href, href_list) ..() @@ -94,9 +92,9 @@ if(href_list["togglep"]) if(!wires.IsIndexCut(PARTICLE_TOGGLE_WIRE)) - src.toggle_power() + toggle_power() else if(href_list["scan"]) - src.part_scan() + part_scan() else if(href_list["strengthup"]) if(!wires.IsIndexCut(PARTICLE_STRENGTH_WIRE)) @@ -106,9 +104,8 @@ if(!wires.IsIndexCut(PARTICLE_STRENGTH_WIRE)) remove_strength() - src.updateDialog() - src.update_icon() - return + updateDialog() + update_icon() /obj/machinery/particle_accelerator/control_box/proc/strength_change() for(var/obj/structure/particle_accelerator/part in connected_parts) @@ -122,7 +119,7 @@ strength = strength_upper_limit else message_admins("PA Control Computer increased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) - log_game("PA Control Computer increased to [strength] by [usr.ckey]([usr]) in ([x],[y],[z])") + log_game("PACCEL([x],[y],[z]) [key_name(usr)] increased to [strength]") investigate_log("increased to [strength] by [usr.key]","singulo") strength_change() @@ -133,7 +130,7 @@ strength = 0 else message_admins("PA Control Computer decreased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) - log_game("PA Control Computer decreased to [strength] by [usr.ckey]([usr]) in ([x],[y],[z])") + log_game("PACCEL([x],[y],[z]) [key_name(usr)] decreased to [strength]") investigate_log("decreased to [strength] by [usr.key]","singulo") strength_change() @@ -144,21 +141,20 @@ update_use_power(0) else if(!stat && construction_state == 3) update_use_power(1) - return /obj/machinery/particle_accelerator/control_box/process() if(src.active) //a part is missing! if( length(connected_parts) < 6 ) + log_game("PACCEL([x],[y],[z]) Failed due to missing parts.") investigate_log("lost a connected part; It powered down.","singulo") - src.toggle_power() + toggle_power() return //emit some particles for(var/obj/structure/particle_accelerator/particle_emitter/PE in connected_parts) if(PE) PE.emit_particle(src.strength) - return /obj/machinery/particle_accelerator/control_box/proc/part_scan() @@ -211,11 +207,11 @@ /obj/machinery/particle_accelerator/control_box/proc/toggle_power() - src.active = !src.active + active = !active investigate_log("turned [active?"ON":"OFF"] by [usr ? usr.key : "outside forces"]","singulo") message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) - log_game("PA Control Computer turned [active ?"ON":"OFF"] by [usr.ckey]([usr]) in ([x],[y],[z])") - if(src.active) + log_game("PACCEL([x],[y],[z]) [key_name(usr)] turned [active?"ON":"OFF"].") + if(active) update_use_power(2) for(var/obj/structure/particle_accelerator/part in connected_parts) part.strength = src.strength diff --git a/code/modules/power/singularity/particle_accelerator/particle_emitter.dm b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm index ff6a444a538..9d37c2e6b8c 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_emitter.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm @@ -20,20 +20,16 @@ icon_state = "emitter_right" reference = "emitter_right" -/obj/structure/particle_accelerator/particle_emitter/update_icon() - ..() - return /obj/structure/particle_accelerator/particle_emitter/proc/set_delay(var/delay) if(delay && delay >= 0) - src.fire_delay = delay + fire_delay = delay return 1 return 0 - /obj/structure/particle_accelerator/particle_emitter/proc/emit_particle(var/strength = 0) - if((src.last_shot + src.fire_delay) <= world.time) - src.last_shot = world.time + if((last_shot + fire_delay) <= world.time) + last_shot = world.time var/obj/effect/accelerated_particle/A = null var/turf/T = get_step(src,dir) switch(strength) @@ -43,6 +39,8 @@ A = new/obj/effect/accelerated_particle(T, dir) if(2) A = new/obj/effect/accelerated_particle/strong(T, dir) + if(3) + A = new/obj/effect/accelerated_particle/powerful(T, dir) if(A) A.set_dir(src.dir) return 1 diff --git a/code/modules/power/singularity/particle_accelerator/particle_power.dm b/code/modules/power/singularity/particle_accelerator/particle_power.dm index a4dcb561e79..8badfab91ee 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_power.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_power.dm @@ -3,8 +3,4 @@ desc_holder = "This uses electromagnetic waves to focus the Alpha-Particles." icon = 'icons/obj/machines/particle_accelerator2.dmi' icon_state = "power_box" - reference = "power_box" - -/obj/structure/particle_accelerator/power_box/update_icon() - ..() - return + reference = "power_box" \ No newline at end of file diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 246dbba6c7e..75ec8fffc7c 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -7,7 +7,7 @@ icon_state = "singularity_s1" anchored = 1 density = 1 - layer = 6 + plane = ABOVE_PLANE light_range = 6 unacidable = 1 //Don't comment this out. diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index f2b763c9bc2..e2b37348a9d 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -148,6 +148,7 @@ if(output_used < 0.0001) // either from no charge or set to 0 outputting(0) investigate_log("lost power and turned off","singulo") + log_game("SMES([x],[y],[z]) Power depleted.") else if(output_attempt && output_level > 0) outputting = 1 else @@ -214,6 +215,7 @@ terminal = new /obj/machinery/power/terminal(tempLoc) terminal.set_dir(tempDir) terminal.master = src + terminal.connect_to_network() return 0 return 1 @@ -265,7 +267,6 @@ user.visible_message(\ "[user.name] has added cables to the [src].",\ "You added cables to the [src].") - terminal.connect_to_network() stat = 0 return 0 @@ -374,7 +375,7 @@ output_level = max(0, min(output_level_max, output_level)) // clamp to range investigate_log("input/output; on":"off"] | Input-mode: [input_attempt?"auto":"off"] by [usr.key]","singulo") - + log_game("SMES([x],[y],[z]) [key_name(usr)] changed settings: I:[input_level]([input_attempt]), O:[output_level]([output_attempt])") return 1 diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index bb1603b5706..6a4aa9c276e 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -1,6 +1,6 @@ // BUILDABLE SMES(Superconducting Magnetic Energy Storage) UNIT // -// Last Change 1.1.2015 by Atlantis - Happy New Year! +// Last Change 2.8.2018 by Neerti. Also signing this is still dumb. // // This is subtype of SMES that should be normally used. It can be constructed, deconstructed and hacked. // It also supports RCON System which allows you to operate it remotely, if properly set. @@ -8,7 +8,7 @@ //MAGNETIC COILS - These things actually store and transmit power within the SMES. Different types have different /obj/item/weapon/smes_coil name = "superconductive magnetic coil" - desc = "Standard superconductive magnetic coil with average capacity and I/O rating." + desc = "The standard superconductive magnetic coil, with average capacity and I/O rating." icon = 'icons/obj/stock_parts.dmi' icon_state = "smes_coil" // Just few icons patched together. If someone wants to make better icon, feel free to do so! w_class = ITEMSIZE_LARGE // It's LARGE (backpack size) @@ -18,21 +18,21 @@ // 20% Charge Capacity, 60% I/O Capacity. Used for substation/outpost SMESs. /obj/item/weapon/smes_coil/weak name = "basic superconductive magnetic coil" - desc = "Cheaper model of standard superconductive magnetic coil. It's capacity and I/O rating are considerably lower." + desc = "A cheaper model of superconductive magnetic coil. Its capacity and I/O rating are considerably lower." ChargeCapacity = 1200000 // 20 kWh IOCapacity = 150000 // 150 kW // 1000% Charge Capacity, 20% I/O Capacity /obj/item/weapon/smes_coil/super_capacity name = "superconductive capacitance coil" - desc = "Specialised version of standard superconductive magnetic coil. This one has significantly stronger containment field, allowing for significantly larger power storage. It's IO rating is much lower, however." + desc = "A specialised type of superconductive magnetic coil with a significantly stronger containment field, allowing for larger power storage. Its IO rating is much lower, however." ChargeCapacity = 60000000 // 1000 kWh IOCapacity = 50000 // 50 kW // 10% Charge Capacity, 400% I/O Capacity. Technically turns SMES into large super capacitor.Ideal for shields. /obj/item/weapon/smes_coil/super_io name = "superconductive transmission coil" - desc = "Specialised version of standard superconductive magnetic coil. While this one won't store almost any power, it rapidly transfers power, making it useful in systems which require large throughput." + desc = "A specialised type of superconductive magnetic coil with reduced storage capabilites but vastly improved power transmission capabilities, making it useful in systems which require large throughput." ChargeCapacity = 600000 // 10 kWh IOCapacity = 1000000 // 1000 kW @@ -55,8 +55,14 @@ component_parts += new /obj/item/weapon/smes_coil(src) recalc_coils() - - +// Pre-installed and pre-charged SMES hidden from the station, for use in submaps. +/obj/machinery/power/smes/buildable/point_of_interest/New() + ..(1) + charge = 1e7 // Should be enough for an individual POI. + RCon = FALSE + input_level = input_level_max + output_level = output_level_max + input_attempt = TRUE @@ -104,7 +110,7 @@ if(RCon) ..() else // RCON wire cut - usr << "Connection error: Destination Unreachable." + to_chat(usr, "Connection error: Destination Unreachable.") // Cyborgs standing next to the SMES can play with the wiring. if(istype(usr, /mob/living/silicon/robot) && Adjacent(usr) && open_hatch) @@ -116,7 +122,7 @@ /obj/machinery/power/smes/buildable/New(var/install_coils = 1) component_parts = list() component_parts += new /obj/item/stack/cable_coil(src,30) - src.wires = new /datum/wires/smes(src) + wires = new /datum/wires/smes(src) // Allows for mapped-in SMESs with larger capacity/IO if(install_coils) @@ -147,13 +153,12 @@ output_level_max += C.IOCapacity charge = between(0, charge, capacity) return 1 - else - return 0 + return 0 // Proc: total_system_failure() // Parameters: 2 (intensity - how strong the failure is, user - person which caused the failure) // Description: Checks the sensors for alerts. If change (alerts cleared or detected) occurs, calls for icon update. -/obj/machinery/power/smes/buildable/proc/total_system_failure(var/intensity = 0, var/mob/user as mob) +/obj/machinery/power/smes/buildable/proc/total_system_failure(var/intensity = 0, var/mob/user) // SMESs store very large amount of power. If someone screws up (ie: Disables safeties and attempts to modify the SMES) very bad things happen. // Bad things are based on charge percentage. // Possible effects: @@ -167,11 +172,9 @@ if (!intensity) return - var/mob/living/carbon/human/h_user = null - if (!istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/h_user = user + if (!istype(h_user)) return - else - h_user = user // Preparations @@ -185,97 +188,92 @@ log_game("SMES FAILURE: [src.x]X [src.y]Y [src.z]Z User: [usr.ckey], Intensity: [intensity]/100") message_admins("SMES FAILURE: [src.x]X [src.y]Y [src.z]Z User: [usr.ckey], Intensity: [intensity]/100 - JMP") + var/used_hand = h_user.hand?"l_hand":"r_hand" switch (intensity) if (0 to 15) // Small overcharge // Sparks, Weak shock s.set_up(2, 1, src) - s.start() if (user_protected && prob(80)) - h_user << "Small electrical arc almost burns your hand. Luckily you had your gloves on!" + to_chat(h_user, "A small electrical arc almost burns your hand. Luckily you had your gloves on!") else - h_user << "Small electrical arc sparks and burns your hand as you touch the [src]!" - h_user.adjustFireLoss(rand(5,10)) - h_user.Paralyse(2) - charge = 0 + to_chat(h_user, "A small electrical arc sparks and burns your hand as you touch the [src]!") + h_user.adjustFireLossByPart(rand(5,10), used_hand) + h_user.Weaken(2) if (16 to 35) // Medium overcharge // Sparks, Medium shock, Weak EMP s.set_up(4,1,src) - s.start() if (user_protected && prob(25)) - h_user << "Medium electrical arc sparks and almost burns your hand. Luckily you had your gloves on!" + to_chat(h_user, "A medium electrical arc sparks and almost burns your hand. Luckily you had your gloves on!") else - h_user << "Medium electrical sparks as you touch the [src], severely burning your hand!" - h_user.adjustFireLoss(rand(10,25)) - h_user.Paralyse(5) - spawn(0) - empulse(src.loc, 1, 2, 3, 4) - charge = 0 + to_chat(h_user, "A medium electrical arc sparks as you touch the [src], severely burning your hand!") + h_user.adjustFireLossByPart(rand(10,25), used_hand) + h_user.Weaken(5) + spawn() + empulse(get_turf(src), 1, 2, 3, 4) if (36 to 60) // Strong overcharge // Sparks, Strong shock, Strong EMP, 10% light overload. 1% APC failure s.set_up(7,1,src) - s.start() if (user_protected) - h_user << "Strong electrical arc sparks between you and [src], ignoring your gloves and burning your hand!" - h_user.adjustFireLoss(rand(25,60)) - h_user.Paralyse(8) + to_chat(h_user, "A strong electrical arc sparks between you and [src], ignoring your gloves and burning your hand!") + h_user.adjustFireLossByPart(rand(25,60), used_hand) + h_user.Weaken(8) else - h_user << "Strong electrical arc sparks between you and [src], knocking you out for a while!" - h_user.adjustFireLoss(rand(35,75)) - h_user.Paralyse(12) - spawn(0) - empulse(src.loc, 6, 8, 12, 16) - charge = 0 + to_chat(h_user, "A strong electrical arc sparks between you and [src], knocking you out for a while!") + h_user.electrocute_act(rand(35,75), src, def_zone = BP_TORSO) + spawn() + empulse(get_turf(src), 6, 8, 12, 16) apcs_overload(1, 10) - src.ping("Caution. Output regulators malfunction. Uncontrolled discharge detected.") + ping("Caution. Output regulator malfunction. Uncontrolled discharge detected.") if (61 to INFINITY) // Massive overcharge // Sparks, Near - instantkill shock, Strong EMP, 25% light overload, 5% APC failure. 50% of SMES explosion. This is bad. s.set_up(10,1,src) - s.start() - h_user << "Massive electrical arc sparks between you and [src]. Last thing you can think about is \"Oh shit...\"" + to_chat(h_user, "A massive electrical arc sparks between you and [src]. The last thing you can think about is \"Oh shit...\"") // Remember, we have few gigajoules of electricity here.. Turn them into crispy toast. - h_user.adjustFireLoss(rand(150,195)) - h_user.Paralyse(25) - spawn(0) - empulse(src.loc, 32, 64) - charge = 0 + h_user.electrocute_act(rand(150,195), src, def_zone = BP_TORSO) + spawn() + empulse(get_turf(src), 32, 64) apcs_overload(5, 25) - src.ping("Caution. Output regulators malfunction. Significant uncontrolled discharge detected.") + ping("Caution. Output regulator malfunction. Significant uncontrolled discharge detected.") if (prob(50)) // Added admin-notifications so they can stop it when griffed. log_game("SMES explosion imminent.") message_admins("SMES explosion imminent.") - src.ping("DANGER! Magnetic containment field unstable! Containment field failure imminent!") + ping("DANGER! Magnetic containment field unstable! Containment field failure imminent!") failing = 1 + update_icon() // 30 - 60 seconds and then BAM! spawn(rand(300,600)) if(!failing) // Admin can manually set this var back to 0 to stop overload, for use when griffed. update_icon() - src.ping("Magnetic containment stabilised.") + ping("Magnetic containment stabilised.") return - src.ping("DANGER! Magnetic containment field failure in 3 ... 2 ... 1 ...") - explosion(src.loc,1,2,4,8) + ping("DANGER! Magnetic containment field failure in 3 ... 2 ... 1 ...") + explosion(get_turf(src),1,2,4,8) // Not sure if this is necessary, but just in case the SMES *somehow* survived.. qdel(src) + s.start() + charge = 0 + // Proc: apcs_overload() // Parameters: 2 (failure_chance - chance to actually break the APC, overload_chance - Chance of breaking lights) // Description: Damages output powernet by power surge. Destroys few APCs and lights, depending on parameters. /obj/machinery/power/smes/buildable/proc/apcs_overload(var/failure_chance, var/overload_chance) - if (!src.powernet) + if (!powernet) return - for(var/obj/machinery/power/terminal/T in src.powernet.nodes) + for(var/obj/machinery/power/terminal/T in powernet.nodes) if(istype(T.master, /obj/machinery/power/apc)) var/obj/machinery/power/apc/A = T.master if (prob(overload_chance)) @@ -299,7 +297,7 @@ /obj/machinery/power/smes/buildable/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) // No more disassembling of overloaded SMESs. You broke it, now enjoy the consequences. if (failing) - user << "The [src]'s screen is flashing with alerts. It seems to be overloaded! Touching it now is probably not a good idea." + to_chat(user, "The [src]'s indicator lights are flashing wildly. It seems to be overloaded! Touching it now is probably not a good idea.") return // If parent returned 1: // - Hatch is open, so we can modify the SMES @@ -311,15 +309,15 @@ var/newtag = input(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system") as text if(newtag) RCon_tag = newtag - user << "You changed the RCON tag to: [newtag]" + to_chat(user, "You changed the RCON tag to: [newtag]") return // Charged above 1% and safeties are enabled. if((charge > (capacity/100)) && safeties_enabled) - user << "Safety circuit of [src] is preventing modifications while it's charged!" + to_chat(user, "The safety circuit of [src] is preventing modifications while there is charge stored!") return if (output_attempt || input_attempt) - user << "Turn off the [src] first!" + to_chat(user, "Turn off the [src] first!") return // Probability of failure if safety circuit is disabled (in %) @@ -332,29 +330,19 @@ // Crowbar - Disassemble the SMES. if(istype(W, /obj/item/weapon/crowbar)) if (terminal) - user << "You have to disassemble the terminal first!" + to_chat(user, "You have to disassemble the terminal first!") return playsound(get_turf(src), W.usesound, 50, 1) - user << "You begin to disassemble the [src]!" + to_chat(user, "You begin to disassemble the [src]!") if (do_after(usr, (100 * cur_coils) * W.toolspeed)) // More coils = takes longer to disassemble. It's complex so largest one with 5 coils will take 50s with a normal crowbar if (failure_probability && prob(failure_probability)) total_system_failure(failure_probability, user) return - usr << "You have disassembled the SMES cell!" - var/obj/structure/frame/M = new /obj/structure/frame(src.loc) - M.frame_type = new /datum/frame/frame_types/machine - M.anchored = 1 - var/obj/item/weapon/circuitboard/C = new /obj/item/weapon/circuitboard/smes - M.circuit = C - M.state = 2 - M.icon_state = "machine_1" - for(var/obj/I in component_parts) - I.loc = src.loc - component_parts -= I - qdel(src) + to_chat(user, "You have disassembled the SMES cell!") + dismantle() return // Superconducting Magnetic Coil - Upgrade the SMES @@ -365,14 +353,14 @@ total_system_failure(failure_probability, user) return - usr << "You install the coil into the SMES unit!" + to_chat(user, "You install the coil into the SMES unit!") user.drop_item() cur_coils ++ component_parts += W W.loc = src recalc_coils() else - usr << "You can't insert more coils to this SMES unit!" + to_chat(user, "You can't insert more coils into this SMES unit!") // Proc: toggle_input() // Parameters: None diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index dd5c5336bd2..360cad96bfb 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -348,7 +348,7 @@ var/list/solars_list = list() /obj/machinery/power/solar_control/initialize() - ..() + . = ..() if(!powernet) return set_panels(cdir) connect_to_network() diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 51993daed4c..fac43cab7d4 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -94,7 +94,7 @@ /obj/machinery/power/supermatter/proc/explode() message_admins("Supermatter exploded at ([x],[y],[z] - JMP)",0,1) - log_game("Supermatter exploded at ([x],[y],[z])") + log_game("SUPERMATTER([x],[y],[z]) Exploded. Power:[power], Oxygen:[oxygen], Damage:[damage], Integrity:[get_integrity()]") anchored = 1 grav_pulling = 1 exploded = 1 @@ -146,10 +146,12 @@ alert_msg = null if(alert_msg) global_announcer.autosay(alert_msg, "Supermatter Monitor", "Engineering") + log_game("SUPERMATTER([x],[y],[z]) Emergency engineering announcement. Power:[power], Oxygen:[oxygen], Damage:[damage], Integrity:[get_integrity()]") //Public alerts if((damage > emergency_point) && !public_alert) global_announcer.autosay("WARNING: SUPERMATTER CRYSTAL DELAMINATION IMMINENT!", "Supermatter Monitor") public_alert = 1 + log_game("SUPERMATTER([x],[y],[z]) Emergency PUBLIC announcement. Power:[power], Oxygen:[oxygen], Damage:[damage], Integrity:[get_integrity()]") else if(safe_warned && public_alert) global_announcer.autosay(alert_msg, "Supermatter Monitor") public_alert = 0 @@ -277,12 +279,17 @@ return 0 // This stops people from being able to really power up the supermatter // Then bring it inside to explode instantly upon landing on a valid turf. - + var/added_energy + var/added_damage var/proj_damage = Proj.get_structure_damage() if(istype(Proj, /obj/item/projectile/beam)) - power += proj_damage * config_bullet_energy * CHARGING_FACTOR / POWER_FACTOR + added_energy = proj_damage * config_bullet_energy * CHARGING_FACTOR / POWER_FACTOR + power += added_energy else - damage += proj_damage * config_bullet_energy + added_damage = proj_damage * config_bullet_energy + damage += added_damage + if(added_energy || added_damage) + log_game("SUPERMATTER([x],[y],[z]) Hit by \"[Proj.name]\". +[added_energy] Energy, +[added_damage] Damage.") return 0 /obj/machinery/power/supermatter/attack_robot(mob/user as mob) @@ -296,7 +303,8 @@ ui_interact(user) /obj/machinery/power/supermatter/attack_hand(mob/user as mob) - user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... \his body starts to glow and bursts into flames before flashing into ash.",\ + var/datum/gender/TU = gender_datums[user.get_visible_gender()] + user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [TU.his] body starts to glow and bursts into flames before flashing into ash.",\ "You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\ "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") @@ -342,7 +350,9 @@ if(istype(AM, /obj/effect)) return if(istype(AM, /mob/living)) - AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.",\ + var/mob/living/M = AM + var/datum/gender/T = gender_datums[M.get_visible_gender()] + AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash.",\ "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\ "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") else if(!grav_pulling) //To prevent spam, detonating supermatter does not indicate non-mobs being destroyed diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm index a1f2fbf030e..2c01476a7a8 100644 --- a/code/modules/power/terminal.dm +++ b/code/modules/power/terminal.dm @@ -8,10 +8,10 @@ icon_state = "term" desc = "It's an underfloor wiring terminal for power equipment." level = 1 - layer = TURF_LAYER var/obj/machinery/power/master = null anchored = 1 - layer = 2.6 // a bit above wires + plane = PLATING_PLANE + layer = WIRES_LAYER+0.01 /obj/machinery/power/terminal/New() diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 71cb8a35e7c..9e55dde97fe 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -93,6 +93,7 @@ /obj/singularity/energy_ball/proc/handle_energy() if (energy <= 0) + log_game("TESLA([x],[y],[z]) Collapsed entirely.") investigate_log("collapsed.", I_SINGULO) qdel(src) return TRUE @@ -218,7 +219,8 @@ continue //no need checking these other things else if(istype(A, /obj/machinery/power/grounding_rod)) - var/dist = get_dist(source, A)-2 + var/obj/machinery/power/grounding_rod/G = A + var/dist = get_dist(source, A) - (G.anchored ? 2 : 0) if(dist <= zap_range && (dist < closest_dist || !closest_grounding_rod)) closest_grounding_rod = A closest_atom = A @@ -285,7 +287,9 @@ else if(closest_mob) var/shock_damage = Clamp(round(power/400), 10, 90) + rand(-5, 5) - closest_mob.electrocute_act(shock_damage, source, 1/*, tesla_shock = 1, stun = stun_mobs*/) + closest_mob.electrocute_act(shock_damage, source, 1, ran_zone()) + log_game("TESLA([source.x],[source.y],[source.z]) Shocked [key_name(closest_mob)] for [shock_damage]dmg.") + message_admins("Tesla zapped [key_name_admin(closest_mob)]!") if(issilicon(closest_mob)) var/mob/living/silicon/S = closest_mob if(stun_mobs) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index 08abf452f15..30668993a8f 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -1,10 +1,34 @@ +// TURBINE v2 AKA rev4407 Engine reborn! + +// How to use it? - Mappers +// +// This is a very good power generating mechanism. All you need is a blast furnace with soaring flames and output. +// Not everything is included yet so the turbine can run out of fuel quiet quickly. The best thing about the turbine is that even +// though something is on fire that passes through it, it won't be on fire as it passes out of it. So the exhaust fumes can still +// containt unreacted fuel - plasma and oxygen that needs to be filtered out and re-routed back. This of course requires smart piping +// For a computer to work with the turbine the compressor requires a comp_id matching with the turbine computer's id. This will be +// subjected to a change in the near future mind you. Right now this method of generating power is a good backup but don't expect it +// become a main power source unless some work is done. Have fun. At 50k RPM it generates 60k power. So more than one turbine is needed! +// +// - Numbers +// +// Example setup S - sparker +// B - Blast doors into space for venting +// *BBB****BBB* C - Compressor +// S CT * T - Turbine +// * ^ * * V * D - Doors with firedoor +// **|***D**|** ^ - Fuel feed (Not vent, but a gas outlet) +// | | V - Suction vent (Like the ones in atmos +// + /obj/machinery/compressor name = "compressor" desc = "The compressor stage of a gas turbine generator." icon = 'icons/obj/pipes.dmi' icon_state = "compressor" - anchored = 1 - density = 1 + anchored = TRUE + density = TRUE + circuit = /obj/item/weapon/circuitboard/machine/power_compressor var/obj/machinery/power/turbine/turbine var/datum/gas_mixture/gas_contained var/turf/simulated/inturf @@ -13,69 +37,132 @@ var/rpmtarget = 0 var/capacity = 1e6 var/comp_id = 0 + var/efficiency /obj/machinery/power/turbine name = "gas turbine generator" desc = "A gas turbine used for backup power generation." icon = 'icons/obj/pipes.dmi' icon_state = "turbine" - anchored = 1 - density = 1 + anchored = TRUE + density = TRUE + circuit = /obj/item/weapon/circuitboard/machine/power_turbine var/obj/machinery/compressor/compressor var/turf/simulated/outturf var/lastgen + var/productivity = 1 /obj/machinery/computer/turbine_computer - name = "Gas turbine control computer" - desc = "A computer to remotely control a gas turbine" + name = "gas turbine control computer" + desc = "A computer to remotely control a gas turbine." icon_keyboard = "tech_key" icon_screen = "turbinecomp" circuit = /obj/item/weapon/circuitboard/turbine_control - anchored = 1 - density = 1 var/obj/machinery/compressor/compressor var/list/obj/machinery/door/blast/doors var/id = 0 var/door_status = 0 +/obj/item/weapon/circuitboard/machine/power_compressor + name = T_BOARD("power compressor") + build_path = /obj/machinery/compressor + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_MATERIAL = 4, TECH_POWER = 2) + req_components = list(/obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/manipulator = 6) + +/obj/item/weapon/circuitboard/machine/power_turbine + name = T_BOARD("power turbine") + build_path = /obj/machinery/power/turbine + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 4) + req_components = list(/obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/capacitor = 6) + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Compressor // the inlet stage of the gas turbine electricity generator - -/obj/machinery/compressor/New() - ..() - - gas_contained = new - inturf = get_step(src, dir) - - spawn(5) - turbine = locate() in get_step(src, get_dir(inturf, src)) - if(!turbine) - stat |= BROKEN - else - turbine.stat &= !BROKEN - turbine.compressor = src - +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define COMPFRICTION 5e5 #define COMPSTARTERLOAD 2800 +/obj/machinery/compressor/initialize() + . = ..() + default_apply_parts() + gas_contained = new() + inturf = get_step(src, dir) + locate_machinery() + if(!turbine) + stat |= BROKEN + +// When anchored, don't let air past us. +/obj/machinery/compressor/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) + if(!height || air_group) + return !anchored + return !density + +/obj/machinery/compressor/proc/locate_machinery() + if(turbine) + return + turbine = locate() in get_step(src, get_dir(inturf, src)) + if(turbine) + turbine.locate_machinery() + +/obj/machinery/compressor/RefreshParts() + var/E = 0 + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + E += M.rating + efficiency = E / 6 + +/obj/machinery/compressor/attackby(obj/item/W, mob/user) + src.add_fingerprint(user) + + if(default_deconstruction_screwdriver(user, W)) + return + if(default_part_replacement(user, W)) + return + if(default_unfasten_wrench(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(ismultitool(W)) + var/new_ident = input("Enter a new ident tag.", name, comp_id) as null|text + if(new_ident && user.Adjacent(src)) + comp_id = new_ident + return + return ..() + +/obj/machinery/compressor/default_unfasten_wrench(var/mob/user, var/obj/item/weapon/wrench/W, var/time = 20) + if((. = ..())) + turbine = null + if(anchored) + inturf = get_step(src, dir) + locate_machinery() + if(turbine) + to_chat(user, "Turbine connected.") + stat &= ~BROKEN + else + to_chat(user, "Turbine not connected.") + stat |= BROKEN + /obj/machinery/compressor/process() + if(!turbine) + stat = BROKEN + if(stat & BROKEN || panel_open) + return if(!starter) return overlays.Cut() - if(stat & BROKEN) - return - if(!turbine) - stat |= BROKEN - return + rpm = 0.9* rpm + 0.1 * rpmtarget var/datum/gas_mixture/environment = inturf.return_air() + + // It's a simplified version taking only 1/10 of the moles from the turf nearby. It should be later changed into a better version var/transfer_moles = environment.total_moles / 10 - //var/transfer_moles = rpm/10000*capacity var/datum/gas_mixture/removed = inturf.remove_air(transfer_moles) gas_contained.merge(removed) - rpm = max(0, rpm - (rpm*rpm)/COMPFRICTION) - + // RPM function to include compression friction - be advised that too low/high of a compfriction value can make things screwy + rpm = max(0, rpm - (rpm*rpm)/(COMPFRICTION*efficiency)) if(starter && !(stat & NOPOWER)) use_power(2800) @@ -85,8 +172,6 @@ if(rpm<1000) rpmtarget = 0 - - if(rpm>50000) overlays += image('icons/obj/pipes.dmi', "comp-o4", FLY_LAYER) else if(rpm>10000) @@ -97,38 +182,84 @@ overlays += image('icons/obj/pipes.dmi', "comp-o1", FLY_LAYER) //TODO: DEFERRED -/obj/machinery/power/turbine/New() - ..() - outturf = get_step(src, dir) - - spawn(5) - - compressor = locate() in get_step(src, get_dir(outturf, src)) - if(!compressor) - stat |= BROKEN - else - compressor.stat &= !BROKEN - compressor.turbine = src +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Turbine +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// These are crucial to working of a turbine - the stats modify the power output. TurbGenQ modifies how much raw energy can you get from +// rpms, TurbGenG modifies the shape of the curve - the lower the value the less straight the curve is. #define TURBPRES 9000000 -#define TURBGENQ 20000 +#define TURBGENQ 100000 #define TURBGENG 0.8 +/obj/machinery/power/turbine/initialize() + . = ..() + default_apply_parts() + // The outlet is pointed at the direction of the turbine component + outturf = get_step(src, dir) + locate_machinery() + if(!compressor) + stat |= BROKEN + +/obj/machinery/power/turbine/RefreshParts() + var/P = 0 + for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) + P += C.rating + productivity = P / 6 + +/obj/machinery/power/turbine/proc/locate_machinery() + if(compressor) + return + compressor = locate() in get_step(src, get_dir(outturf, src)) + if(compressor) + compressor.locate_machinery() + +/obj/machinery/power/turbine/attackby(obj/item/W, mob/user) + src.add_fingerprint(user) + + if(default_deconstruction_screwdriver(user, W)) + return + if(default_part_replacement(user, W)) + return + if(default_unfasten_wrench(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + return ..() + +/obj/machinery/power/turbine/default_unfasten_wrench(var/mob/user, var/obj/item/weapon/wrench/W, var/time = 20) + if((. = ..())) + compressor = null + if(anchored) + outturf = get_step(src, dir) + locate_machinery() + if(compressor) + to_chat(user, "Compressor connected.") + stat &= ~BROKEN + else + to_chat(user, "Compressor not connected.") + stat |= BROKEN + /obj/machinery/power/turbine/process() + if(!compressor) + stat = BROKEN + if((stat & BROKEN) || panel_open) + return if(!compressor.starter) return overlays.Cut() - if(stat & BROKEN) - return - if(!compressor) - stat |= BROKEN - return - lastgen = ((compressor.rpm / TURBGENQ)**TURBGENG) *TURBGENQ + + // This is the power generation function. If anything is needed it's good to plot it in EXCEL before modifying + // the TURBGENQ and TURBGENG values + lastgen = ((compressor.rpm / TURBGENQ)**TURBGENG) * TURBGENQ * productivity add_avail(lastgen) + + // Weird function but it works. Should be something else... var/newrpm = ((compressor.gas_contained.temperature) * compressor.gas_contained.total_moles)/4 + newrpm = max(0, newrpm) if(!compressor.starter || newrpm > 1000) @@ -139,181 +270,138 @@ var/datum/gas_mixture/removed = compressor.gas_contained.remove(oamount) outturf.assume_air(removed) + // If it works, put an overlay that it works! if(lastgen > 100) overlays += image('icons/obj/pipes.dmi', "turb-o", FLY_LAYER) + updateDialog() - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.interact(M) - AutoUpdateAI(src) +/obj/machinery/power/turbine/attack_hand(var/mob/user as mob) + if((. = ..())) + return + src.interact(user) /obj/machinery/power/turbine/interact(mob/user) - - if ( (get_dist(src, user) > 1 ) || (stat & (NOPOWER|BROKEN)) && (!istype(user, /mob/living/silicon/ai)) ) - user.machine = null + if(!Adjacent(user) || (stat & (NOPOWER|BROKEN)) && !issilicon(user)) + user.unset_machine(src) user << browse(null, "window=turbine") return - - user.machine = src + user.set_machine(src) var/t = "Gas Turbine Generator
    "
    -
    -	t += "Generated power : [round(lastgen)] W

    " - + t += "Generated power : [DisplayPower(lastgen)]

    " t += "Turbine: [round(compressor.rpm)] RPM
    " - t += "Starter: [ compressor.starter ? "Off On" : "Off On"]" - t += "

    Close" - t += "
    " - user << browse(t, "window=turbine") - onclose(user, "turbine") + var/datum/browser/popup = new(user, "turbine", name, 700, 500, src) + popup.set_content(t) + popup.open() return /obj/machinery/power/turbine/Topic(href, href_list) - ..() - if(stat & BROKEN) + if(..()) return - if (usr.stat || usr.restrained() ) - return - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - if(!istype(usr, /mob/living/silicon/ai)) - usr << "You don't have the dexterity to do this!" - return - if (( usr.machine==src && ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - - - if( href_list["close"] ) - usr << browse(null, "window=turbine") - usr.machine = null - return - - else if( href_list["str"] ) - compressor.starter = !compressor.starter - - spawn(0) - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.interact(M) - - else + if(href_list["close"]) usr << browse(null, "window=turbine") - usr.machine = null - - return - - - + usr.unset_machine(src) + return + else if(href_list["str"]) + if(compressor) + compressor.starter = !compressor.starter + updateDialog() ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Turbine Computer ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/obj/machinery/computer/turbine_computer/initialize() + . = ..() + return INITIALIZE_HINT_LATELOAD +/obj/machinery/computer/turbine_computer/LateInitialize() + locate_machinery() -/obj/machinery/computer/turbine_computer/New() - ..() - spawn(5) - for(var/obj/machinery/compressor/C in machines) - if(id == C.comp_id) - compressor = C - doors = new /list() - for(var/obj/machinery/door/blast/P in machines) - if(P.id == id) - doors += P +/obj/machinery/computer/turbine_computer/proc/locate_machinery() + if(!id) + return + for(var/obj/machinery/compressor/C in machines) + if(C.comp_id == id) + compressor = C + LAZYINITLIST(doors) + for(var/obj/machinery/door/blast/P in machines) + if(P.id == id) + doors += P -/* -/obj/machinery/computer/turbine_computer/attackby(I as obj, user as mob) - if(istype(I, /obj/item/weapon/screwdriver)) - playsound(src.loc, I.usesound, 50, 1) - if(do_after(user, 20)) - if (src.stat & BROKEN) - user << "The broken glass falls out." - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/material/shard( src.loc ) - var/obj/item/weapon/circuitboard/turbine_control/M = new /obj/item/weapon/circuitboard/turbine_control( A ) - for (var/obj/C in src) - C.loc = src.loc - M.id = src.id - A.circuit = M - A.state = 3 - A.icon_state = "3" - A.anchored = 1 - qdel(src) - else - user << "You disconnect the monitor." - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - var/obj/item/weapon/circuitboard/turbine_control/M = new /obj/item/weapon/circuitboard/turbine_control( A ) - for (var/obj/C in src) - C.loc = src.loc - M.id = src.id - A.circuit = M - A.state = 4 - A.icon_state = "4" - A.anchored = 1 - qdel(src) - else - src.attack_hand(user) - return -*/ +/obj/machinery/computer/turbine_computer/attackby(obj/item/W, mob/user) + if(ismultitool(W)) + var/new_ident = input("Enter a new ident tag.", name, id) as null|text + if(new_ident && user.Adjacent(src)) + id = new_ident + return /obj/machinery/computer/turbine_computer/attack_hand(var/mob/user as mob) - user.machine = src - var/dat - if(src.compressor) - dat += {"
    Gas turbine remote control system
    - \nTurbine status: [ src.compressor.starter ? "Off On" : "Off On"] - \n
    - \nTurbine speed: [src.compressor.rpm]rpm
    - \nPower currently being generated: [src.compressor.turbine.lastgen]W
    - \nInternal gas temperature: [src.compressor.gas_contained.temperature]K
    - \nVent doors: [ src.door_status ? "Closed Open" : "Closed Open"] - \n
    View - \n
    Close - \n
    - \n"} - else - dat += "No compatible attached compressor found." + if((. = ..())) + return + src.interact(user) - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return +/obj/machinery/computer/turbine_computer/interact(mob/user) + return ui_interact(user) +/obj/machinery/computer/turbine_computer/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/list/data = list() + data["connected"] = (compressor && compressor.turbine) ? TRUE : FALSE + data["compressor_broke"] = (!compressor || (compressor.stat & BROKEN)) ? TRUE : FALSE + data["turbine_broke"] = (!compressor || !compressor.turbine || (compressor.turbine.stat & BROKEN)) ? TRUE : FALSE + data["broken"] = (data["compressor_broke"] || data["turbine_broke"]) + data["door_status"] = door_status ? TRUE : FALSE + if(compressor && compressor.turbine) + data["online"] = compressor.starter + data["power"] = DisplayPower(compressor.turbine.lastgen) + data["rpm"] = compressor.rpm + data["temp"] = compressor.gas_contained.temperature + // update the ui if it exists, returns null if no ui is passed/found + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + // the ui does not exist, so we'll create a new() one + // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm + ui = new(user, src, ui_key, "turbine_computer.tmpl", name, 520, 440) + // when the ui is first opened this is the data it will use + ui.set_initial_data(data) + // open the new ui window + ui.open() + // auto update every Master Controller tick + ui.set_auto_update(TRUE) /obj/machinery/computer/turbine_computer/Topic(href, href_list) if(..()) return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.machine = src + if(href_list["power-on"]) + if(compressor && compressor.turbine) + compressor.starter = TRUE + . = TRUE + else if(href_list["power-off"]) + if(compressor && compressor.turbine) + compressor.starter = FALSE + . = TRUE + else if(href_list["reconnect"]) + locate_machinery() + . = TRUE + else if(href_list["doors"]) + door_status = !door_status + for(var/obj/machinery/door/blast/D in src.doors) + if (door_status) + spawn(0) D.close() + else + spawn(0)D.open() + . = TRUE - if( href_list["view"] ) - usr.client.eye = src.compressor - else if( href_list["str"] ) - src.compressor.starter = !src.compressor.starter - else if (href_list["doors"]) - for(var/obj/machinery/door/blast/D in src.doors) - if (door_status == 0) - spawn( 0 ) - D.open() - door_status = 1 - else - spawn( 0 ) - D.close() - door_status = 0 - else if( href_list["close"] ) - usr << browse(null, "window=computer") - usr.machine = null - return - - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/computer/turbine_computer/process() - src.updateDialog() - return \ No newline at end of file +#undef COMPFRICTION +#undef COMPSTARTERLOAD +#undef TURBPRES +#undef TURBGENQ +#undef TURBGENG diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 0e9cf95eb66..94cf0ab21ed 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -50,6 +50,7 @@ /obj/item/ammo_magazine/s38/rubber name = "speedloader (.38 rubber)" + icon_state = "T38" ammo_type = /obj/item/ammo_casing/a38r /obj/item/ammo_magazine/s38/emp @@ -493,6 +494,23 @@ max_ammo = 9 multiple_sprites = 1 +/obj/item/ammo_magazine/s44 + name = "speedloader (.44)" + icon_state = "44" + ammo_type = /obj/item/ammo_casing/a44 + matter = list(DEFAULT_WALL_MATERIAL = 1260) //metal costs are very roughly based around 1 .45 casing = 75 metal + caliber = ".44" + max_ammo = 6 + multiple_sprites = 1 + +/obj/item/ammo_magazine/s44/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/s44/rubber + name = "speedloader (.44 rubber)" + icon_state = "R44" + ammo_type = /obj/item/ammo_casing/a44r + ///////// 7.62mm ///////// /obj/item/ammo_magazine/m762 diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 330e11d89b2..028d1cac1e1 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -59,6 +59,12 @@ caliber = ".44" projectile_type = /obj/item/projectile/bullet/pistol/strong +/obj/item/ammo_casing/a44r + icon_state = "r-casing" + desc = "A .44 rubber bullet casing." + caliber = ".44" + projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong + /* * .75 (aka Gyrojet Rockets, aka admin abuse) */ diff --git a/code/modules/projectiles/effects.dm b/code/modules/projectiles/effects.dm index ba6a749ebee..da21427effa 100644 --- a/code/modules/projectiles/effects.dm +++ b/code/modules/projectiles/effects.dm @@ -1,7 +1,7 @@ /obj/effect/projectile icon = 'icons/effects/projectiles.dmi' icon_state = "bolt" - layer = 20 + plane = ABOVE_PLANE /obj/effect/projectile/New(var/turf/location) if(istype(location)) @@ -267,4 +267,25 @@ icon_state = "impact_darkb" light_range = 2 light_power = 0.5 - light_color = "#8837A3" \ No newline at end of file + light_color = "#8837A3" + +//---------------------------- +// Inversion / Cult +//---------------------------- +/obj/effect/projectile/inversion/tracer + icon_state = "invert" + light_range = 2 + light_power = -2 + light_color = "#FFFFFF" + +/obj/effect/projectile/inversion/muzzle + icon_state = "muzzle_invert" + light_range = 2 + light_power = -2 + light_color = "#FFFFFF" + +/obj/effect/projectile/inversion/impact + icon_state = "impact_invert" + light_range = 2 + light_power = -2 + light_color = "#FFFFFF" \ No newline at end of file diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 16a7c1d07b4..7cc4b3fab06 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -51,24 +51,28 @@ attack_verb = list("struck", "hit", "bashed") zoomdevicename = "scope" + var/automatic = 0 var/burst = 1 var/fire_delay = 6 //delay after shooting before the gun can be used again var/burst_delay = 2 //delay between shots, if firing in bursts var/move_delay = 1 var/fire_sound = 'sound/weapons/Gunshot.ogg' var/fire_sound_text = "gunshot" + var/fire_anim = null var/recoil = 0 //screen shake var/silenced = 0 var/muzzle_flash = 3 - var/accuracy = 0 //accuracy is measured in tiles. +1 accuracy means that everything is effectively one tile closer for the purpose of miss chance, -1 means the opposite. launchers are not supported, at the moment. + var/accuracy = 0 //Accuracy is measured in percents. +15 accuracy means that everything is effectively one tile closer for the purpose of miss chance, -15 means the opposite. launchers are not supported, at the moment. var/scoped_accuracy = null var/list/burst_accuracy = list(0) //allows for different accuracies for each shot in a burst. Applied on top of accuracy var/list/dispersion = list(0) var/mode_name = null - var/requires_two_hands - var/wielded_icon = "gun_wielded" - var/one_handed_penalty = 0 // Penalty applied if someone fires a two-handed gun with one hand. + var/projectile_type = /obj/item/projectile //On ballistics, only used to check for the cham gun + var/wielded_item_state + var/one_handed_penalty = 0 // Penalty applied if someone fires a two-handed gun with one hand. + var/obj/screen/auto_target/auto_target + var/shooting = 0 var/next_fire_time = 0 var/sel_mode = 1 //index of the currently selected mode @@ -87,7 +91,6 @@ var/obj/item/dnalockingchip/attached_lock var/last_shot = 0 //records the last shot fired - /obj/item/weapon/gun/New() ..() for(var/i in 1 to firemodes.len) @@ -103,19 +106,32 @@ verbs -= /obj/item/weapon/gun/verb/give_dna verbs -= /obj/item/weapon/gun/verb/allow_dna -/obj/item/weapon/gun/update_held_icon() - if(requires_two_hands) +/obj/item/weapon/gun/update_twohanding() + if(one_handed_penalty) var/mob/living/M = loc if(istype(M)) - if(M.item_is_in_hands(src) && !M.hands_are_full()) + if(M.can_wield_item(src) && src.is_held_twohanded(M)) name = "[initial(name)] (wielded)" - item_state = wielded_icon else name = initial(name) - item_state = initial(item_state) - update_icon(ignore_inhands=1) // In case item_state is set somewhere else. + else + name = initial(name) + update_icon() // In case item_state is set somewhere else. ..() +/obj/item/weapon/gun/update_held_icon() + if(wielded_item_state) + var/mob/living/M = loc + if(istype(M)) + if(M.can_wield_item(src) && src.is_held_twohanded(M)) + item_state_slots[slot_l_hand_str] = wielded_item_state + item_state_slots[slot_r_hand_str] = wielded_item_state + else + item_state_slots[slot_l_hand_str] = initial(item_state) + item_state_slots[slot_r_hand_str] = initial(item_state) + ..() + + //Checks whether a given mob can use the gun //Any checks that shouldn't result in handle_click_empty() being called if they fail should go here. //Otherwise, if you want handle_click_empty() to be called, check in consume_next_projectile() and return null there. @@ -125,6 +141,10 @@ return 0 if(!user.IsAdvancedToolUser()) return 0 + if(isanimal(user)) + var/mob/living/simple_animal/S = user + if(!S.IsHumanoidToolUser(src)) + return 0 var/mob/living/M = user if(dna_lock && attached_lock.stored_dna) @@ -150,8 +170,9 @@ if(P) if(process_projectile(P, user, user, pick("l_foot", "r_foot"))) handle_post_fire(user, user) + var/datum/gender/TU = gender_datums[user.get_visible_gender()] user.visible_message( - "\The [user] shoots \himself in the foot with \the [src]!", + "\The [user] shoots [TU.himself] in the foot with \the [src]!", "You shoot yourself in the foot with \the [src]!" ) M.drop_item() @@ -176,8 +197,29 @@ if(user && user.a_intent == I_HELP && user.is_preference_enabled(/datum/client_preference/safefiring)) //regardless of what happens, refuse to shoot if help intent is on user << "You refrain from firing your [src] as your intent is set to help." + return + else - Fire(A,user,params) //Otherwise, fire normally. + Fire(A, user, params) //Otherwise, fire normally. + return + +/* //Commented out for quality control and testing + if(automatic == 1)//Are we are going to be using automatic shooting + //We check to make sure they can fire + if(!special_check(user)) + return + if(auto_target)//If they already have one then update it + auto_target.loc = get_turf(A) + auto_target.delay_del = 1//And reset the del so its like they got a new one and doesnt instantly vanish + to_chat(user, "You ready \the [src]! Click and drag the target around to shoot.") + else//Otherwise just make a new one + auto_target = new/obj/screen/auto_target(get_turf(A), src) + visible_message("\[user] readies the [src]!") + playsound(src, 'sound/weapons/TargetOn.ogg', 50, 1) + to_chat(user, "You ready \the [src]! Click and drag the target around to shoot.") + return + Fire(A,user,params) //Otherwise, fire normally. +*/ /obj/item/weapon/gun/attack(atom/A, mob/living/user, def_zone) if (A == user && user.zone_sel.selecting == O_MOUTH && !mouthshoot) @@ -220,6 +262,7 @@ verbs -= /obj/item/weapon/gun/verb/allow_dna else user << "\The [src] is not accepting modifications at this time." + ..() /obj/item/weapon/gun/emag_act(var/remaining_charges, var/mob/user) if(dna_lock && attached_lock.controller_lock) @@ -263,6 +306,7 @@ /obj/item/weapon/gun/proc/Fire(atom/target, mob/living/user, clickparams, pointblank=0, reflex=0) if(!user || !target) return + if(target.z != user.z) return add_fingerprint(user) @@ -277,28 +321,44 @@ return var/shoot_time = (burst - 1)* burst_delay + + //These should apparently be disabled to allow for the automatic system to function without causing near-permanant paralysis. Re-enabling them while we sort that out. user.setClickCooldown(shoot_time) //no clicking on things while shooting user.setMoveCooldown(shoot_time) //no moving while shooting either + next_fire_time = world.time + shoot_time - var/held_acc_mod = 0 - var/held_disp_mod = 0 - if(requires_two_hands) - if(user.item_is_in_hands(src) && user.hands_are_full()) - held_acc_mod = held_acc_mod - one_handed_penalty - held_disp_mod = held_disp_mod - round(one_handed_penalty / 2) + var/held_twohanded = (user.can_wield_item(src) && src.is_held_twohanded(user)) //actually attempt to shoot var/turf/targloc = get_turf(target) //cache this in case target gets deleted during shooting, e.g. if it was a securitron that got destroyed. + +/* // Commented out for quality control and testing. + shooting = 1 + if(automatic == 1 && auto_target && auto_target.active)//When we are going to shoot and have an auto_target AND its active meaning we clicked on it we tell it to burstfire 1000 rounds + burst = 1000//Yes its not EXACTLY full auto but when are we shooting more than 1000 normally and it can easily be made higher +*/ for(var/i in 1 to burst) + /* // Commented out for quality control and testing. + if(!reflex && automatic)//If we are shooting automatic then check our target, however if we are shooting reflex we dont use automatic + //extra sanity checking. + if(user.incapacitated()) + return + if(user.get_active_hand() != src) + break + if(!auto_target) break//Stopped shooting + else if(auto_target.loc) + target = auto_target.loc + //Lastly just update our dir if needed + if(user.dir != get_dir(user, auto_target)) + user.face_atom(auto_target) + */ var/obj/projectile = consume_next_projectile(user) if(!projectile) handle_click_empty(user) break - var/acc = burst_accuracy[min(i, burst_accuracy.len)] + held_acc_mod - var/disp = dispersion[min(i, dispersion.len)] + held_disp_mod - process_accuracy(projectile, user, target, acc, disp) + process_accuracy(projectile, user, target, i, held_twohanded) if(pointblank) process_point_blank(projectile, user, target) @@ -316,16 +376,21 @@ last_shot = world.time +/* // Commented out for quality control and testing. + shooting = 0 +*/ // We do this down here, so we don't get the message if we fire an empty gun. - if(requires_two_hands) - if(user.item_is_in_hands(src) && user.hands_are_full()) - if(one_handed_penalty >= 2) - user << "You struggle to keep \the [src] pointed at the correct position with just one hand!" + if(user.item_is_in_hands(src) && user.hands_are_full()) + if(one_handed_penalty >= 20) + to_chat(user, "You struggle to keep \the [src] pointed at the correct position with just one hand!") - if(reflex) - admin_attack_log(user, target, attacker_message = "fired [src] by reflex.", victim_message = "triggered a reflex shot from [src].", admin_message = "shot [target], who triggered gunfire ([src]) by reflex)") + var/target_for_log + if(ismob(target)) + target_for_log = target else - admin_attack_log(usr, attacker_message="Fired [src]", admin_message="fired a gun ([src]) (MODE: [src.mode_name]) [reflex ? "by reflex" : "manually"].") + target_for_log = "[target.name]" + + add_attack_logs(user,target_for_log,"Fired gun [src.name] ([reflex ? "REFLEX" : "MANUAL"])") //update timing user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) @@ -397,9 +462,13 @@ target = targloc //pointblank = 0 - log_and_message_admins("Fired [src].") + var/target_for_log + if(ismob(target)) + target_for_log = target + else + target_for_log = "[target.name]" - //admin_attack_log(usr, attacker_message="Fired [src]", admin_message="fired a gun ([src]) (MODE: [src.mode_name]) [reflex ? "by reflex" : "manually"].") + add_attack_logs("Unmanned",target_for_log,"Fired [src.name]") //update timing next_fire_time = world.time + fire_delay @@ -433,26 +502,49 @@ //called after successfully firing /obj/item/weapon/gun/proc/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0) - if(silenced) - playsound(user, fire_sound, 10, 1) - to_chat(user, "You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex!":""]") - for(var/mob/living/L in oview(2,user)) - if(L.stat) - continue - if(L.blinded) - to_chat(L, "You hear a [fire_sound_text]!") - continue - to_chat(L, "[user] fires \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex!":""]") - else - playsound(user, fire_sound, 50, 1) - user.visible_message( - "[user] fires \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex!":""]", - "You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex!":""]", - "You hear a [fire_sound_text]!" - ) + if(fire_anim) + flick(fire_anim, src) - if(muzzle_flash) - set_light(muzzle_flash) + if(silenced) + if(reflex) + user.visible_message( + "\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""] by reflex!", + "You fire \the [src] by reflex!", + "You hear a [fire_sound_text]!" + ) + else + user.visible_message( + "\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""]!", + "You fire \the [src]!", + "You hear a [fire_sound_text]!" + ) + + if(muzzle_flash) + set_light(muzzle_flash) + + if(one_handed_penalty) + if(!src.is_held_twohanded(user)) + switch(one_handed_penalty) + if(1 to 15) + if(prob(50)) //don't need to tell them every single time + to_chat(user, "Your aim wavers slightly.") + if(16 to 30) + to_chat(user, "Your aim wavers as you fire \the [src] with just one hand.") + if(31 to 45) + to_chat(user, "You have trouble keeping \the [src] on target with just one hand.") + if(46 to INFINITY) + to_chat(user, "You struggle to keep \the [src] on target with just one hand!") + else if(!user.can_wield_item(src)) + switch(one_handed_penalty) + if(1 to 15) + if(prob(50)) //don't need to tell them every single time + to_chat(user, "Your aim wavers slightly.") + if(16 to 30) + to_chat(user, "Your aim wavers as you try to hold \the [src] steady.") + if(31 to 45) + to_chat(user, "You have trouble holding \the [src] steady.") + if(46 to INFINITY) + to_chat(user, "You struggle to hold \the [src] steady!") if(recoil) spawn() @@ -481,29 +573,37 @@ damage_mult = 1.5 P.damage *= damage_mult -/obj/item/weapon/gun/proc/process_accuracy(obj/projectile, mob/living/user, atom/target, acc_mod, dispersion) +/obj/item/weapon/gun/proc/process_accuracy(obj/projectile, mob/living/user, atom/target, var/burst, var/held_twohanded) var/obj/item/projectile/P = projectile if(!istype(P)) return //default behaviour only applies to true projectiles + var/acc_mod = burst_accuracy[min(burst, burst_accuracy.len)] + var/disp_mod = dispersion[min(burst, dispersion.len)] + + if(one_handed_penalty) + if(!held_twohanded) + acc_mod += -ceil(one_handed_penalty/2) + disp_mod += one_handed_penalty*0.5 //dispersion per point of two-handedness + //Accuracy modifiers P.accuracy = accuracy + acc_mod - P.dispersion = dispersion + P.dispersion = disp_mod // Certain statuses make it harder to aim, blindness especially. Same chances as melee, however guns accuracy uses multiples of 15. if(user.eye_blind) - P.accuracy -= 5 + P.accuracy -= 75 if(user.eye_blurry) - P.accuracy -= 2 + P.accuracy -= 30 if(user.confused) - P.accuracy -= 3 + P.accuracy -= 45 //accuracy bonus from aiming if (aim_targets && (target in aim_targets)) //If you aim at someone beforehead, it'll hit more often. //Kinda balanced by fact you need like 2 seconds to aim //As opposed to no-delay pew pew - P.accuracy += 2 + P.accuracy += 30 // Some modifiers make it harder or easier to hit things. for(var/datum/modifier/M in user.modifiers) @@ -533,17 +633,24 @@ y_offset = rand(-1,1) x_offset = rand(-1,1) - return !P.launch_from_gun(target, user, src, target_zone, x_offset, y_offset) + var/launched = !P.launch_from_gun(target, user, src, target_zone, x_offset, y_offset) -//apart of reskins that have two sprites, touching may result in frustration and breaks -/obj/item/weapon/gun/projectile/colt/detective/attack_hand(var/mob/living/user) - if(!unique_reskin && loc == user) - reskin_gun(user) - return - ..() + if(launched) + play_fire_sound(user, P) + + return launched + + +/obj/item/weapon/gun/proc/play_fire_sound(var/mob/user, var/obj/item/projectile/P) + var/shot_sound = (istype(P) && P.fire_sound)? P.fire_sound : fire_sound + if(silenced) + playsound(user, shot_sound, 10, 1) + else + playsound(user, shot_sound, 50, 1) //Suicide handling. /obj/item/weapon/gun/var/mouthshoot = 0 //To stop people from suiciding twice... >.> + /obj/item/weapon/gun/proc/handle_suicide(mob/living/user) if(!ishuman(user)) return @@ -558,10 +665,11 @@ var/obj/item/projectile/in_chamber = consume_next_projectile() if (istype(in_chamber)) user.visible_message("[user] pulls the trigger.") + var/shot_sound = in_chamber.fire_sound? in_chamber.fire_sound : fire_sound if(silenced) - playsound(user, fire_sound, 10, 1) + playsound(user, shot_sound, 10, 1) else - playsound(user, fire_sound, 50, 1) + playsound(user, shot_sound, 50, 1) if(istype(in_chamber, /obj/item/projectile/beam/lastertag)) user.show_message("You feel rather silly, trying to commit suicide with a toy.") mouthshoot = 0 @@ -607,7 +715,7 @@ ..() if(firemodes.len > 1) var/datum/firemode/current_mode = firemodes[sel_mode] - user << "The fire selector is set to [current_mode.name]." + to_chat(user, "The fire selector is set to [current_mode.name].") /obj/item/weapon/gun/proc/switch_firemodes(mob/user) if(firemodes.len <= 1) @@ -618,7 +726,7 @@ sel_mode = 1 var/datum/firemode/new_mode = firemodes[sel_mode] new_mode.apply_to(src) - user << "\The [src] is now set to [mode_name]." + to_chat(user, "\The [src] is now set to [new_mode.name].") return new_mode diff --git a/code/modules/projectiles/guns/automatic_fire.dm b/code/modules/projectiles/guns/automatic_fire.dm new file mode 100644 index 00000000000..25e1e3a461b --- /dev/null +++ b/code/modules/projectiles/guns/automatic_fire.dm @@ -0,0 +1,73 @@ +//This entire file is unticked for quality control and testing + + +//True automagic gun modes. Dakka dakka. +//A significant portion of this code was donated by Mport from SS:CM + +//This is used by guns shooting in automatic mode +/obj/screen/auto_target + name = "targeter" + icon = null//We dont want people to see this guy + density = 0 + anchored = 1 + var/obj/item/weapon/gun/gun + var/active = 0//Just tells us that it was clicked on so we should start shooting + var/delay_del = 0//Delays the del if we retarget without shooting + +/obj/screen/auto_target/New(loc, var/obj/item/weapon/gun/G) + ..() + gun = G + var/image/I = image('icons/effects/Targeted.dmi', src, "locked") + I.override = 1 + usr << I + //autodel() //Currently doesn't really work right. + return + +/obj/screen/auto_target/CanPass()//Everything should ignore this guy and just pass by + return 1 + + //Used to get rid of this if they target but dont actually shoot or stop shooting (no ammo) yet are still dragging us around +/obj/screen/auto_target/proc/autodel() + set waitfor=0 + if(active == 1) + return + sleep(20) + if(!src) return//Might not really be needed + if(delay_del)//This says we want to wait another X seconds before trying to del + delay_del = 0 + autodel() + return + if(gun.shooting == 0) + qdel(src) + else + autodel()//Yes in theory this could hit the inf loop + return + + //When the player clicks on the target it will disable the autodel and tell the gun to shoot +/obj/screen/auto_target/MouseDown(location,control,params) + active += 1//Tell the autodel that we are actually using this now + if(gun.shooting == 0)//If we are not shooting start shooting, we need this here or they have to drag to a new turf before it starts shooting, felt weird + gun.Fire(loc, usr, params) + return + + //Called when they drag the object somewhere else + //If its not already shooting (should be though due to the above, but this does let it click at you when it runs dry) then start shooting, +/obj/screen/auto_target/MouseDrag(over_object,src_location,over_location,src_control,over_control,params) + if(gun.shooting == 0)//If we are not shooting start shooting + gun.Fire(loc, usr, params) + if(over_location != loc)//This updates the loc to our new location when we drag it to a new turf + loc = over_location + if((usr.get_active_hand() != gun)) + qdel(src) + + //This gets rid of us when they let go of the click, but only after they actually drag the target to a new turf which is why the below also has to exist +/obj/screen/auto_target/MouseDrop(over_object,src_location,over_location,src_control,over_control,params) + qdel(src) + return + //This is needed so if they just MouseDown and then let go it will stop shooting, otherwise we stick around till they run out of bullets +/obj/screen/auto_target/MouseUp(object,location,control,params) + qdel(src) + return + +//This pseudo code is being left in place to serve as references to the modifications to gun.dm, the Fire() proc, and the afterattack() proc. -k22 +//Code donated by Mport. diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 447eefe1b89..207d64e6f6c 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -7,8 +7,10 @@ var/obj/item/weapon/cell/power_supply //What type of power cell this uses var/charge_cost = 240 //How much energy is needed to fire. + var/cell_type = /obj/item/weapon/cell/device/weapon - var/projectile_type = /obj/item/projectile/beam/practice + projectile_type = /obj/item/projectile/beam/practice + var/modifystate var/charge_meter = 1 //if set, the icon state will be chosen based on the current charge diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index d7ef652b2f0..5cfefc1bf58 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -4,7 +4,7 @@ switch between standard fire and a more efficent but weaker 'suppressive' fire." icon_state = "laser" item_state = "laser" - fire_sound = 'sound/weapons/Laser.ogg' + wielded_item_state = "laser-wielded" fire_delay = 8 slot_flags = SLOT_BELT|SLOT_BACK w_class = ITEMSIZE_LARGE @@ -12,8 +12,7 @@ origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) matter = list(DEFAULT_WALL_MATERIAL = 2000) projectile_type = /obj/item/projectile/beam/midlaser -// requires_two_hands = 1 - one_handed_penalty = 2 +// one_handed_penalty = 30 firemodes = list( list(mode_name="normal", fire_delay=8, projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 240), @@ -23,7 +22,7 @@ /obj/item/weapon/gun/energy/laser/mounted self_recharge = 1 use_external_power = 1 - requires_two_hands = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry. + one_handed_penalty = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry. /obj/item/weapon/gun/energy/laser/practice name = "practice laser carbine" @@ -43,7 +42,6 @@ icon_state = "retro" item_state = "retro" desc = "An older model of the basic lasergun. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." - fire_sound = 'sound/weapons/Laser.ogg' slot_flags = SLOT_BELT w_class = ITEMSIZE_NORMAL projectile_type = /obj/item/projectile/beam @@ -79,7 +77,6 @@ item_state = "caplaser" desc = "A rare weapon, handcrafted by a now defunct specialty manufacturer on Luna for a small fortune. It's certainly aged well." force = 5 - fire_sound = 'sound/weapons/Laser.ogg' slot_flags = SLOT_BELT w_class = ITEMSIZE_NORMAL projectile_type = /obj/item/projectile/beam @@ -95,16 +92,14 @@ flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!" icon_state = "lasercannon" item_state = null - fire_sound = 'sound/weapons/lasercannonfire.ogg' origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) slot_flags = SLOT_BELT|SLOT_BACK projectile_type = /obj/item/projectile/beam/heavylaser/cannon battery_lock = 1 fire_delay = 20 w_class = ITEMSIZE_LARGE -// requires_two_hands = 1 - one_handed_penalty = 6 // The thing's heavy and huge. - accuracy = 3 +// one_handed_penalty = 90 // The thing's heavy and huge. + accuracy = 45 charge_cost = 600 /obj/item/weapon/gun/energy/lasercannon/mounted @@ -113,7 +108,7 @@ use_external_power = 1 recharge_time = 10 accuracy = 0 // Mounted cannons are just fine the way they are. - requires_two_hands = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry. + one_handed_penalty = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry. projectile_type = /obj/item/projectile/beam/heavylaser charge_cost = 400 fire_delay = 20 @@ -124,7 +119,6 @@ standard photonic beams, resulting in an effective 'anti-armor' energy weapon." icon_state = "xray" item_state = "xray" - fire_sound = 'sound/weapons/eluger.ogg' origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2) projectile_type = /obj/item/projectile/beam/xray charge_cost = 200 @@ -145,10 +139,10 @@ fire_delay = 35 force = 10 w_class = ITEMSIZE_HUGE // So it can't fit in a backpack. - accuracy = -3 //shooting at the hip + accuracy = -45 //shooting at the hip scoped_accuracy = 0 // requires_two_hands = 1 - one_handed_penalty = 4 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. +// one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. /obj/item/weapon/gun/energy/sniperrifle/verb/scope() set category = "Object" @@ -165,7 +159,6 @@ desc = "Standard issue weapon of the Imperial Guard" origin_tech = list(TECH_COMBAT = 1, TECH_MAGNET = 2) matter = list(DEFAULT_WALL_MATERIAL = 2000) - fire_sound = 'sound/weapons/Laser.ogg' projectile_type = /obj/item/projectile/beam/lastertag/blue cell_type = /obj/item/weapon/cell/device/weapon/recharge battery_lock = 1 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 048dddfe3f9..d9d85ad92cf 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -1,9 +1,8 @@ /obj/item/weapon/gun/energy/gun name = "energy gun" - desc = "Another bestseller of Lawson Arms and the FTU, the LAEP90 Perun is a versatile energy based sidearm, capable of switching between low and high capacity projectile settings. In other words: Stun or Kill." + desc = "Another bestseller of Lawson Arms and "+TSC_HEPH+", the LAEP90 Perun is a versatile energy based sidearm, capable of switching between low and high capacity projectile settings. In other words: Stun or Kill." icon_state = "energystun100" item_state = null //so the human update icon uses the icon_state instead. - fire_sound = 'sound/weapons/Taser.ogg' fire_delay = 10 // Handguns should be inferior to two-handed weapons. projectile_type = /obj/item/projectile/beam/stun/med @@ -11,8 +10,8 @@ modifystate = "energystun" firemodes = list( - list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="energystun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 240), - list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="energykill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 480), + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="energystun", charge_cost = 240), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="energykill", charge_cost = 480), ) /obj/item/weapon/gun/energy/gun/mounted @@ -26,7 +25,6 @@ desc = "The FM-2t is a versatile energy based weapon, capable of switching between stun or kill with a three round burst option for both settings." icon_state = "fm-2tstun100" //May resprite this to be more rifley item_state = null //so the human update icon uses the icon_state instead. - fire_sound = 'sound/weapons/Taser.ogg' charge_cost = 100 force = 8 w_class = ITEMSIZE_LARGE //Probably gonna make it a rifle sooner or later @@ -37,13 +35,13 @@ modifystate = "fm-2tstun" // requires_two_hands = 1 - one_handed_penalty = 2 +// one_handed_penalty = 30 firemodes = list( - list(mode_name="stun", burst=1, projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="fm-2tstun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 100), - list(mode_name="stun burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="fm-2tstun", fire_sound='sound/weapons/Taser.ogg'), - list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="fm-2tkill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 200), - list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="fm-2tkill", fire_sound='sound/weapons/Laser.ogg'), + list(mode_name="stun", burst=1, projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="fm-2tstun", charge_cost = 100), + list(mode_name="stun burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="fm-2tstun"), + list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="fm-2tkill", charge_cost = 200), + list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="fm-2tkill"), ) /obj/item/weapon/gun/energy/gun/nuclear @@ -61,9 +59,9 @@ modifystate = null // requires_two_hands = 1 - one_handed_penalty = 1 // It's rather bulky, so holding it in one hand is a little harder than with two, however it's not 'required'. +// one_handed_penalty = 15 // It's rather bulky, so holding it in one hand is a little harder than with two, however it's not 'required'. firemodes = list( - list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="nucgunstun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 240), - list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="nucgunkill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 480), - ) \ No newline at end of file + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="nucgunstun", charge_cost = 240), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="nucgunkill", charge_cost = 480), + ) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 2bcb2db7710..6513a00052f 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -5,15 +5,14 @@ item_state = null //so the human update icon uses the icon_state instead. slot_flags = SLOT_BELT|SLOT_BACK force = 10 - fire_sound='sound/weapons/Laser.ogg' projectile_type = /obj/item/projectile/beam charge_cost = 120 sel_mode = 2 firemodes = list( - list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg', fire_delay=null, charge_cost = 120), - list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg', fire_delay=null, charge_cost = 120), - list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/gauss_shoot.ogg', fire_delay=null, charge_cost = 240), + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_delay=null, charge_cost = 120), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_delay=null, charge_cost = 120), + list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_delay=null, charge_cost = 240), ) /obj/item/weapon/gun/energy/pulse_rifle/mounted @@ -39,7 +38,7 @@ charge_cost = 240 firemodes = list( - list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg', fire_delay=null, charge_cost = 240), - list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg', fire_delay=null, charge_cost = 240), - list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/gauss_shoot.ogg', fire_delay=null, charge_cost = 480), + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_delay=null, charge_cost = 240), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_delay=null, charge_cost = 240), + list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_delay=null, charge_cost = 480), ) \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 84697e668dd..8f18f2f64cf 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -3,7 +3,7 @@ desc = "The NT Mk60 EW Halicon is a man portable anti-armor weapon designed to disable mechanical threats, produced by NT. Not the best of its type." icon_state = "ionrifle" item_state = "ionrifle" - fire_sound = 'sound/weapons/Laser.ogg' + wielded_item_state = "ionrifle-wielded" origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 4) w_class = ITEMSIZE_LARGE force = 10 @@ -23,7 +23,16 @@ force = 5 slot_flags = SLOT_BELT|SLOT_HOLSTER charge_cost = 480 - projectile_type = /obj/item/projectile/ion + projectile_type = /obj/item/projectile/ion/pistol + +/obj/item/weapon/gun/energy/phasegun + name = "phase pistol" + desc = "The NT Mk26 EW Apollo is an energy handgun, specifically designed for use against wildlife." + icon_state = "phase" + item_state = "taser" //I don't have an in-hand sprite, taser will be fine + slot_flags = SLOT_BELT|SLOT_HOLSTER + charge_cost = 300 + projectile_type = /obj/item/projectile/energy/phase /obj/item/weapon/gun/energy/decloner name = "biological demolecularisor" @@ -192,12 +201,12 @@ obj/item/weapon/gun/energy/staff/focus projectile_type = /obj/item/projectile/energy/blue_pellet cell_type = /obj/item/weapon/cell/device/weapon/recharge battery_lock = 1 - accuracy = 5 // Suppressive weapons don't work too well if there's no risk of being hit. + accuracy = 75 // Suppressive weapons don't work too well if there's no risk of being hit. burst_delay = 1 // Burst faster than average. origin_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 6, TECH_ILLEGAL = 6) firemodes = list( - list(mode_name="single shot", burst = 1, burst_accuracy = list(5), dispersion = list(0), charge_cost = 24), - list(mode_name="five shot burst", burst = 5, burst_accuracy = list(5,5,5,5,5), dispersion = list(1,1,1,1,1)), - list(mode_name="ten shot burst", burst = 10, burst_accuracy = list(5,5,5,5,5,5,5,5,5,5), dispersion = list(2,2,2,2,2,2,2,2,2,2)), - ) + list(mode_name="single shot", burst = 1, burst_accuracy = list(75), dispersion = list(0), charge_cost = 24), + list(mode_name="five shot burst", burst = 5, burst_accuracy = list(75,75,75,75,75), dispersion = list(1,1,1,1,1)), + list(mode_name="ten shot burst", burst = 10, burst_accuracy = list(75,75,75,75,75,75,75,75,75,75), dispersion = list(2,2,2,2,2,2,2,2,2,2)), + ) \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 43bb9e16370..312a6b06486 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -3,7 +3,6 @@ desc = "The NT Mk30 NL is a small gun used for non-lethal takedowns. Produced by NT, it's actually a licensed version of a W-T design." icon_state = "taser" item_state = null //so the human update icon uses the icon_state instead. - fire_sound = 'sound/weapons/Taser.ogg' projectile_type = /obj/item/projectile/beam/stun /obj/item/weapon/gun/energy/taser/mounted @@ -22,7 +21,6 @@ desc = "A LAEP20 Zeus. Designed by Lawson Arms and produced under the wing of Hephaestus, several TSCs have been trying to get a hold of the blueprints for half a decade." icon_state = "stunrevolver" item_state = "stunrevolver" - fire_sound = 'sound/weapons/Gunshot.ogg' origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) projectile_type = /obj/item/projectile/energy/electrode/strong charge_cost = 300 @@ -63,7 +61,6 @@ desc = "The Mars Military Industries MA21 Selkie is a weapon that uses a laser pulse to ionise the local atmosphere, creating a disorienting pulse of plasma and deafening shockwave as the wave expands." icon_state = "plasma_stun" item_state = "plasma_stun" - fire_sound = 'sound/weapons/blaster.ogg' origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_POWER = 3) fire_delay = 20 charge_cost = 600 diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 6b2c52a3041..12a107b642b 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -52,9 +52,9 @@ var/mob/living/L = hit_atom //unfortuately we don't know where the dart will actually hit, since that's done by the parent. if(L.can_inject() && syringe.reagents) - var/reagent_log = syringe.reagents.get_reagents() - syringe.reagents.trans_to_mob(L, 15, CHEM_BLOOD) - admin_inject_log(thrower, L, src, reagent_log, 15, violent=1) + var/contained = syringe.reagents.get_reagents() + var/trans = syringe.reagents.trans_to_mob(L, 15, CHEM_BLOOD) + add_attack_logs(thrower,L,"Shot with [src.name] containing [contained], trasferred [trans] units") syringe.break_syringe(iscarbon(hit_atom)? hit_atom : null) syringe.update_icon() diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm index ae45454a427..cbce1a7aa14 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic.dm @@ -4,7 +4,7 @@ icon_state = "coilgun" item_state = "coilgun" icon = 'icons/obj/railgun.dmi' -// one_handed_penalty = 1 +// one_handed_penalty = 15 origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4, TECH_ILLEGAL = 2, TECH_MAGNET = 4) w_class = ITEMSIZE_LARGE @@ -15,7 +15,7 @@ var/obj/item/loaded // Currently loaded object, for retrieval/unloading. var/load_type = /obj/item/stack/rods // Type of stack to load with. - var/projectile_type = /obj/item/projectile/bullet/magnetic // Actual fire type, since this isn't throw_at rod launcher. + projectile_type = /obj/item/projectile/bullet/magnetic // Actual fire type, since this isn't throw_at rod launcher. var/power_cost = 950 // Cost per fire, should consume almost an entire basic cell. var/power_per_tick // Capacitor charge per process(). Updated based on capacitor rating. diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm index 82f10cae24d..466fbd3b339 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm @@ -11,6 +11,8 @@ w_class = ITEMSIZE_HUGE slot_flags = SLOT_BELT loaded = /obj/item/weapon/rcd_ammo/large + slowdown = 1 // Slowdown equals slowdown_worn, until we decide to import the system to differentiate between held and worn items + fire_delay = 1 var/initial_cell_type = /obj/item/weapon/cell/hyper var/initial_capacitor_type = /obj/item/weapon/stock_parts/capacitor/adv @@ -59,7 +61,9 @@ initial_cell_type = /obj/item/weapon/cell/infinite initial_capacitor_type = /obj/item/weapon/stock_parts/capacitor/super + fire_delay = 0 + slowdown = 2 slowdown_held = 3 slowdown_worn = 2 @@ -67,9 +71,9 @@ w_class = ITEMSIZE_NO_CONTAINER firemodes = list( - list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, one_handed_penalty=1, burst_accuracy=null, dispersion=null), - list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=2, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), - list(mode_name="long bursts", burst=6, fire_delay=null, move_delay=10, one_handed_penalty=2, burst_accuracy=list(0,-1,-1,-1,-2), dispersion=list(0.6, 0.6, 1.0, 1.0, 1.2)), + list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, one_handed_penalty=15, burst_accuracy=null, dispersion=null), + list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=30, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), + list(mode_name="long bursts", burst=6, fire_delay=null, move_delay=10, one_handed_penalty=30, burst_accuracy=list(0,-15,-15,-15,-30), dispersion=list(0.6, 0.6, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/magnetic/railgun/automatic/examine(var/mob/user) @@ -82,11 +86,18 @@ desc = "The MI-12 Skadi is a burst fire capable railgun that fires flechette rounds at high velocity. Deadly against armour, but much less effective against soft targets." icon_state = "flechette_gun" item_state = "z8carbine" + initial_cell_type = /obj/item/weapon/cell/hyper initial_capacitor_type = /obj/item/weapon/stock_parts/capacitor/adv + + fire_delay = 0 + slot_flags = SLOT_BACK + + slowdown = 0 slowdown_held = 0 slowdown_worn = 0 + power_cost = 100 load_type = /obj/item/weapon/magnetic_ammo projectile_type = /obj/item/projectile/bullet/magnetic/flechette @@ -95,6 +106,6 @@ empty_sound = 'sound/weapons/smg_empty_alarm.ogg' firemodes = list( - list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, one_handed_penalty=1, burst_accuracy=null, dispersion=null), - list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=2, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), + list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, one_handed_penalty=15, burst_accuracy=null, dispersion=null), + list(mode_name="short bursts", burst=3, fire_delay=null, move_delay=5, one_handed_penalty=30, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), ) diff --git a/code/modules/projectiles/guns/modular_guns.dm b/code/modules/projectiles/guns/modular_guns.dm new file mode 100644 index 00000000000..8f81e971c47 --- /dev/null +++ b/code/modules/projectiles/guns/modular_guns.dm @@ -0,0 +1,174 @@ +//This will likely drive me insane, but fuck it. Let's give it a shot. -k22 +//This was heavily assisted by MoondancerPony +/obj/item/weapon/gun/energy/modular + name = "modular weapon" + desc = "You shouldn't be seeing this. Contact your local time-police station." + icon_state = "mod_pistol" + cell_type = /obj/item/weapon/cell/device/weapon + charge_cost = 120 + + var/max_components = 3 //How many components we can hold. + var/capacitor_rating = 0 //How good are the capacitors inside us? + var/laser_rating = 0 //How good are the lasers inside of us? + var/manipulator_rating = 0 //How good are the manipulators inside us? + var/assembled = 1 //Are we closed up? + var/max_burst_size = 5 //Don't let our maximum burst size get too high. + var/list/guncomponents = list() //Generate our list of components. + var/accepted_components = list( + /obj/item/weapon/stock_parts/capacitor/, + /obj/item/weapon/stock_parts/capacitor/adv, + /obj/item/weapon/stock_parts/capacitor/super, + /obj/item/weapon/stock_parts/micro_laser/, + /obj/item/weapon/stock_parts/micro_laser/high, + /obj/item/weapon/stock_parts/micro_laser/ultra, + /obj/item/weapon/stock_parts/manipulator/, + /obj/item/weapon/stock_parts/manipulator/nano, + /obj/item/weapon/stock_parts/manipulator/pico, + ) + //Excessively long because it won't accept subtypes for some reason! + + +/obj/item/weapon/gun/energy/modular/New() //Initialize our components. + ..() + guncomponents = list() + guncomponents += new /obj/item/weapon/stock_parts/capacitor + guncomponents += new /obj/item/weapon/stock_parts/micro_laser + guncomponents += new /obj/item/weapon/stock_parts/manipulator + CheckParts() + FireModeModify() + +/obj/item/weapon/gun/energy/modular/proc/CheckParts() //What parts do we have inside us, and how good are they? + capacitor_rating = 0 + laser_rating = 0 + manipulator_rating = 0 + for(var/obj/item/weapon/stock_parts/capacitor/CA in guncomponents) + capacitor_rating += CA.rating + for(var/obj/item/weapon/stock_parts/micro_laser/ML in guncomponents) + laser_rating += ML.rating + for(var/obj/item/weapon/stock_parts/manipulator/MA in guncomponents) + manipulator_rating += MA.rating + FireModeModify() + +/obj/item/weapon/gun/energy/modular/attackby(obj/item/O, mob/user) + if(istype(O, /obj/item/weapon/screwdriver)) + to_chat(user, "You [assembled ? "disassemble" : "assemble"] the gun.") + assembled = !assembled + playsound(src, O.usesound, 50, 1) + return + if(istype(O, /obj/item/weapon/crowbar)) + if(assembled == 1) + to_chat(user, "Disassemble the [src] first!") + return + for(var/obj/item/I in guncomponents) + to_chat(user, "You remove the gun's components.") + playsound(src, O.usesound, 50, 1) + I.forceMove(get_turf(src)) + guncomponents.Remove(I) + CheckParts() + return + //Someone's attacking us, and it's not anything we have a special case for (i.e. a tool) + ..() + if(assembled) // can't put anything in + return + if(!(O.type in accepted_components))//check if we can accept it + to_chat(user, "You can't add this to [src]!") + return + if(guncomponents.len >= max_components) //We have too many componenets and can't fit more. + to_chat(user, "You can't add any more components!") + return + if(istype(O, /obj/item/weapon/stock_parts/capacitor) && capacitor_rating == 5) + to_chat(user, "You can't add any more capacitors!") + return + user.drop_item() + guncomponents += O + O.forceMove(src) + to_chat(user, "You add a component to the [src]") + CheckParts() + + +/obj/item/weapon/gun/energy/modular/proc/FireModeModify() //Check our laser, manipulator, and capacitor ratings, adjust stun and lethal firemodes depending on laser / manipulator rating and burst size depending on capacitors. + //check our lethal and stun ratings depending on laser and manipulator rating. + var/burstmode = capacitor_rating + var/beammode + var/beammode_lethal + var/chargecost + var/chargecost_lethal + + if(laser_rating >= 15) + beammode_lethal = /obj/item/projectile/beam/sniper + beammode = /obj/item/projectile/beam/stun + chargecost = 300 + chargecost_lethal = 600 + else if(laser_rating >= 10) + beammode_lethal = /obj/item/projectile/beam/xray + beammode = /obj/item/projectile/beam/stun + chargecost = 300 + chargecost_lethal = 200 + else if(laser_rating == 8 && manipulator_rating == 5) //very specific set of combinations. No, you can't make a pulse rifle. Sorry research. + beammode_lethal = /obj/item/projectile/beam/heavylaser + beammode = /obj/item/projectile/beam/stun + chargecost = 300 + chargecost_lethal = 600 + else if(laser_rating >= 5) + beammode_lethal = /obj/item/projectile/beam/midlaser + beammode = /obj/item/projectile/beam/stun/med + chargecost = 180 + chargecost_lethal = 240 + else if(laser_rating < 5) + beammode_lethal = /obj/item/projectile/beam/weaklaser + beammode = /obj/item/projectile/beam/stun/weak + chargecost = 100 + chargecost_lethal = 200 + + firemodes = list( + new /datum/firemode(src, list(mode_name="stun", projectile_type=beammode, fire_sound='sound/weapons/Taser.ogg', charge_cost = chargecost)), + new /datum/firemode(src, list(mode_name="lethal", projectile_type=beammode_lethal, fire_sound='sound/weapons/Laser.ogg', charge_cost = chargecost_lethal)), + new /datum/firemode(src, list(mode_name="[burstmode] shot stun", projectile_type=beammode, fire_sound='sound/weapons/Taser.ogg', charge_cost = chargecost, burst = burstmode)), + new /datum/firemode(src, list(mode_name="[burstmode] shot lethal", projectile_type=beammode_lethal, fire_sound='sound/weapons/Laser.ogg', charge_cost = chargecost_lethal, burst = burstmode)), + ) + +/obj/item/weapon/gun/energy/modular/load_ammo(var/obj/item/C, mob/user) + if(istype(C, cell_type)) + if(self_recharge || battery_lock) + user << "[src] does not have a battery port." + return + var/obj/item/weapon/cell/P = C + if(power_supply) + user << "[src] already has a power cell." + else + user.visible_message("[user] is reloading [src].", "You start to insert [P] into [src].") + if(do_after(user, 10)) + user.remove_from_mob(P) + power_supply = P + P.loc = src + user.visible_message("[user] inserts [P] into [src].", "You insert [P] into [src].") + playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) + update_icon() + update_held_icon() + return + +/obj/item/weapon/gun/energy/modular/pistol + name = "modular pistol" + icon_state = "mod_pistol" + max_components = 6 + desc = "A bulky modular pistol frame. This only only accepts six parts." + origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3) + burst_delay = 2 + +/obj/item/weapon/gun/energy/modular/carbine + name = "modular carbine" + icon_state = "mod_carbine" + max_components = 8 + desc = "A modular version of the standard laser carbine. This one can hold 8 components." + origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3, TECH_MATERIAL = 3) + burst_delay = 2 + +/obj/item/weapon/gun/energy/modular/cannon + name = "modular cannon" + icon_state = "mod_cannon" + max_components = 14 + desc = "Say hello, to my little friend!" + one_handed_penalty = 4 //dual wielding = no. + cell_type = /obj/item/weapon/cell //We're bigger. We can use much larger power cells. + origin_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 4) //its a damn cannon capable of holding a huge amount of parts. + burst_delay = 4 //preventing extreme silliness. \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index f1ff50698f9..be37c824bb4 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -10,6 +10,7 @@ w_class = ITEMSIZE_NORMAL matter = list(DEFAULT_WALL_MATERIAL = 1000) recoil = 1 + projectile_type = /obj/item/projectile/bullet/pistol/strong //Only used for Cham Guns var/caliber = ".357" //determines which casings will fit var/handle_casings = EJECT_CASINGS //determines how spent casings should be handled diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 19b92db3b7b..4c7e0e3e888 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -9,16 +9,16 @@ origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2) slot_flags = SLOT_BELT ammo_type = /obj/item/ammo_casing/a9mm + projectile_type = /obj/item/projectile/bullet/pistol multi_aim = 1 burst_delay = 2 -// requires_two_hands = 1 - one_handed_penalty = 1 +// one_handed_penalty = 15 firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)) -// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)) +// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15,-30,-30), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/c20r @@ -35,11 +35,11 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m10mm allowed_magazines = list(/obj/item/ammo_magazine/m10mm) + projectile_type = /obj/item/projectile/bullet/pistol/medium auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' -// requires_two_hands = 1 - one_handed_penalty = 2 +// one_handed_penalty = 15 /obj/item/weapon/gun/projectile/automatic/c20r/update_icon() ..() @@ -53,6 +53,8 @@ name = "assault rifle" desc = "The rugged STS-35 is a durable automatic weapon of a make popular on the frontier worlds. Uses 5.45mm rounds." icon_state = "arifle" + item_state = "arifle" + wielded_item_state = "arifle-wielded" item_state = null w_class = ITEMSIZE_LARGE force = 10 @@ -62,13 +64,14 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m545 allowed_magazines = list(/obj/item/ammo_magazine/m545) + projectile_type = /obj/item/projectile/bullet/rifle/a545 - one_handed_penalty = 4 +// one_handed_penalty = 30 firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2), dispersion=list(0.0, 0.6, 0.6)) -// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2,-2,-3), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6)) +// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30,-30,-45), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/sts35/update_icon(var/ignore_inhands) @@ -93,6 +96,7 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m9mmt/rubber allowed_magazines = list(/obj/item/ammo_magazine/m9mmt) + projectile_type = /obj/item/projectile/bullet/pistol/medium /obj/item/weapon/gun/projectile/automatic/wt550/update_icon() ..() @@ -107,6 +111,7 @@ desc = "The Z8 Bulldog is an older model designated marksman rifle, made by the now defunct Zendai Foundries. Makes you feel like a space marine when you hold it, even though it can only hold 10 round magazines. Uses 7.62mm rounds and has an under barrel grenade launcher." icon_state = "carbine" // This isn't a carbine. :T item_state = "z8carbine" + wielded_item_state = "z8carbine-wielded" w_class = ITEMSIZE_LARGE force = 10 caliber = "7.62mm" @@ -116,15 +121,16 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m762 allowed_magazines = list(/obj/item/ammo_magazine/m762) + projectile_type = /obj/item/projectile/bullet/rifle/a762 auto_eject = 1 auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' - one_handed_penalty = 4 +// one_handed_penalty = 60 burst_delay = 4 firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, use_launcher=null, burst_accuracy=null, dispersion=null), - list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, use_launcher=null, burst_accuracy=list(0,-1), dispersion=list(0.0, 0.6)), + list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, use_launcher=null, burst_accuracy=list(0,-15), dispersion=list(0.0, 0.6)), list(mode_name="fire grenades", burst=null, fire_delay=null, move_delay=null, use_launcher=1, burst_accuracy=null, dispersion=null) ) @@ -187,17 +193,27 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m545saw allowed_magazines = list(/obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545) + projectile_type = /obj/item/projectile/bullet/rifle/a545 - one_handed_penalty = 6 +// one_handed_penalty = 90 + + var/cover_open = 0 + +/* Commented out for quality control and testing. + firemodes = list( + list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 0), + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0), automatic = 0), + list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2), automatic = 0), + list(mode_name="automatic", burst=1, fire_delay=-1, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 1), + ) +*/ firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)), - list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)) + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), + list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2)) ) - var/cover_open = 0 - /obj/item/weapon/gun/projectile/automatic/l6_saw/special_check(mob/user) if(cover_open) user << "[src]'s cover is open! Close it before firing!" @@ -251,19 +267,19 @@ w_class = ITEMSIZE_LARGE force = 10 caliber = "12g" - fire_sound = 'sound/weapons/shotgun.ogg' origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4) slot_flags = SLOT_BACK load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m12gdrum allowed_magazines = list(/obj/item/ammo_magazine/m12gdrum) + projectile_type = /obj/item/projectile/bullet/shotgun - one_handed_penalty = 4 +// one_handed_penalty = 60 firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), - list(mode_name="3-round bursts", burst=3, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.0, 0.6, 0.6)) -// list(mode_name="6-round bursts", burst=6, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2, 1.2)), + list(mode_name="3-round bursts", burst=3, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.0, 0.6, 0.6)) +// list(mode_name="6-round bursts", burst=6, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30, -30), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2, 1.2)), ) /obj/item/weapon/gun/projectile/automatic/as24/update_icon() @@ -287,7 +303,7 @@ firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), - list(mode_name="3-round bursts", burst=3, burst_delay=1, fire_delay=4, move_delay=4, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0)) + list(mode_name="3-round bursts", burst=3, burst_delay=1, fire_delay=4, move_delay=4, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.6, 1.0, 1.0)) ) /obj/item/weapon/gun/projectile/automatic/mini_uzi/update_icon() @@ -313,7 +329,7 @@ firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), - list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)) + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)) ) /obj/item/weapon/gun/projectile/automatic/p90/update_icon() @@ -333,7 +349,7 @@ firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0), - list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)) + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)) ) /obj/item/weapon/gun/projectile/automatic/tommygun/update_icon() @@ -354,12 +370,13 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m762 allowed_magazines = list(/obj/item/ammo_magazine/m762, /obj/item/ammo_magazine/m762m) + projectile_type = /obj/item/projectile/bullet/rifle/a762 - one_handed_penalty = 4 +// one_handed_penalty = 45 firemodes = list( list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), - list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1), dispersion=list(0.0, 0.6)) + list(mode_name="2-round bursts", burst=2, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15), dispersion=list(0.0, 0.6)) ) /obj/item/weapon/gun/projectile/automatic/bullpup/update_icon(var/ignore_inhands) @@ -370,4 +387,5 @@ icon_state = "bullpup" else item_state = "bullpup-empty" - if(!ignore_inhands) update_held_icon() \ No newline at end of file + if(!ignore_inhands) + update_held_icon() diff --git a/code/modules/projectiles/guns/projectile/boltaction.dm b/code/modules/projectiles/guns/projectile/boltaction.dm index bb6d14d1ee0..45e5f1ece57 100644 --- a/code/modules/projectiles/guns/projectile/boltaction.dm +++ b/code/modules/projectiles/guns/projectile/boltaction.dm @@ -37,7 +37,7 @@ icon_state = "sawnrifle" w_class = ITEMSIZE_NORMAL recoil = 2 // Owch - accuracy = -1 // You know damn well why. + accuracy = -15 // You know damn well why. item_state = "gun" slot_flags &= ~SLOT_BACK //you can't sling it on your back slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not. diff --git a/code/modules/projectiles/guns/projectile/contender.dm b/code/modules/projectiles/guns/projectile/contender.dm index 4d840a214b4..d5e44ae54a9 100644 --- a/code/modules/projectiles/guns/projectile/contender.dm +++ b/code/modules/projectiles/guns/projectile/contender.dm @@ -8,6 +8,7 @@ handle_casings = HOLD_CASINGS max_shells = 1 ammo_type = /obj/item/ammo_casing/a357 + projectile_type = /obj/item/projectile/bullet/pistol/strong var/retracted_bolt = 0 load_method = SINGLE_CASING diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 872059df536..a2329566841 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -4,10 +4,10 @@ desc = "A cheap Martian knock-off of a Colt M1911. Uses .45 rounds." magazine_type = /obj/item/ammo_magazine/m45 allowed_magazines = list(/obj/item/ammo_magazine/m45) + projectile_type = /obj/item/projectile/bullet/pistol/medium icon_state = "colt" caliber = ".45" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) - fire_sound = 'sound/weapons/gunshot3.ogg' load_method = MAGAZINE /obj/item/weapon/gun/projectile/colt/update_icon() @@ -68,14 +68,22 @@ M << "Your gun is now sprited as [choice]. Say hello to your new friend." return 1 +/*//apart of reskins that have two sprites, touching may result in frustration and breaks +/obj/item/weapon/gun/projectile/colt/detective/attack_hand(var/mob/living/user) + if(!unique_reskin && loc == user) + reskin_gun(user) + return + ..() +*/ + /obj/item/weapon/gun/projectile/sec name = ".45 pistol" desc = "The NT Mk58 is a cheap, ubiquitous sidearm, produced by a NanoTrasen subsidiary. Found pretty much everywhere humans are. Uses .45 rounds." icon_state = "secguncomp" magazine_type = /obj/item/ammo_magazine/m45/rubber + projectile_type = /obj/item/projectile/bullet/pistol/medium caliber = ".45" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) - fire_sound = 'sound/weapons/gunshot3.ogg' load_method = MAGAZINE /obj/item/weapon/gun/projectile/sec/update_icon() @@ -114,6 +122,7 @@ load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m45 allowed_magazines = list(/obj/item/ammo_magazine/m45) + projectile_type = /obj/item/projectile/bullet/pistol/medium /obj/item/weapon/gun/projectile/deagle name = "desert eagle" @@ -195,10 +204,10 @@ caliber = "9mm" silenced = 0 origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 2) - fire_sound = 'sound/weapons/gunshot3.ogg' load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/m9mm/compact allowed_magazines = list(/obj/item/ammo_magazine/m9mm/compact) + projectile_type = /obj/item/projectile/bullet/pistol /obj/item/weapon/gun/projectile/pistol/flash name = "compact signal pistol" @@ -291,6 +300,7 @@ load_method = SINGLE_CASING max_shells = 2 ammo_type = /obj/item/ammo_casing/a357 + projectile_type = /obj/item/projectile/bullet/pistol/strong /obj/item/weapon/gun/projectile/luger name = "\improper P08 Luger" @@ -299,9 +309,9 @@ origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) caliber = "9mm" load_method = MAGAZINE - fire_sound = 'sound/weapons/gunshot3.ogg' magazine_type = /obj/item/ammo_magazine/m9mm/compact allowed_magazines = list(/obj/item/ammo_magazine/m9mm/compact) + projectile_type = /obj/item/projectile/bullet/pistol /obj/item/weapon/gun/projectile/luger/update_icon() ..() diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 20671d6fd58..481530856f1 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -8,6 +8,7 @@ handle_casings = CYCLE_CASINGS max_shells = 6 ammo_type = /obj/item/ammo_casing/a357 + projectile_type = /obj/item/projectile/bullet/pistol/strong var/chamber_offset = 0 //how many empty chambers in the cylinder until you hit a round /obj/item/weapon/gun/projectile/revolver/verb/spin_cylinder() @@ -117,7 +118,6 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() return 1 - // Blade Runner pistol. /obj/item/weapon/gun/projectile/revolver/deckard name = "\improper Deckard .38" @@ -154,6 +154,7 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() handle_casings = CYCLE_CASINGS max_shells = 7 ammo_type = /obj/item/ammo_casing/cap + projectile_type = /obj/item/projectile/bullet/pistol/strong /obj/item/weapon/gun/projectile/revolver/judge name = "\"The Judge\"" @@ -162,10 +163,10 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() caliber = "12g" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 4) max_shells = 5 - fire_sound = 'sound/weapons/shotgun.ogg' recoil = 2 // ow my fucking hand - accuracy = -1 // smooth bore + short barrel = shit accuracy + accuracy = -15 // smooth bore + short barrel = shit accuracy ammo_type = /obj/item/ammo_casing/a12g + projectile_type = /obj/item/projectile/bullet/shotgun // ToDo: Remove accuracy debuf in exchange for slightly injuring your hand every time you fire it. /obj/item/weapon/gun/projectile/revolver/lemat @@ -176,9 +177,9 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) handle_casings = CYCLE_CASINGS max_shells = 9 - fire_sound = 'sound/weapons/gunshot3.ogg' caliber = ".38" ammo_type = /obj/item/ammo_casing/a38 + projectile_type = /obj/item/projectile/bullet/pistol var/secondary_max_shells = 1 var/secondary_caliber = "12g" var/secondary_ammo_type = /obj/item/ammo_casing/a12g @@ -208,7 +209,6 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() if(caliber && secondary_caliber) caliber = secondary_caliber - fire_sound = 'sound/weapons/shotgun.ogg' if(ammo_type && secondary_ammo_type) ammo_type = secondary_ammo_type @@ -225,7 +225,6 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() if(caliber && secondary_caliber) caliber = initial(caliber) - fire_sound = initial(fire_sound) if(ammo_type && secondary_ammo_type) ammo_type = initial(ammo_type) @@ -259,3 +258,24 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun() to_chat(user, "\The [src] has a secondary barrel loaded with \a [to_print]") else to_chat(user, "\The [src] has a secondary barrel that is empty.") + + +//Ported from Bay +/obj/item/weapon/gun/projectile/revolver/webley + name = "service revolver" + desc = "A rugged top break revolver based on the Webley Mk. VI model, with modern improvements. Uses .44 magnum rounds." + icon_state = "webley2" + item_state = "webley2" + caliber = ".44" + origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) + handle_casings = CYCLE_CASINGS + max_shells = 6 + ammo_type = /obj/item/ammo_casing/a44 + +/obj/item/weapon/gun/projectile/revolver/webley/auto + name = "autorevolver" + icon_state = "mosley" + desc = "A shiny Mosley Autococker automatic revolver, with black accents. Marketed as the 'Revolver for the Modern Era'. Uses .44 magnum rounds." + fire_delay = 5.7 //Autorevolver. Also synced with the animation + fire_anim = "mosley_fire" + origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 2fb6f04abbe..087543091d7 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -12,8 +12,8 @@ origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2) load_method = SINGLE_CASING|SPEEDLOADER ammo_type = /obj/item/ammo_casing/a12g/beanbag + projectile_type = /obj/item/projectile/bullet/shotgun handle_casings = HOLD_CASINGS - fire_sound = 'sound/weapons/shotgun.ogg' var/recentpump = 0 // to prevent spammage var/action_sound = 'sound/weapons/shotgunpump.ogg' @@ -106,7 +106,7 @@ slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not. name = "sawn-off shotgun" desc = "Omar's coming!" - user << "You shorten the barrel of \the [src]!" + to_chat(user, "You shorten the barrel of \the [src]!") else ..() diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 183de3cf17d..230e2b4d507 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -11,13 +11,14 @@ origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) caliber = "14.5mm" recoil = 5 //extra kickback - fire_sound = 'sound/weapons/sniper.ogg' // extra boom handle_casings = HOLD_CASINGS load_method = SINGLE_CASING max_shells = 1 ammo_type = /obj/item/ammo_casing/a145 - accuracy = -5 - scoped_accuracy = 5 + projectile_type = /obj/item/projectile/bullet/rifle/a145 + accuracy = -75 + scoped_accuracy = 75 +// one_handed_penalty = 90 var/bolt_open = 0 /obj/item/weapon/gun/projectile/heavysniper/update_icon() @@ -79,10 +80,10 @@ origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) caliber = "7.62mm" load_method = MAGAZINE - accuracy = -3 //shooting at the hip + accuracy = -45 //shooting at the hip scoped_accuracy = 0 // requires_two_hands = 1 - one_handed_penalty = 4 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. +// one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. fire_sound = 'sound/weapons/SVD_shot.ogg' magazine_type = /obj/item/ammo_magazine/m762svd allowed_magazines = list(/obj/item/ammo_magazine/m762svd) diff --git a/code/modules/projectiles/guns/vox.dm b/code/modules/projectiles/guns/vox.dm index ecc8a1a9047..631d255f77a 100644 --- a/code/modules/projectiles/guns/vox.dm +++ b/code/modules/projectiles/guns/vox.dm @@ -56,23 +56,23 @@ desc = "A vicious alien beam weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." icon_state = "darkcannon" item_state = "darkcannon" - fire_sound = 'sound/weapons/eLuger.ogg' w_class = ITEMSIZE_HUGE charge_cost = 300 projectile_type = /obj/item/projectile/beam/stun/darkmatter cell_type = /obj/item/weapon/cell/device/weapon/recharge battery_lock = 1 - accuracy = 2 + accuracy = 30 firemodes = list( - list(mode_name="stunning", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(2), dispersion=null, projectile_type=/obj/item/projectile/beam/stun/darkmatter, charge_cost = 300), - list(mode_name="focused", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(2), dispersion=null, projectile_type=/obj/item/projectile/beam/darkmatter, charge_cost = 600), + list(mode_name="stunning", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(30), dispersion=null, projectile_type=/obj/item/projectile/beam/stun/darkmatter, charge_cost = 300), + list(mode_name="focused", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(30), dispersion=null, projectile_type=/obj/item/projectile/beam/darkmatter, charge_cost = 600), list(mode_name="scatter burst", burst=8, fire_delay=null, move_delay=4, burst_accuracy=list(0, 0, 0, 0, 0, 0, 0, 0), dispersion=list(3, 3, 3, 3, 3, 3, 3, 3, 3), projectile_type=/obj/item/projectile/energy/darkmatter, charge_cost = 300), ) /obj/item/projectile/beam/stun/darkmatter name = "dark matter wave" icon_state = "darkt" + fire_sound = 'sound/weapons/eLuger.ogg' nodamage = 1 taser_effect = 1 agony = 55 @@ -86,6 +86,7 @@ /obj/item/projectile/beam/darkmatter name = "dark matter bolt" icon_state = "darkb" + fire_sound = 'sound/weapons/eLuger.ogg' damage = 35 armor_penetration = 35 damage_type = BRUTE @@ -101,6 +102,7 @@ /obj/item/projectile/energy/darkmatter name = "dark matter pellet" icon_state = "dark_pellet" + fire_sound = 'sound/weapons/eLuger.ogg' damage = 20 armor_penetration = 35 damage_type = BRUTE @@ -117,7 +119,6 @@ desc = "A vicious alien sound weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive." icon_state = "noise" item_state = "noise" - fire_sound = 'sound/effects/basscannon.ogg' w_class = ITEMSIZE_HUGE cell_type = /obj/item/weapon/cell/device/weapon/recharge battery_lock = 1 @@ -133,6 +134,7 @@ /obj/item/projectile/sonic name = "sonic pulse" icon_state = "sound" + fire_sound = 'sound/effects/basscannon.ogg' damage = 5 armor_penetration = 30 damage_type = BRUTE diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 2040b0a7784..b398de7d2f0 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -49,6 +49,7 @@ //Effects var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 maybe later for burst of fire around the impact point. - Mech var/flammability = 0 //Amount of fire stacks to add for the above. + var/combustion = TRUE //Does this set off flammable objects on fire/hit? var/stun = 0 var/weaken = 0 var/paralyze = 0 @@ -69,6 +70,8 @@ var/tracer_type var/impact_type + var/fire_sound + var/vacuum_traversal = 1 //Determines if the projectile can exist in vacuum, if false, the projectile will be deleted if it enters vacuum. var/datum/plot_vector/trajectory // used to plot the path of the projectile @@ -88,6 +91,10 @@ //called when the projectile stops flying because it collided with something /obj/item/projectile/proc/on_impact(var/atom/A) impact_effect(effect_transform) // generate impact effect + if(damage && damage_type == BURN) + var/turf/T = get_turf(A) + if(T) + T.hotspot_expose(700, 5) return //Checks if the projectile is eligible for embedding. Not that it necessarily will. @@ -130,6 +137,9 @@ if (!istype(targloc) || !istype(curloc)) return 1 + if(combustion) + curloc.hotspot_expose(700, 5) + if(targloc == curloc) //Shooting something in the same turf target.bullet_act(src, target_zone) on_impact(target) @@ -177,7 +187,7 @@ return //roll to-hit - miss_modifier = max(15*(distance-2) - round(15*accuracy) + miss_modifier + round(15*target_mob.get_evasion()), 0) + miss_modifier = max(15*(distance-2) - accuracy + miss_modifier + target_mob.get_evasion(), 0) var/hit_zone = get_zone_with_miss_chance(def_zone, target_mob, miss_modifier, ranged_attack=(distance > 1 || original != target_mob)) //if the projectile hits a target we weren't originally aiming at then retain the chance to miss var/result = PROJECTILE_FORCE_MISS @@ -192,23 +202,14 @@ //hit messages if(silenced) - target_mob << "You've been hit in the [parse_zone(def_zone)] by \the [src]!" + to_chat(target_mob, "You've been hit in the [parse_zone(def_zone)] by \the [src]!") else visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter //admin logs if(!no_attack_log) - if(istype(firer, /mob)) - - var/attacker_message = "shot with \a [src.type]" - var/victim_message = "shot with \a [src.type]" - var/admin_message = "shot (\a [src.type])" - - admin_attack_log(firer, target_mob, attacker_message, victim_message, admin_message) - else - if(target_mob) // Sometimes the target_mob gets gibbed or something. - target_mob.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [target_mob]/[target_mob.ckey] with \a [src]" - msg_admin_attack("UNKNOWN shot [target_mob] ([target_mob.ckey]) with \a [src] (JMP)") + if(istype(firer, /mob) && istype(target_mob)) + add_attack_logs(firer,target_mob,"Shot with \a [src.type] projectile") //sometimes bullet_act() will want the projectile to continue flying if (result == PROJECTILE_CONTINUE) @@ -400,7 +401,7 @@ P.activate() /obj/item/projectile/proc/impact_effect(var/matrix/M) - if(ispath(tracer_type)) + if(ispath(tracer_type) && location) var/obj/effect/projectile/P = new impact_type(location.loc) if(istype(P)) @@ -425,6 +426,14 @@ return if(istype(A, /obj/structure/foamedmetal)) //Turrets can detect through foamed metal, but will have to blast through it. Similar to windows, if someone runs behind it, a person should probably just not shoot. return + if(istype(A, /obj/structure/girder)) //They see you there. + return + if(istype(A, /obj/structure/door_assembly)) //And through there. + return + if(istype(A, /obj/structure)) //Unanchored things you can shove around will still keep the turret or other firing at your position. Aim intent still functions. + var/obj/structure/S = A + if(!S.anchored) + return if(istype(A, /mob/living) || istype(A, /obj/mecha) || istype(A, /obj/vehicle)) result = 2 //We hit someone, return 1! return diff --git a/code/modules/projectiles/projectile/animate.dm b/code/modules/projectiles/projectile/animate.dm index c09b98a32b0..e88e6faa330 100644 --- a/code/modules/projectiles/projectile/animate.dm +++ b/code/modules/projectiles/projectile/animate.dm @@ -8,6 +8,7 @@ light_range = 2 light_power = 0.5 light_color = "#55AAFF" + combustion = FALSE /obj/item/projectile/animate/Bump(var/atom/change) if((istype(change, /obj/item) || istype(change, /obj/structure)) && !is_type_in_list(change, protected_objects)) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 32dce8e3b9e..9755f604ab0 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -1,6 +1,7 @@ /obj/item/projectile/beam name = "laser" icon_state = "laser" + fire_sound = 'sound/weapons/Laser.ogg' pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 40 damage_type = BURN @@ -21,7 +22,6 @@ /obj/item/projectile/beam/practice name = "laser" icon_state = "laser" - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 damage_type = BURN check_armour = "laser" @@ -32,6 +32,9 @@ icon_state = "laser" damage = 15 +/obj/item/projectile/beam/smalllaser + damage = 25 + /obj/item/projectile/beam/burstlaser damage = 30 armor_penetration = 10 @@ -44,6 +47,7 @@ /obj/item/projectile/beam/heavylaser name = "heavy laser" icon_state = "heavylaser" + fire_sound = 'sound/weapons/lasercannonfire.ogg' damage = 60 armor_penetration = 30 light_range = 3 @@ -62,6 +66,7 @@ /obj/item/projectile/beam/xray name = "xray beam" icon_state = "xray" + fire_sound = 'sound/weapons/eluger.ogg' damage = 25 armor_penetration = 50 light_color = "#00CC33" @@ -83,8 +88,9 @@ /obj/item/projectile/beam/pulse name = "pulse" icon_state = "u_laser" - damage = 50 - armor_penetration = 30 + fire_sound='sound/weapons/pulse.ogg' + damage = 100 //Badmin toy, don't care + armor_penetration = 100 light_color = "#0066FF" muzzle_type = /obj/effect/projectile/laser_pulse/muzzle @@ -99,6 +105,7 @@ /obj/item/projectile/beam/emitter name = "emitter beam" icon_state = "emitter" + fire_sound = 'sound/weapons/emitter.ogg' damage = 0 // The actual damage is computed in /code/modules/power/singularity/emitter.dm light_color = "#00CC33" @@ -109,13 +116,14 @@ /obj/item/projectile/beam/lastertag/blue name = "lasertag beam" icon_state = "bluelaser" - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 no_attack_log = 1 damage_type = BURN check_armour = "laser" light_color = "#0066FF" + combustion = FALSE + muzzle_type = /obj/effect/projectile/laser_blue/muzzle tracer_type = /obj/effect/projectile/laser_blue/tracer impact_type = /obj/effect/projectile/laser_blue/impact @@ -130,13 +138,14 @@ /obj/item/projectile/beam/lastertag/red name = "lasertag beam" icon_state = "laser" - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 no_attack_log = 1 damage_type = BURN check_armour = "laser" light_color = "#FF0D00" + combustion = FALSE + /obj/item/projectile/beam/lastertag/red/on_hit(var/atom/target, var/blocked = 0) if(istype(target, /mob/living/carbon/human)) var/mob/living/carbon/human/M = target @@ -147,12 +156,13 @@ /obj/item/projectile/beam/lastertag/omni//A laser tag bolt that stuns EVERYONE name = "lasertag beam" icon_state = "omnilaser" - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage = 0 damage_type = BURN check_armour = "laser" light_color = "#00C6FF" + combustion = FALSE + muzzle_type = /obj/effect/projectile/laser_omni/muzzle tracer_type = /obj/effect/projectile/laser_omni/tracer impact_type = /obj/effect/projectile/laser_omni/impact @@ -167,6 +177,7 @@ /obj/item/projectile/beam/sniper name = "sniper beam" icon_state = "xray" + fire_sound = 'sound/weapons/gauss_shoot.ogg' damage = 50 armor_penetration = 10 light_color = "#00CC33" @@ -178,12 +189,15 @@ /obj/item/projectile/beam/stun name = "stun beam" icon_state = "stun" + fire_sound = 'sound/weapons/Taser.ogg' nodamage = 1 taser_effect = 1 agony = 40 damage_type = HALLOSS light_color = "#FFFFFF" + combustion = FALSE + muzzle_type = /obj/effect/projectile/stun/muzzle tracer_type = /obj/effect/projectile/stun/tracer impact_type = /obj/effect/projectile/stun/impact diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index a7132fa43ba..36a93a89b0c 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -1,6 +1,7 @@ /obj/item/projectile/bullet name = "bullet" icon_state = "bullet" + fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' damage = 60 damage_type = BRUTE nodamage = 0 @@ -124,6 +125,7 @@ /* short-casing projectiles, like the kind used in pistols or SMGs */ /obj/item/projectile/bullet/pistol + fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' damage = 20 /obj/item/projectile/bullet/pistol/ap @@ -142,8 +144,17 @@ armor_penetration = -50 /obj/item/projectile/bullet/pistol/strong //revolvers and matebas + fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' damage = 60 +/obj/item/projectile/bullet/pistol/rubber/strong //"rubber" bullets for revolvers and matebas + fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' + damage = 10 + agony = 60 + embed_chance = 0 + sharp = 0 + check_armour = "melee" + /obj/item/projectile/bullet/pistol/rubber //"rubber" bullets name = "rubber bullet" damage = 5 @@ -156,6 +167,7 @@ /obj/item/projectile/bullet/shotgun name = "slug" + fire_sound = 'sound/weapons/gunshot/shotgun.ogg' damage = 50 armor_penetration = 15 @@ -171,6 +183,7 @@ //Overall less damage than slugs in exchange for more damage at very close range and more embedding /obj/item/projectile/bullet/pellet/shotgun name = "shrapnel" + fire_sound = 'sound/weapons/gunshot/shotgun.ogg' damage = 13 pellets = 6 range_step = 1 @@ -180,11 +193,14 @@ //EMP shotgun 'slug', it's basically a beanbag that pops a tiny emp when it hits. //Not currently used /obj/item/projectile/bullet/shotgun/ion name = "ion slug" + fire_sound = 'sound/weapons/Laser.ogg' damage = 15 embed_chance = 0 sharp = 0 check_armour = "melee" + combustion = FALSE + /obj/item/projectile/bullet/shotgun/ion/on_hit(var/atom/target, var/blocked = 0) ..() empulse(target, 0, 0, 0, 0) //Only affects what it hits @@ -194,10 +210,12 @@ /* "Rifle" rounds */ /obj/item/projectile/bullet/rifle + fire_sound = 'sound/weapons/gunshot/gunshot3.ogg' armor_penetration = 15 penetrating = 1 /obj/item/projectile/bullet/rifle/a762 + fire_sound = 'sound/weapons/gunshot/gunshot2.ogg' damage = 35 /obj/item/projectile/bullet/rifle/a762/ap @@ -232,6 +250,7 @@ SA_vulnerability = SA_ANIMAL /obj/item/projectile/bullet/rifle/a145 + fire_sound = 'sound/weapons/gunshot/sniper.ogg' damage = 80 stun = 3 weaken = 3 @@ -253,11 +272,12 @@ /obj/item/projectile/bullet/burstbullet name = "exploding bullet" + fire_sound = 'sound/effects/Explosion1.ogg' damage = 20 embed_chance = 0 edge = 1 -/obj/item/projectile/bullet/gyro/on_hit(var/atom/target, var/blocked = 0) +/obj/item/projectile/bullet/burstbullet/on_hit(var/atom/target, var/blocked = 0) if(isturf(target)) explosion(target, -1, 0, 2) ..() @@ -309,11 +329,14 @@ /obj/item/projectile/bullet/pistol/cap name = "cap" damage_type = HALLOSS + fire_sound = null damage = 0 nodamage = 1 embed_chance = 0 sharp = 0 + combustion = FALSE + /obj/item/projectile/bullet/pistol/cap/process() loc = null qdel(src) \ No newline at end of file diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm index 6f19b29bbb6..0beffe46a33 100644 --- a/code/modules/projectiles/projectile/change.dm +++ b/code/modules/projectiles/projectile/change.dm @@ -6,6 +6,8 @@ nodamage = 1 check_armour = "energy" + combustion = FALSE + /obj/item/projectile/change/on_hit(var/atom/change) wabbajack(change) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index d3bc093cacb..d5bae0dc228 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -10,6 +10,7 @@ /obj/item/projectile/energy/flash name = "chemical shell" icon_state = "bullet" + fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' damage = 5 kill_count = 15 //if the shell hasn't hit anything after travelling this far it just explodes. var/flash_range = 0 @@ -47,6 +48,7 @@ //blinds people like the flash round, but can also be used for temporary illumination /obj/item/projectile/energy/flash/flare + fire_sound = 'sound/weapons/gunshot/shotgun.ogg' damage = 10 flash_range = 1 brightness = 15 @@ -63,6 +65,7 @@ /obj/item/projectile/energy/electrode name = "electrode" icon_state = "spark" + fire_sound = 'sound/weapons/Gunshot.ogg' taser_effect = 1 agony = 40 light_range = 2 @@ -81,6 +84,7 @@ /obj/item/projectile/energy/declone name = "declone" icon_state = "declone" + fire_sound = 'sound/weapons/pulse3.ogg' nodamage = 1 damage_type = CLONE irradiate = 40 @@ -88,6 +92,7 @@ light_power = 0.5 light_color = "#33CC00" + combustion = FALSE /obj/item/projectile/energy/dart name = "dart" @@ -97,6 +102,7 @@ agony = 120 check_armour = "energy" + combustion = FALSE /obj/item/projectile/energy/bolt name = "bolt" @@ -106,7 +112,6 @@ agony = 40 stutter = 10 - /obj/item/projectile/energy/bolt/large name = "largebolt" damage = 20 @@ -119,6 +124,8 @@ agony = 10 check_armour = "bio" + combustion = FALSE + /obj/item/projectile/energy/neurotoxin name = "neurotoxic spit" icon_state = "neurotoxin" @@ -127,6 +134,8 @@ agony = 80 check_armour = "bio" + combustion = FALSE + /obj/item/projectile/energy/neurotoxin/toxic //New alien mob projectile to match the player-variant's projectiles. name = "neurotoxic spit" icon_state = "neurotoxin" @@ -138,6 +147,7 @@ /obj/item/projectile/energy/phoron name = "phoron bolt" icon_state = "energy" + fire_sound = 'sound/effects/stealthoff.ogg' damage = 20 damage_type = TOX irradiate = 20 @@ -145,9 +155,12 @@ light_power = 0.5 light_color = "#33CC00" + combustion = FALSE + /obj/item/projectile/energy/plasmastun name = "plasma pulse" icon_state = "plasma_stun" + fire_sound = 'sound/weapons/blaster.ogg' armor_penetration = 10 kill_count = 4 damage = 5 @@ -187,6 +200,7 @@ /obj/item/projectile/energy/blue_pellet name = "suppressive pellet" icon_state = "blue_pellet" + fire_sound = 'sound/weapons/Laser.ogg' damage = 5 armor_penetration = 75 pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE @@ -195,4 +209,10 @@ light_color = "#0000FF" embed_chance = 0 - muzzle_type = /obj/effect/projectile/pulse/muzzle \ No newline at end of file + muzzle_type = /obj/effect/projectile/pulse/muzzle + +/obj/item/projectile/energy/phase + kill_count = 4 + damage = 5 + SA_bonus_damage = 55 // 60 total on animals. + SA_vulnerability = SA_ANIMAL \ No newline at end of file diff --git a/code/modules/projectiles/projectile/force.dm b/code/modules/projectiles/projectile/force.dm index 71b7d34d042..550aab61133 100644 --- a/code/modules/projectiles/projectile/force.dm +++ b/code/modules/projectiles/projectile/force.dm @@ -5,6 +5,8 @@ damage = 20 check_armour = "energy" + combustion = FALSE + /obj/item/projectile/forcebolt/strong name = "force bolt" diff --git a/code/modules/projectiles/projectile/magnetic.dm b/code/modules/projectiles/projectile/magnetic.dm index b4a60a55d7c..ed16ea208d0 100644 --- a/code/modules/projectiles/projectile/magnetic.dm +++ b/code/modules/projectiles/projectile/magnetic.dm @@ -2,6 +2,7 @@ /obj/item/projectile/bullet/magnetic name = "rod" icon_state = "rod" + fire_sound = 'sound/weapons/railgun.ogg' damage = 65 stun = 1 weaken = 1 @@ -17,6 +18,7 @@ /obj/item/projectile/bullet/magnetic/flechette name = "flechette" icon_state = "flechette" + fire_sound = 'sound/weapons/rapidslice.ogg' damage = 20 armor_penetration = 100 diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 8c5d2cd11aa..f7ecddb0eb8 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -1,6 +1,7 @@ /obj/item/projectile/ion name = "ion bolt" icon_state = "ion" + fire_sound = 'sound/weapons/Laser.ogg' damage = 0 damage_type = BURN nodamage = 1 @@ -8,15 +9,29 @@ light_range = 2 light_power = 0.5 light_color = "#55AAFF" - var/pulse_range = 1 + combustion = FALSE + + var/sev1_range = 0 + var/sev2_range = 1 + var/sev3_range = 1 + var/sev4_range = 2 /obj/item/projectile/ion/on_hit(var/atom/target, var/blocked = 0) - empulse(target, pulse_range, pulse_range, pulse_range, pulse_range) + empulse(target, sev1_range, sev2_range, sev3_range, sev4_range) return 1 /obj/item/projectile/ion/small - pulse_range = 0 + sev1_range = -1 + sev2_range = 0 + sev3_range = 0 + sev4_range = 1 + +/obj/item/projectile/ion/pistol + sev1_range = 0 + sev2_range = 0 + sev3_range = 0 + sev4_range = 0 /obj/item/projectile/bullet/gyro name ="explosive bolt" @@ -27,12 +42,13 @@ edge = 1 /obj/item/projectile/bullet/gyro/on_hit(var/atom/target, var/blocked = 0) - explosion(target, -1, 0, 2) - return 1 + explosion(target, -1, 0, 2) + ..() /obj/item/projectile/temp name = "freeze beam" icon_state = "ice_2" + fire_sound = 'sound/weapons/pulse3.ogg' damage = 0 damage_type = BURN pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE @@ -43,6 +59,8 @@ light_power = 0.5 light_color = "#55AAFF" + combustion = FALSE + /obj/item/projectile/temp/on_hit(atom/target, blocked = FALSE) ..() if(isliving(target)) @@ -72,6 +90,8 @@ name = "heat beam" target_temperature = 1000 + combustion = TRUE + /obj/item/projectile/meteor name = "meteor" icon = 'icons/obj/meteor.dmi' @@ -105,6 +125,7 @@ /obj/item/projectile/energy/floramut name = "alpha somatoray" icon_state = "energy" + fire_sound = 'sound/effects/stealthoff.ogg' damage = 0 damage_type = TOX nodamage = 1 @@ -113,6 +134,8 @@ light_power = 0.5 light_color = "#33CC00" + combustion = FALSE + /obj/item/projectile/energy/floramut/on_hit(var/atom/target, var/blocked = 0) var/mob/living/M = target if(ishuman(target)) @@ -121,8 +144,9 @@ if(prob(15)) M.apply_effect((rand(30,80)),IRRADIATE) M.Weaken(5) + var/datum/gender/TM = gender_datums[M.get_visible_gender()] for (var/mob/V in viewers(src)) - V.show_message("[M] writhes in pain as \his vacuoles boil.", 3, "You hear the crunching of leaves.", 2) + V.show_message("[M] writhes in pain as [TM.his] vacuoles boil.", 3, "You hear the crunching of leaves.", 2) if(prob(35)) // for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan // V.show_message("[M] is mutated by the radiation beam.", 3, " You hear the snapping of twigs.", 2) @@ -147,6 +171,7 @@ /obj/item/projectile/energy/floramut/gene name = "gamma somatoray" icon_state = "energy2" + fire_sound = 'sound/effects/stealthoff.ogg' damage = 0 damage_type = TOX nodamage = 1 @@ -156,6 +181,7 @@ /obj/item/projectile/energy/florayield name = "beta somatoray" icon_state = "energy2" + fire_sound = 'sound/effects/stealthoff.ogg' damage = 0 damage_type = TOX nodamage = 1 @@ -179,6 +205,8 @@ /obj/item/projectile/beam/mindflayer name = "flayer ray" + combustion = FALSE + /obj/item/projectile/beam/mindflayer/on_hit(var/atom/target, var/blocked = 0) if(ishuman(target)) var/mob/living/carbon/human/M = target @@ -201,6 +229,8 @@ damage_type = HALLOSS muzzle_type = null + combustion = FALSE + /obj/item/projectile/bola/on_hit(var/atom/target, var/blocked = 0) if(ishuman(target)) var/mob/living/carbon/human/M = target @@ -218,6 +248,8 @@ damage_type = BRUTE muzzle_type = null + combustion = FALSE + /obj/item/projectile/webball/on_hit(var/atom/target, var/blocked = 0) if(isturf(target.loc)) var/obj/effect/spider/stickyweb/W = locate() in get_turf(target) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index a8b7d1fde14..3587e2f36ae 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -68,6 +68,10 @@ user.drop_item() B.loc = src user << "You add \the [loaded_pill_bottle] into the dispenser slot!" + + else if(default_unfasten_wrench(user, B, 20)) + return + return /obj/machinery/chem_master/attack_hand(mob/user as mob) @@ -277,7 +281,6 @@ name = "All-In-One Grinder" icon = 'icons/obj/kitchen.dmi' icon_state = "juicer1" - layer = 2.9 density = 0 anchored = 0 use_power = 1 diff --git a/code/modules/reagents/Chemistry-Metabolism.dm b/code/modules/reagents/Chemistry-Metabolism.dm index 74ef2d47308..30be9f2d1e3 100644 --- a/code/modules/reagents/Chemistry-Metabolism.dm +++ b/code/modules/reagents/Chemistry-Metabolism.dm @@ -1,21 +1,34 @@ /datum/reagents/metabolism var/metabolism_class //CHEM_TOUCH, CHEM_INGEST, or CHEM_BLOOD + var/metabolism_speed = 1 // Multiplicative, 1 is full speed, 0.5 is half, etc. var/mob/living/carbon/parent -/datum/reagents/metabolism/New(var/max = 100, mob/living/carbon/parent_mob, var/met_class) +/datum/reagents/metabolism/New(var/max = 100, mob/living/carbon/parent_mob, var/met_class = null) ..(max, parent_mob) - - metabolism_class = met_class + + if(met_class) + metabolism_class = met_class if(istype(parent_mob)) parent = parent_mob /datum/reagents/metabolism/proc/metabolize() - + var/metabolism_type = 0 //non-human mobs if(ishuman(parent)) var/mob/living/carbon/human/H = parent metabolism_type = H.species.reagent_tag - + for(var/datum/reagent/current in reagent_list) - current.on_mob_life(parent, metabolism_type, metabolism_class) - update_total() \ No newline at end of file + current.on_mob_life(parent, metabolism_type, src) + update_total() + +// "Specialized" metabolism datums +/datum/reagents/metabolism/bloodstream + metabolism_class = CHEM_BLOOD + +/datum/reagents/metabolism/ingested + metabolism_class = CHEM_INGEST + metabolism_speed = 0.5 + +/datum/reagents/metabolism/touch + metabolism_class = CHEM_TOUCH \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index fe480ed5749..ce7227ce46f 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -57,12 +57,17 @@ /datum/reagent/proc/touch_turf(var/turf/T, var/amount) // Cleaner cleaning, lube lubbing, etc, all go here return -/datum/reagent/proc/on_mob_life(var/mob/living/carbon/M, var/alien, var/location) // Currently, on_mob_life is called on carbons. Any interaction with non-carbon mobs (lube) will need to be done in touch_mob. +/datum/reagent/proc/on_mob_life(var/mob/living/carbon/M, var/alien, var/datum/reagents/metabolism/location) // Currently, on_mob_life is called on carbons. Any interaction with non-carbon mobs (lube) will need to be done in touch_mob. if(!istype(M)) return if(!affects_dead && M.stat == DEAD) return + if(!istype(location)) + return + + var/datum/reagents/metabolism/active_metab = location var/removed = metabolism + if(!mrate_static == TRUE) // Modifiers for(var/datum/modifier/mod in M.modifiers) @@ -70,23 +75,25 @@ removed *= mod.metabolism_percent // Species removed *= M.species.metabolic_rate + // Metabolism + removed *= active_metab.metabolism_speed - if(ingest_met && (location == CHEM_INGEST)) + if(ingest_met && (active_metab.metabolism_class == CHEM_INGEST)) removed = ingest_met - if(touch_met && (location == CHEM_TOUCH)) + if(touch_met && (active_metab.metabolism_class == CHEM_TOUCH)) removed = touch_met removed = min(removed, volume) max_dose = max(volume, max_dose) dose = min(dose + removed, max_dose) if(removed >= (metabolism * 0.1) || removed >= 0.1) // If there's too little chemical, don't affect the mob, just remove it - switch(location) + switch(active_metab.metabolism_class) if(CHEM_BLOOD) affect_blood(M, alien, removed) if(CHEM_INGEST) affect_ingest(M, alien, removed) if(CHEM_TOUCH) affect_touch(M, alien, removed) - if(overdose && (volume > overdose) && (location != CHEM_TOUCH)) + if(overdose && (volume > overdose) && (active_metab.metabolism_class != CHEM_TOUCH)) overdose(M, alien, removed) remove_self(removed) return @@ -95,13 +102,13 @@ return /datum/reagent/proc/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - affect_blood(M, alien, removed * 0.5) + M.bloodstr.add_reagent(id, removed) return /datum/reagent/proc/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) return -/datum/reagent/proc/overdose(var/mob/living/carbon/M, var/alien, var/removed) // Overdose effect. Doesn't happen instantly. +/datum/reagent/proc/overdose(var/mob/living/carbon/M, var/alien, var/removed) // Overdose effect. if(alien == IS_DIONA) return if(ishuman(M)) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm index 6e3c0781f60..3cf83d5185a 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm @@ -1,5 +1,5 @@ /datum/reagent/blood - data = new/list("donor" = null, "viruses" = null, "species" = "Human", "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, "antibodies" = list()) + data = new/list("donor" = null, "viruses" = null, "species" = SPECIES_HUMAN, "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, "antibodies" = list()) name = "Blood" id = "blood" taste_description = "iron" @@ -160,6 +160,18 @@ L.adjust_fire_stacks(-(amount / 5)) remove_self(needed) +/datum/reagent/water/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_SLIME) + M.adjustToxLoss(6 * removed) + else + ..() + +/datum/reagent/water/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_SLIME) + M.adjustToxLoss(6 * removed) + else + ..() + /datum/reagent/fuel name = "Welding fuel" id = "fuel" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm index 448077ccc53..f844407d3cc 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -64,6 +64,9 @@ taste_description = "pure alcohol" reagent_state = LIQUID color = "#404030" + + ingest_met = REM + var/nutriment_factor = 0 var/strength = 10 // This is, essentially, units between stages - the lower, the stronger. Less fine tuning, more clarity. var/toxicity = 1 diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 4edb930cdd6..853fe1cab02 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -7,6 +7,7 @@ taste_mult = 4 reagent_state = SOLID metabolism = REM * 4 + ingest_met = REM * 4 var/nutriment_factor = 30 // Per unit var/injectable = 0 color = "#664330" @@ -252,6 +253,7 @@ reagent_state = SOLID color = "#FFFFFF" overdose = REAGENTS_OVERDOSE + ingest_met = REM /datum/reagent/blackpepper name = "Black Pepper" @@ -259,6 +261,7 @@ description = "A powder ground from peppercorns. *AAAACHOOO*" taste_description = "pepper" reagent_state = SOLID + ingest_met = REM color = "#000000" /datum/reagent/enzyme @@ -278,6 +281,7 @@ taste_description = "mint" taste_mult = 1.5 reagent_state = LIQUID + ingest_met = REM color = "#B31008" /datum/reagent/frostoil/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) @@ -305,6 +309,7 @@ taste_description = "hot peppers" taste_mult = 1.5 reagent_state = LIQUID + ingest_met = REM color = "#B31008" /datum/reagent/capsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) @@ -338,6 +343,7 @@ taste_mult = 10 reagent_state = LIQUID touch_met = 50 // Get rid of it quickly + ingest_met = REM color = "#B31008" /datum/reagent/condensedcapsaicin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) @@ -421,6 +427,7 @@ name = "Drink" id = "drink" description = "Uh, some kind of drink." + ingest_met = REM reagent_state = LIQUID color = "#E78108" var/nutrition = 0 // Per unit @@ -443,6 +450,9 @@ if(adj_temp < 0 && M.bodytemperature > 310) M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT)) +/datum/reagent/drink/overdose(var/mob/living/carbon/M, var/alien) //Add special interactions here in the future if desired. + ..() + // Juices /datum/reagent/drink/juice/banana @@ -1037,11 +1047,14 @@ adj_dizzy = -5 adj_drowsy = -3 adj_sleepy = -2 - overdose = 45 + glass_name = "Coffee Milkshake" glass_desc = "An energizing coffee milkshake, perfect for hot days at work.." +/datum/reagent/drink/milkshake/coffeeshake/overdose(var/mob/living/carbon/M, var/alien) + M.make_jittery(5) + /datum/reagent/drink/rewriter name = "Rewriter" id = "rewriter" @@ -1605,6 +1618,16 @@ glass_name = "wine" glass_desc = "A very classy looking drink." +/datum/reagent/ethanol/wine/champagne + name = "Champagne" + id = "champagne" + description = "A sparkling wine made with Pinot Noir, Pinot Meunier, and Chardonnay." + taste_description = "fizzy bitter sweetness" + color = "#D1B166" + + glass_name = "champagne" + glass_desc = "An even classier looking drink." + /datum/reagent/ethanol/cider name = "Cider" @@ -2827,4 +2850,4 @@ adj_temp = -5 glass_name = "Mint Julep" - glass_desc = "Minty and refreshing, perfect for a hot day." \ No newline at end of file + glass_desc = "Minty and refreshing, perfect for a hot day." diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index fbca78e07da..d753d045d6e 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -461,11 +461,11 @@ if(M.ingested) for(var/datum/reagent/R in M.ingested.reagent_list) if(istype(R, /datum/reagent/ethanol)) - R.dose = max(R.dose - removed * 5, 0) + R.remove_self(removed * 5) if(M.bloodstr) for(var/datum/reagent/R in M.bloodstr.reagent_list) if(istype(R, /datum/reagent/ethanol)) - R.dose = max(R.dose - removed * 15, 0) + R.remove_self(removed * 15) /datum/reagent/hyronalin name = "Hyronalin" @@ -509,11 +509,46 @@ taste_description = "bitterness" reagent_state = LIQUID color = "#C1C1C1" - metabolism = REM * 0.05 + metabolism = REM * 0.25 mrate_static = TRUE overdose = REAGENTS_OVERDOSE scannable = 1 +/datum/reagent/spaceacillin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + ..() + M.add_chemical_effect(CE_ANTIBIOTIC, dose >= overdose ? ANTIBIO_OD : ANTIBIO_NORM) + +/datum/reagent/corophizine + name = "Corophizine" + id = "corophizine" + description = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." + taste_description = "burnt toast" + reagent_state = LIQUID + color = "#FFB0B0" + mrate_static = TRUE + overdose = 10 + scannable = 1 + +/datum/reagent/corophizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + ..() + M.add_chemical_effect(CE_ANTIBIOTIC, ANTIBIO_SUPER) + + //Based roughly on Levofloxacin's rather severe side-effects + if(prob(20)) + M.Confuse(5) + if(prob(20)) + M.Weaken(5) + if(prob(20)) + M.make_dizzy(5) + if(prob(20)) + M.hallucination = max(M.hallucination, 10) + + //One of the levofloxacin side effects is 'spontaneous tendon rupture', which I'll immitate here. 1:1000 chance, so, pretty darn rare. + if(ishuman(M) && rand(1,1000) == 1) + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/eo = pick(H.organs) //Misleading variable name, 'organs' is only external organs + eo.fracture() + /datum/reagent/sterilizine name = "Sterilizine" id = "sterilizine" @@ -562,6 +597,7 @@ name = "Rezadone" id = "rezadone" description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." + taste_description = "bitterness" reagent_state = SOLID color = "#669900" overdose = REAGENTS_OVERDOSE @@ -654,27 +690,6 @@ M << "Your mind breaks apart..." M.hallucination += 200 -/datum/reagent/rezadone - name = "Rezadone" - id = "rezadone" - description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." - taste_description = "bitterness" - reagent_state = SOLID - color = "#669900" - overdose = REAGENTS_OVERDOSE - scannable = 1 - -/datum/reagent/rezadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) - M.adjustCloneLoss(-20 * removed) - M.adjustOxyLoss(-2 * removed) - M.heal_organ_damage(20 * removed, 20 * removed) - M.adjustToxLoss(-20 * removed) - if(dose > 3) - M.status_flags &= ~DISFIGURED - if(dose > 10) - M.make_dizzy(5) - M.make_jittery(5) - /datum/reagent/qerr_quem name = "Qerr-quem" id = "querr_quem" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm index c5549594353..6c83b0e26da 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm @@ -49,6 +49,60 @@ id = "crayon_dust_brown" color = "#846F35" +/datum/reagent/marker_ink + name = "Marker ink" + id = "marker_ink" + description = "Intensely coloured ink used in markers." + taste_description = "extremely bitter" + reagent_state = LIQUID + color = "#888888" + overdose = 5 + +/datum/reagent/marker_ink/black + name = "Black marker ink" + id = "marker_ink_black" + color = "#000000" + +/datum/reagent/marker_ink/red + name = "Red marker ink" + id = "marker_ink_red" + color = "#FE191A" + +/datum/reagent/marker_ink/orange + name = "Orange marker ink" + id = "marker_ink_orange" + color = "#FFBE4F" + +/datum/reagent/marker_ink/yellow + name = "Yellow marker ink" + id = "marker_ink_yellow" + color = "#FDFE7D" + +/datum/reagent/marker_ink/green + name = "Green marker ink" + id = "marker_ink_green" + color = "#18A31A" + +/datum/reagent/marker_ink/blue + name = "Blue marker ink" + id = "marker_ink_blue" + color = "#247CFF" + +/datum/reagent/marker_ink/purple + name = "Purple marker ink" + id = "marker_ink_purple" + color = "#CC0099" + +/datum/reagent/marker_ink/grey //Mime + name = "Grey marker ink" + id = "marker_ink_grey" + color = "#808080" + +/datum/reagent/marker_ink/brown //Rainbow + name = "Brown marker ink" + id = "marker_ink_brown" + color = "#846F35" + /datum/reagent/paint name = "Paint" id = "paint" @@ -319,6 +373,8 @@ M.update_inv_wear_mask(0) if(ishuman(M)) var/mob/living/carbon/human/H = M + if(alien == IS_SLIME) + M.adjustToxLoss(rand(5, 10)) if(H.head) if(H.head.clean_blood()) H.update_inv_head(0) @@ -336,6 +392,14 @@ return M.clean_blood() +/datum/reagent/space_cleaner/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_SLIME) + M.adjustToxLoss(6 * removed) + else + M.adjustToxLoss(3 * removed) + if(prob(5)) + M.vomit() + /datum/reagent/lube // TODO: spraying on borgs speeds them up name = "Space Lube" id = "lube" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 7dd4bbeadda..6e79670459a 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -417,6 +417,14 @@ required_reagents = list("cryptobiolin" = 1, "inaprovaline" = 1) result_amount = 2 +/datum/chemical_reaction/corophizine + name = "Corophizine" + id = "corophizine" + result = "corophizine" + required_reagents = list("spaceacillin" = 1, "carbon" = 1, "phoron" = 0.1) + catalysts = list("phoron" = 5) + result_amount = 2 + /datum/chemical_reaction/imidazoline name = "imidazoline" id = "imidazoline" @@ -868,7 +876,7 @@ name = "Red paint" id = "red_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_red" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_red" = 1) result_amount = 5 /datum/chemical_reaction/red_paint/send_data() @@ -878,7 +886,7 @@ name = "Orange paint" id = "orange_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_orange" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_orange" = 1) result_amount = 5 /datum/chemical_reaction/orange_paint/send_data() @@ -888,7 +896,7 @@ name = "Yellow paint" id = "yellow_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_yellow" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_yellow" = 1) result_amount = 5 /datum/chemical_reaction/yellow_paint/send_data() @@ -898,7 +906,7 @@ name = "Green paint" id = "green_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_green" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_green" = 1) result_amount = 5 /datum/chemical_reaction/green_paint/send_data() @@ -908,7 +916,7 @@ name = "Blue paint" id = "blue_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_blue" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_blue" = 1) result_amount = 5 /datum/chemical_reaction/blue_paint/send_data() @@ -918,7 +926,7 @@ name = "Purple paint" id = "purple_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_purple" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_purple" = 1) result_amount = 5 /datum/chemical_reaction/purple_paint/send_data() @@ -928,7 +936,7 @@ name = "Grey paint" id = "grey_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_grey" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_grey" = 1) result_amount = 5 /datum/chemical_reaction/grey_paint/send_data() @@ -938,7 +946,7 @@ name = "Brown paint" id = "brown_paint" result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_brown" = 1) + required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_brown" = 1) result_amount = 5 /datum/chemical_reaction/brown_paint/send_data() @@ -2210,9 +2218,8 @@ name = "Deuterium" id = "deuterium" result = null - required_reagents = list("water" = 10) - catalysts = list("hydrophoron" = 5) - result_amount = 1 + required_reagents = list("hydrophoron" = 5, "water" = 10) + result_amount = 15 /datum/chemical_reaction/deuterium/on_reaction(var/datum/reagents/holder, var/created_volume) var/turf/T = get_turf(holder.my_atom) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index fc89bab93da..b870a55902b 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -62,10 +62,7 @@ return 1 var/contained = reagentlist() - target.attack_log += text("\[[time_stamp()]\] Has been splashed with [name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to splash [target.name] ([target.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) splashed [target.name] ([target.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - + add_attack_logs(user,target,"Splashed with [src.name] containing [contained]") user.visible_message("[target] has been splashed with something by [user]!", "You splash the solution onto [target].") reagents.splash(target, reagents.total_volume) return 1 @@ -126,10 +123,7 @@ other_feed_message_finish(user, target) var/contained = reagentlist() - target.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Fed [name] by [target.name] ([target.ckey]). Reagents: [contained]") - msg_admin_attack("[key_name(user)] fed [key_name(target)] with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - + add_attack_logs(user,target,"Fed from [src.name] containing [contained]") reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST) feed_sound(user) return 1 diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 33bea945ec9..d5a1f0571a5 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -88,7 +88,7 @@ var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) M.reagents.add_reagent(reagent_ids[mode], t) reagent_volumes[reagent_ids[mode]] -= t - admin_inject_log(user, M, src, reagent_ids[mode], t) + add_attack_logs(user, M, "Borg injected with [reagent_ids[mode]]") user << "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining." return diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index f15c2faf3f0..ee551696cfd 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -62,12 +62,8 @@ user.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", "You transfer [trans] units of the solution.") return - var/mob/living/M = target var/contained = reagentlist() - M.attack_log += text("\[[time_stamp()]\] Has been squirted with [name] by [user.name] ([user.ckey]). Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to squirt [M.name] ([M.key]). Reagents: [contained]") - msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") - + add_attack_logs(user,target,"Used [src.name] containing [contained]") trans += reagents.trans_to_mob(target, min(amount_per_transfer_from_this, reagents.total_volume)/2, CHEM_INGEST) //Half injected, half ingested trans += reagents.trans_to_mob(target, min(amount_per_transfer_from_this, reagents.total_volume), CHEM_BLOOD) //I guess it gets into the bloodstream through the eyes or something diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index 72d121fb8b8..0a09b22fe98 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -540,3 +540,12 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/sake/New() ..() reagents.add_reagent("sake", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne + name = "Gilthari Luxury Champagne" + desc = "For those special occassions." + icon_state = "champagne" + +/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne/New() + ..() + reagents.add_reagent("champagne", 100) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/lunch.dm b/code/modules/reagents/reagent_containers/food/lunch.dm index 41119d1d6b3..b1aab6de8c6 100644 --- a/code/modules/reagents/reagent_containers/food/lunch.dm +++ b/code/modules/reagents/reagent_containers/food/lunch.dm @@ -59,7 +59,7 @@ var/list/lunchables_drink_reagents_ = list(/datum/reagent/drink/nothing, /datum/reagent/drink/hell_ramen, /datum/reagent/drink/hot_ramen, /datum/reagent/drink/soda/nuka_cola) - + // This default list is a bit different, it contains items we don't want var/list/lunchables_ethanol_reagents_ = list(/datum/reagent/ethanol/acid_spit, diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 3533ad5b0c3..3a7cec0213d 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -48,7 +48,7 @@ return /obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone) - if(!reagents.total_volume) + if(reagents && !reagents.total_volume) user << "None of [src] left!" user.drop_from_inventory(src) qdel(src) @@ -105,9 +105,8 @@ user.setClickCooldown(user.get_attack_speed(src)) if(!do_mob(user, M)) return - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") - msg_admin_attack("[key_name(user)] fed [key_name(M)] with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)])") + //Do we really care about this + add_attack_logs(user,M,"Fed with [src.name] containing [reagentlist(src)]", admin_notify = FALSE) user.visible_message("[user] feeds [M] [src].") @@ -376,6 +375,29 @@ reagents.add_reagent("coco", 2) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece + name = "chocolate piece" + desc = "A luscious milk chocolate piece filled with gooey caramel." + icon_state = "chocolatepiece" + filling_color = "#7D5F46" + center_of_mass = list("x"=15, "y"=15) + nutriment_amt = 1 + nutriment_desc = list("chocolate" = 3, "caramel" = 2, "lusciousness" = 1) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white + name = "white chocolate piece" + desc = "A creamy white chocolate piece drizzled in milk chocolate." + icon_state = "chocolatepiece_white" + filling_color = "#E2DAD3" + nutriment_desc = list("white chocolate" = 3, "creaminess" = 1) + +/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + name = "chocolate truffle" + desc = "A bite-sized milk chocolate truffle that could buy anyone's love." + icon_state = "chocolatepiece_truffle" + nutriment_desc = list("chocolate" = 3, "undying devotion" = 3) + /obj/item/weapon/reagent_containers/food/snacks/chocolateegg name = "Chocolate Egg" desc = "Such sweet, fattening food." @@ -1772,11 +1794,19 @@ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Unwrap(mob/user as mob) icon_state = "monkeycube" desc = "Just add water!" - user << "You unwrap the cube." + to_chat(user, "You unwrap the cube.") wrapped = 0 flags |= OPENCONTAINER return +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/On_Consume(var/mob/M) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + H.visible_message("A screeching creature bursts out of [M]'s chest!") + var/obj/item/organ/external/organ = H.get_organ(BP_TORSO) + organ.take_damage(50, 0, 0, "Animal escaping the ribcage") + Expand() + /obj/item/weapon/reagent_containers/food/snacks/monkeycube/on_reagent_change() if(reagents.has_reagent("water")) Expand() @@ -1974,7 +2004,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/onionrings - name = "Onion Soup" + name = "Onion Rings" desc = "Crispy rings." icon_state = "onionrings" trash = /obj/item/trash/plate @@ -2445,9 +2475,9 @@ /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread name = "meatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman." + desc = "The culinary base of every self-respecting eloquent gentleman." icon_state = "meatbread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled + slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/meatbread slices_num = 5 filling_color = "#FF7575" center_of_mass = list("x"=19, "y"=9) @@ -2459,7 +2489,7 @@ reagents.add_reagent("protein", 20) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled +/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread name = "meatbread slice" desc = "A slice of delicious meatbread." icon_state = "meatbreadslice" @@ -2469,14 +2499,14 @@ center_of_mass = list("x"=16, "y"=16) whole_path = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread -/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled/filled +/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled filled = TRUE /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread name = "xenomeatbread loaf" desc = "The culinary base of every self-respecting eloquent gentleman. Extra Heretical." icon_state = "xenomeatbread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread/filled + slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread slices_num = 5 filling_color = "#8AFF75" center_of_mass = list("x"=16, "y"=9) @@ -2488,7 +2518,7 @@ reagents.add_reagent("protein", 20) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread/filled +/obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread name = "xenomeatbread slice" desc = "A slice of delicious meatbread. Extra Heretical." icon_state = "xenobreadslice" @@ -2499,7 +2529,7 @@ whole_path = /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread -/obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread/filled/filled +/obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread/filled filled = TRUE /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread @@ -3494,9 +3524,9 @@ ..() // potato + knife = raw sticks -/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/material/knife)) - new /obj/item/weapon/reagent_containers/food/snacks/rawsticks(src) +/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(obj/item/weapon/W, mob/user) + if(seed && seed.kitchen_tag && seed.kitchen_tag == "potato" && istype(W,/obj/item/weapon/material/knife)) + new /obj/item/weapon/reagent_containers/food/snacks/rawsticks(get_turf(src)) user << "You cut the potato." qdel(src) else diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index a05a2fc1128..316311c7942 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -266,6 +266,18 @@ user.drop_from_inventory(src) qdel(src) return + else if(istype(D, /obj/item/stack/material) && D.get_material_name() == DEFAULT_WALL_MATERIAL) + var/obj/item/stack/material/M = D + if (M.use(1)) + var/obj/item/weapon/secbot_assembly/edCLN_assembly/B = new /obj/item/weapon/secbot_assembly/edCLN_assembly + B.loc = get_turf(src) + to_chat(user, "You armed the robot frame.") + if (user.get_inactive_hand()==src) + user.remove_from_mob(src) + user.put_in_inactive_hand(B) + qdel(src) + else + to_chat(user, "You need one sheet of metal to arm the robot frame.") else if(istype(D, /obj/item/weapon/mop)) if(reagents.total_volume < 1) to_chat(user, "\The [src] is empty!") @@ -273,7 +285,6 @@ reagents.trans_to_obj(D, 5) to_chat(user, "You wet \the [D] in \the [src].") playsound(loc, 'sound/effects/slosh.ogg', 25, 1) - return else return ..() diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 604eaa6a3a6..e38d07dcd29 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -15,8 +15,6 @@ flags = OPENCONTAINER slot_flags = SLOT_BELT preserve_item = 1 - var/reusable = 1 - var/used = 0 var/filled = 0 var/list/filled_reagents = list() @@ -31,7 +29,7 @@ /obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M as mob, mob/user as mob) if(!reagents.total_volume) - user << "[src] is empty." + to_chat(user, "[src] is empty.") return if (!istype(M)) return @@ -40,24 +38,29 @@ if(istype(H)) var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) if(!affected) - user << "\The [H] is missing that limb!" + to_chat(user, "\The [H] is missing that limb!") return else if(affected.robotic >= ORGAN_ROBOT) - user << "You cannot inject a robotic limb." + to_chat(user, "You cannot inject a robotic limb.") return + if(!H.stat) + if(H != user) + if(H.a_intent != I_HELP) + to_chat(user, "[H] is resisting your attempt to inject them with \the [src].") + to_chat(H, " [user] is trying to inject you with \the [src]!") + if(!do_after(user, 30)) + return + user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) - user << "You inject [M] with [src]." - M << "You feel a tiny prick!" + to_chat(user, "You inject [M] with \the [src].") + to_chat(M, "You feel a tiny prick!") if(M.reagents) var/contained = reagentlist() var/trans = reagents.trans_to_mob(M, amount_per_transfer_from_this, CHEM_BLOOD) - admin_inject_log(user, M, src, contained, trans) - user << "[trans] units injected. [reagents.total_volume] units remaining in \the [src]." - - if(!reusable && !used) - used = !used + add_attack_logs(user,M,"Injected with [src.name] containing [contained], trasferred [trans] units") + to_chat(user, "[trans] units injected. [reagents.total_volume] units remaining in \the [src].") return //A vial-loaded hypospray. Cartridge-based! @@ -110,15 +113,14 @@ user << "\The [src] already has a vial." else ..() - + /obj/item/weapon/reagent_containers/hypospray/autoinjector name = "autoinjector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel." - icon_state = "autoinjector" - item_state = "autoinjector" + icon_state = "blue" + item_state = "blue" amount_per_transfer_from_this = 5 volume = 5 - reusable = 0 filled = 1 filled_reagents = list("inaprovaline" = 5) preserve_item = 0 @@ -131,33 +133,35 @@ filled = 0 filled_reagents = list() -/obj/item/weapon/reagent_containers/hypospray/autoinjector/used - used = 1 - filled_reagents = list() +/obj/item/weapon/reagent_containers/hypospray/autoinjector/used/New() + ..() + flags &= ~OPENCONTAINER + icon_state = "[initial(icon_state)]0" /obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob) ..() - if(used) //Prevents autoinjectors to be refilled. + if(reagents.total_volume <= 0) //Prevents autoinjectors to be refilled. flags &= ~OPENCONTAINER update_icon() return /obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() - if(!used && reagents.reagent_list.len) + if(reagents.total_volume > 0) icon_state = "[initial(icon_state)]1" - else if(used) - icon_state = "[initial(icon_state)]0" else - icon_state = "[initial(icon_state)]2" + icon_state = "[initial(icon_state)]0" /obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user) - ..(user) + . = ..(user) if(reagents && reagents.reagent_list.len) - user << "It is currently loaded." - else if(used) - user << "It is spent." + to_chat(user, "It is currently loaded.") else - user << "It is currently unloaded." + to_chat(user, "It is spent.") + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/detox + name = "autoinjector (antitox)" + icon_state = "green" + filled_reagents = list("anti_toxin" = 5) /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting name = "clotting agent" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index da834d06c39..40d8acc1ae1 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -59,9 +59,7 @@ user.visible_message("[user] forces [M] to swallow \the [src].") var/contained = reagentlist() - M.attack_log += text("\[[time_stamp()]\] Has been fed [name] by [key_name(user)] Reagents: [contained]") - user.attack_log += text("\[[time_stamp()]\] Fed [name] to [key_name(M)] Reagents: [contained]") - msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)") + add_attack_logs(user,M,"Fed a pill containing [contained]") if(reagents && reagents.total_volume) reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) @@ -80,8 +78,7 @@ return to_chat(user, "You dissolve \the [src] in [target].") - user.attack_log += text("\[[time_stamp()]\] Spiked \a [target] with a pill. Reagents: [reagentlist()]") - msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist()] (INTENT: [uppertext(user.a_intent)]) (JMP)") + add_attack_logs(user,null,"Spiked [target.name] with a pill containing [reagentlist()]") reagents.trans_to(target, reagents.total_volume) for(var/mob/O in viewers(2, user)) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 35deb6935fa..fea94f8f969 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -67,6 +67,7 @@ syringestab(target, user) return + var/injtime = time // Calculated 'true' injection time (as added to by hardsuits and whatnot), 66% of this goes to warmup, then every 33% after injects 5u switch(mode) if(SYRINGE_DRAW) if(!reagents.get_free_space()) @@ -169,9 +170,11 @@ to_chat(user, "You cannot inject a robotic limb.") return - if(ismob(target) && target != user) + var/cycle_time = injtime*0.33 //33% of the time slept between 5u doses + var/warmup_time = cycle_time //If the target is another mob, this gets overwritten - var/injtime = time //Injecting through a hardsuit takes longer due to needing to find a port. + if(ismob(target) && target != user) + warmup_time = injtime*0.66 // Otherwise 66% of the time is warmup if(istype(H)) if(H.wear_suit) @@ -181,32 +184,39 @@ return else if(isliving(target)) - var/mob/living/M = target if(!M.can_inject(user, 1)) return if(injtime == time) - user.visible_message("[user] is trying to inject [target] with [visible_name]!") + user.visible_message("[user] is trying to inject [target] with [visible_name]!","You begin injecting [target] with [visible_name].") else - user.visible_message("[user] begins hunting for an injection port on [target]'s suit!") + user.visible_message("[user] begins hunting for an injection port on [target]'s suit!","You begin hunting for an injection port on [target]'s suit!") - user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) + //The warmup + user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) + if(!do_after(user,warmup_time,target)) + return - if(!do_mob(user, target, injtime)) - return + var/trans = 0 + var/contained = reagentlist() + while(reagents.total_volume) + if(ismob(target)) + trans += reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD) + else + trans += reagents.trans_to_obj(target, amount_per_transfer_from_this) + update_icon() + if(!reagents.total_volume || !do_after(user,cycle_time,target)) + break - user.visible_message("[user] injects [target] with the syringe!") + if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT) + mode = SYRINGE_DRAW + update_icon() - var/trans - if(ismob(target)) - var/contained = reagentlist() - trans = reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD) - admin_inject_log(user, target, src, contained, trans) - else - trans = reagents.trans_to_obj(target, amount_per_transfer_from_this) if(trans) to_chat(user, "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.") + if(ismob(target)) + add_attack_logs(user,target,"Injected with [src.name] containing [contained], trasferred [trans] units") else to_chat(user, "The syringe is empty.") if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT) @@ -265,9 +275,7 @@ user.remove_from_mob(src) qdel(src) - user.attack_log += "\[[time_stamp()]\] Attacked [target.name] ([target.ckey]) with \the [src] (INTENT: HARM)." - target.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: HARM)." - msg_admin_attack("[key_name_admin(user)] attacked [key_name_admin(target)] with [src.name] (INTENT: HARM) (JMP)") + add_attack_logs(user,target,"Syringe harmclick") return @@ -283,10 +291,10 @@ var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand - var/contained_reagents = reagents.get_reagents() + var/contained = reagents.get_reagents() var/trans = reagents.trans_to_mob(target, syringestab_amount_transferred, CHEM_BLOOD) if(isnull(trans)) trans = 0 - admin_inject_log(user, target, src, contained_reagents, trans, violent=1) + add_attack_logs(user,target,"Stabbed with [src.name] containing [contained], trasferred [trans] units") break_syringe(target, user) /obj/item/weapon/reagent_containers/syringe/proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 2933ee97277..0048cd51948 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -6,7 +6,8 @@ icon_state = "conveyor0" name = "conveyor belt" desc = "A conveyor belt." - layer = 2 // so they appear under stuff + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER anchored = 1 circuit = /obj/item/weapon/circuitboard/conveyor var/operating = 0 // 1 if running forward, -1 if backwards, 0 if off diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 228d4296ed9..07c8429bfb0 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -130,9 +130,8 @@ for (var/mob/C in viewers(src)) C.show_message("[GM.name] has been placed in the [src] by [user].", 3) qdel(G) - usr.attack_log += text("\[[time_stamp()]\] Has placed [GM.name] ([GM.ckey]) in disposals.") - GM.attack_log += text("\[[time_stamp()]\] Has been placed in disposals by [usr.name] ([usr.ckey])") - msg_admin_attack("[usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit. (JMP)") + + add_attack_logs(user,GM,"Disposals dunked") return if(isrobot(user)) @@ -185,9 +184,7 @@ msg = "[user.name] stuffs [target.name] into the [src]!" user << "You stuff [target.name] into the [src]!" - user.attack_log += text("\[[time_stamp()]\] Has placed [target.name] ([target.ckey]) in disposals.") - target.attack_log += text("\[[time_stamp()]\] Has been placed in disposals by [user.name] ([user.ckey])") - msg_admin_attack("[user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit. (JMP)") + add_attack_logs(user,target,"Disposals dunked") else return if (target.client) @@ -666,7 +663,8 @@ var/dpdir = 0 // bitmask of pipe directions dir = 0 // dir will contain dominant direction for junction pipes var/health = 10 // health points 0-10 - layer = 2.3 // slightly lower than wires and other pipes + plane = PLATING_PLANE + layer = DISPOSAL_LAYER // slightly lower than wires and other pipes var/base_icon_state // initial icon state on map var/sortType = "" var/subtype = 0 diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 936330d00a8..dae6575577d 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -93,7 +93,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). if(materials[f] >= SHEET_MATERIAL_AMOUNT) var/path = getMaterialType(f) if(path) - var/obj/item/stack/S = new f(loc) + var/obj/item/stack/S = new path(loc) S.amount = round(materials[f] / SHEET_MATERIAL_AMOUNT) ..() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index dc4401f0bcc..f90fd1c313c 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -491,6 +491,15 @@ other types of metals and chemistry for reagents). build_path = /obj/item/roller/adv sort_string = "MBBAF" +/datum/design/item/medical/improved_analyzer + name = "improved health analyzer" + desc = "A prototype version of the regular health analyzer, able to distinguish the location of more serious injuries as well as accurately determine radiation levels." + id = "improved_analyzer" + req_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 1500) + build_path = /obj/item/device/healthanalyzer/improved + sort_string = "MBBAG" + /datum/design/item/implant materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) @@ -1781,9 +1790,33 @@ CIRCUITS BELOW name = "handheld translator" id = "translator" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000) + materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000) build_path = /obj/item/device/universal_translator - sort_string = "HABBA" + sort_string = "HABQA" + +/datum/design/item/ear_translator + name = "earpiece translator" + id = "ear_translator" + req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5) //It's been hella miniaturized. + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000, "gold" = 1000) + build_path = /obj/item/device/universal_translator/ear + sort_string = "HABQB" + +/datum/design/obj/item/device/xenoarch_multi_tool + name = "xenoarcheology multitool" + id = "xenoarch_multitool" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3) + build_path = /obj/item/device/xenoarch_multi_tool + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "uranium" = 500, "phoron" = 500) + sort_string = "HABQC" + +/datum/design/excavationdrill + name = "Excavation Drill" + id = "excavationdrill" + req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) + build_type = PROTOLATHE + materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + build_path = /obj/item/weapon/pickaxe/excavationdrill /* Uncomment if someone makes these buildable /datum/design/circuit/general_alert diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 5936c3c9bc3..8464c3efc31 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -259,6 +259,7 @@ name = "Cable Layer" id = "mech_cable_layer" build_path = /obj/item/mecha_parts/mecha_equipment/tool/cable_layer + materials = list(DEFAULT_WALL_MATERIAL = 7500, "plastic" = 1000) /datum/design/item/mecha/flaregun name = "Flare Launcher" @@ -305,6 +306,7 @@ /datum/design/item/mecha/weapon req_tech = list(TECH_COMBAT = 3) + materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 2000) // *** Weapon modules /datum/design/item/mecha/weapon/scattershot @@ -312,12 +314,14 @@ id = "mech_scattershot" req_tech = list(TECH_COMBAT = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot + materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 3000, "plastic" = 2000, "silver" = 2500) /datum/design/item/mecha/weapon/laser name = "CH-PS \"Immolator\" Laser" id = "mech_laser" req_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser + materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 3000, "plastic" = 2000) /datum/design/item/mecha/weapon/laser_rigged name = "Jury-Rigged Welder-Laser" @@ -331,18 +335,21 @@ id = "mech_laser_heavy" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 3000, "diamond" = 2000, "osmium" = 5000, "plastic" = 2000) /datum/design/item/mecha/weapon/ion name = "MK-IV Ion Heavy Cannon" id = "mech_ion" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion + materials = list(DEFAULT_WALL_MATERIAL = 15000, "uranium" = 2000, "silver" = 2000, "osmium" = 4500, "plastic" = 2000) /datum/design/item/mecha/weapon/grenade_launcher name = "SGL-6 Grenade Launcher" id = "mech_grenade_launcher" req_tech = list(TECH_COMBAT = 3) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang + materials = list(DEFAULT_WALL_MATERIAL = 7000, "gold" = 2000, "plastic" = 3000) /datum/design/item/mecha/weapon/clusterbang_launcher name = "SOP-6 Grenade Launcher" @@ -396,7 +403,7 @@ desc = "An exosuit-mounted rapid construction device." id = "mech_rcd" time = 120 - materials = list(DEFAULT_WALL_MATERIAL = 22500, "phoron" = 18750, "silver" = 15000, "gold" = 15000) + materials = list(DEFAULT_WALL_MATERIAL = 20000, "plastic" = 10000, "phoron" = 18750, "silver" = 15000, "gold" = 15000) req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4) build_path = /obj/item/mecha_parts/mecha_equipment/tool/rcd diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index db06449d18c..6872ffba6d2 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -110,11 +110,12 @@ won't update every console in existence) but it's more of a hassle to do. Also, files = new /datum/research(src) //Setup the research data holder. if(!id) for(var/obj/machinery/r_n_d/server/centcom/S in machines) - S.initialize() + S.update_connections() break /obj/machinery/computer/rdconsole/initialize() SyncRDevices() + . = ..() /obj/machinery/computer/rdconsole/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob) //Loading a disk into it. @@ -257,7 +258,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, qdel(S) linked_destroy.icon_state = "d_analyzer" else - if(!(I in linked_destroy.component_parts)) + if(I != linked_destroy.circuit && !(I in linked_destroy.component_parts)) qdel(I) linked_destroy.icon_state = "d_analyzer" diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 946910ce23d..f38d2798d3c 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -22,7 +22,6 @@ component_parts += new /obj/item/stack/cable_coil(src) component_parts += new /obj/item/stack/cable_coil(src) RefreshParts() - initialize(); /obj/machinery/r_n_d/server/Destroy() griefProtection() @@ -35,6 +34,7 @@ idle_power_usage /= max(1, tot_rating) /obj/machinery/r_n_d/server/initialize() + . = ..() if(!files) files = new /datum/research(src) var/list/temp_list @@ -123,8 +123,7 @@ name = "Central R&D Database" server_id = -1 -/obj/machinery/r_n_d/server/centcom/initialize() - ..() +/obj/machinery/r_n_d/server/centcom/proc/update_connections() var/list/no_id_servers = list() var/list/server_ids = list() for(var/obj/machinery/r_n_d/server/S in machines) diff --git a/code/modules/shieldgen/energy_field.dm b/code/modules/shieldgen/energy_field.dm index e558a2621e2..023d5fee95f 100644 --- a/code/modules/shieldgen/energy_field.dm +++ b/code/modules/shieldgen/energy_field.dm @@ -15,7 +15,8 @@ icon_state = "shield" alpha = 100 anchored = 1 - layer = 4.1 //just above mobs + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER density = 0 var/obj/machinery/shield_gen/my_gen = null var/strength = 0 // in Renwicks diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm index f1988ee8c65..1b8f2def84f 100644 --- a/code/modules/shieldgen/shield_capacitor.dm +++ b/code/modules/shieldgen/shield_capacitor.dm @@ -104,7 +104,7 @@ //see if we can connect to a power net. var/datum/powernet/PN - var/turf/T = src.loc + var/turf/T = get_turf(src) var/obj/structure/cable/C = T.get_cable_node() if (C) PN = C.powernet diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index 6100dda029e..aa504fd7a6a 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -20,27 +20,26 @@ var/target_field_strength = 10 var/max_field_strength = 10 var/time_since_fail = 100 - var/energy_conversion_rate = 0.0002 //how many renwicks per watt? Higher numbers equals more effiency. + var/energy_conversion_rate = 0.0006 //how many renwicks per watt? Higher numbers equals more effiency. var/z_range = 0 // How far 'up and or down' to extend the shield to, in z-levels. Only works on MultiZ supported z-levels. use_power = 0 //doesn't use APC power /obj/machinery/shield_gen/advanced name = "advanced bubble shield generator" desc = "A machine that generates a field of energy optimized for blocking meteorites when activated. This version comes with a more efficent shield matrix." - energy_conversion_rate = 0.0004 + energy_conversion_rate = 0.0012 -/obj/machinery/shield_gen/New() - spawn(1 SECOND) - if(anchored) - for(var/obj/machinery/shield_capacitor/cap in range(1, src)) - if(!cap.anchored) - continue - if(cap.owned_gen) - continue - if(get_dir(cap, src) == cap.dir) - capacitors |= cap - cap.owned_gen = src - ..() +/obj/machinery/shield_gen/initialize() + if(anchored) + for(var/obj/machinery/shield_capacitor/cap in range(1, src)) + if(!cap.anchored) + continue + if(cap.owned_gen) + continue + if(get_dir(cap, src) == cap.dir) + capacitors |= cap + cap.owned_gen = src + return ..() /obj/machinery/shield_gen/Destroy() qdel_null_list(field) diff --git a/code/modules/shieldgen/shield_gen_external.dm b/code/modules/shieldgen/shield_gen_external.dm index fa4702feeea..0c0c0addd8b 100644 --- a/code/modules/shieldgen/shield_gen_external.dm +++ b/code/modules/shieldgen/shield_gen_external.dm @@ -11,7 +11,7 @@ /obj/machinery/shield_gen/external/advanced name = "advanced hull shield generator" desc = "A machine that generates a field of energy optimized for blocking meteorites when activated. This version comes with a more efficent shield matrix." - energy_conversion_rate = 0.0004 + energy_conversion_rate = 0.0012 //Search for space turfs within range that are adjacent to a simulated turf. /obj/machinery/shield_gen/external/get_shielded_turfs_on_z_level(var/turf/gen_turf) diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm index b832e94dbd5..5555e68fe9a 100644 --- a/code/modules/shuttles/escape_pods.dm +++ b/code/modules/shuttles/escape_pods.dm @@ -84,7 +84,7 @@ name = "escape pod berth controller" /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/initialize() - ..() + . = ..() docking_program = new/datum/computer/file/embedded_program/docking/simple/escape_pod(src) program = docking_program diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 18795972d79..ed90e66c6a8 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -1,5 +1,5 @@ -//These lists are populated in /datum/shuttle_controller/New() -//Shuttle controller is instantiated in master_controller.dm. +//These lists are populated in /datum/controller/subsystem/shuttles/proc/setup_shuttle_docks() +//Shuttle subsystem is instantiated in shuttles.dm. //shuttle moving state defines are in setup.dm @@ -60,11 +60,13 @@ return TRUE // If you need an event to occur when the shuttle jumps in short or long jump, override this. -/datum/shuttle/proc/on_shuttle_departure() +/datum/shuttle/proc/on_shuttle_departure(var/area/origin) + origin.shuttle_departed() return // Similar to above, but when it finishes moving to the target. Short jump generally makes this occur immediately after the above proc. -/datum/shuttle/proc/on_shuttle_arrival() +/datum/shuttle/proc/on_shuttle_arrival(var/area/destination) + destination.shuttle_arrived() return /datum/shuttle/proc/short_jump(var/area/origin,var/area/destination) @@ -88,13 +90,13 @@ make_sounds(origin, HYPERSPACE_END) return //someone cancelled the launch - on_shuttle_departure() + on_shuttle_departure(origin) moving_status = SHUTTLE_INTRANSIT //shouldn't matter but just to be safe move(origin, destination) moving_status = SHUTTLE_IDLE - on_shuttle_arrival() + on_shuttle_arrival(destination) make_sounds(destination, HYPERSPACE_END) @@ -125,11 +127,12 @@ depart_time = world.time - on_shuttle_departure() - moving_status = SHUTTLE_INTRANSIT + on_shuttle_departure(departing) + move(departing, interim, direction) + interim.shuttle_arrived() var/last_progress_sound = 0 var/made_warning = FALSE @@ -144,10 +147,11 @@ create_warning_effect(destination) sleep(5) + interim.shuttle_departed() move(interim, destination, direction) moving_status = SHUTTLE_IDLE - on_shuttle_arrival() + on_shuttle_arrival(destination) make_sounds(destination, HYPERSPACE_END) @@ -200,7 +204,7 @@ throwy = T.y for(var/turf/T in dstturfs) - var/turf/D = locate(T.x, throwy - 1, 1) + var/turf/D = locate(T.x, throwy - 1, T.z) for(var/atom/movable/AM as mob|obj in T) AM.Move(D) @@ -253,4 +257,8 @@ if(HYPERSPACE_END) sound_to_play = 'sound/effects/shuttles/hyperspace_end.ogg' for(var/obj/machinery/door/E in A) //dumb, I know, but playing it on the engines doesn't do it justice - playsound(E, sound_to_play, 50, FALSE) \ No newline at end of file + playsound(E, sound_to_play, 50, FALSE) + +/datum/shuttle/proc/message_passengers(area/A, var/message) + for(var/mob/M in A) + M.show_message(message, 2) diff --git a/code/modules/shuttles/shuttle_arrivals.dm b/code/modules/shuttles/shuttle_arrivals.dm index d0f71d54b16..115d4476d2b 100644 --- a/code/modules/shuttles/shuttle_arrivals.dm +++ b/code/modules/shuttles/shuttle_arrivals.dm @@ -57,10 +57,6 @@ ..() // Do everything else -/datum/shuttle/proc/message_passengers(area/A, var/message) - for(var/mob/M in A) - M.show_message(message, 2) - /* /datum/shuttle/ferry/arrivals/current_dock_target() if(location) // If we're off station. diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 8eee5be9b78..90e51415354 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -16,6 +16,7 @@ var/autopilot_first_delay = null // If your want your shuttle to stay for a different amount of time for the first time, set this. var/can_rename = TRUE // Lets the pilot rename the shuttle. Only available once. category = /datum/shuttle/web_shuttle + var/list/obj/item/clothing/head/pilot/helmets /datum/shuttle/web_shuttle/New() current_area = locate(current_area) @@ -27,10 +28,12 @@ autopilot_delay = autopilot_first_delay if(!visible_name) visible_name = name + helmets = list() ..() /datum/shuttle/web_shuttle/Destroy() qdel(web_master) + helmets.Cut() return ..() @@ -42,16 +45,30 @@ ..() last_move = world.time +/datum/shuttle/web_shuttle/short_jump() + . = ..() + update_helmets() + +/datum/shuttle/web_shuttle/long_jump() + . = ..() + update_helmets() + /datum/shuttle/web_shuttle/on_shuttle_departure() + . = ..() web_master.on_shuttle_departure() + update_helmets() /datum/shuttle/web_shuttle/on_shuttle_arrival() + . = ..() web_master.on_shuttle_arrival() + update_helmets() /datum/shuttle/web_shuttle/proc/build_destinations() return /datum/shuttle/web_shuttle/process() + update_helmets() + if(moving_status == SHUTTLE_IDLE) if(web_master.autopath) // We're currently flying a path. autopilot_say("Continuing route.") @@ -92,6 +109,20 @@ autopilot_say("Taking off.") web_master.process_autopath() +/datum/shuttle/web_shuttle/proc/update_helmets() + for(var/helm in helmets) + if(!helm) + helmets -= helm + continue + var/obj/item/clothing/head/pilot/H = helm + if(!H.shuttle_comp || get_area(H.shuttle_comp) != get_area(H)) + H.shuttle_comp = null + H.audible_message("\The [H] pings as it loses it's connection with the ship.") + H.update_hud("discon") + helmets -= H + else + H.update_hud(moving_status) + /datum/shuttle/web_shuttle/proc/adjust_autopilot(on) if(on) if(autopilot) @@ -128,6 +159,44 @@ icon_state = "flightcomp_center" icon_keyboard = "flight_center_key" icon_screen = "flight_center" + var/list/my_doors //Should be list("id_tag" = "Pretty Door Name", ...) + var/list/my_sensors //Should be list("id_tag" = "Pretty Sensor Name", ...) + +/obj/machinery/computer/shuttle_control/web/initialize() + . = ..() + var/area/my_area = get_area(src) + if(my_doors) + var/list/find_doors = my_doors + my_doors = list() + for(var/obj/machinery/door/airlock/A in my_area) + if(A.id_tag in find_doors) + my_doors[find_doors[A.id_tag]] = A + find_doors -= A.id_tag + for(var/lost in find_doors) + log_debug("[my_area] shuttle computer couldn't find [lost] door!") + + if(my_sensors) + var/list/find_sensors = my_sensors + my_sensors = list() + for(var/obj/machinery/shuttle_sensor/S in my_area) + if(S.id_tag in find_sensors) + my_sensors[find_sensors[S.id_tag]] = S + find_sensors -= S.id_tag + for(var/lost in find_sensors) + log_debug("[my_area] shuttle computer couldn't find [lost] sensor!") + +/obj/machinery/computer/shuttle_control/web/attackby(obj/I, mob/user) + var/datum/shuttle/web_shuttle/shuttle = shuttle_controller.shuttles[shuttle_tag] + if(shuttle && istype(I,/obj/item/clothing/head/pilot)) + var/obj/item/clothing/head/pilot/H = I + H.shuttle_comp = src + shuttle.helmets |= I + to_chat(user,"You register the helmet with the ship's console.") + shuttle.update_helmets() + return + + return ..() + // Fairly copypasta-y. /obj/machinery/computer/shuttle_control/web/attack_hand(mob/user) @@ -244,6 +313,21 @@ if(total_time) // Need to check or we might divide by zero. percent_finished = (elapsed_time / total_time) * 100 + + var/list/doors = list() + if(my_doors) + for(var/doorname in my_doors) + var/obj/machinery/door/airlock/A = my_doors[doorname] + if(A) + doors[doorname] = list("bolted" = A.locked, "open" = !A.density) + + var/list/sensors = list() + if(my_sensors) + for(var/sensorname in my_sensors) + var/obj/machinery/shuttle_sensor/S = my_sensors[sensorname] + if(S) + sensors[sensorname] = S.air_list() + data = list( "shuttle_location" = shuttle_location, "future_location" = future_location, @@ -261,13 +345,15 @@ "cloaked" = shuttle.cloaked ? 1 : 0, "can_autopilot" = shuttle.can_autopilot ? 1 : 0, "autopilot" = shuttle.autopilot ? 1 : 0, - "can_rename" = shuttle.can_rename ? 1 : 0 + "can_rename" = shuttle.can_rename ? 1 : 0, + "doors" = doors, + "sensors" = sensors ) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) - ui = new(user, src, ui_key, "flight.tmpl", "[shuttle.visible_name] Flight Computer", 470, 500) + ui = new(user, src, ui_key, "flight.tmpl", "[shuttle.visible_name] Flight Computer", 500, 500) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -379,3 +465,70 @@ icon_state = "right" density = TRUE anchored = TRUE + +//An object for creating a shuttle destination to dynamically loaded maps +/obj/shuttle_connector + name = "shuttle connector" + var/shuttle_name //Text name of the shuttle to connect to + var/list/destinations //Make sure this STARTS with a destination that builds a route to one that always exists as an anchor. + +/obj/shuttle_connector/initialize() + . = ..() + SSshuttles.OnDocksInitialized(CALLBACK(src, .proc/setup_routes)) + +/obj/shuttle_connector/proc/setup_routes() + if(destinations && shuttle_name) + var/datum/shuttle/web_shuttle/ES = shuttle_controller.shuttles[shuttle_name] + var/datum/shuttle_web_master/WM = ES.web_master + + for(var/new_dest in destinations) + var/datum/shuttle_destination/D = new new_dest(WM) + WM.destinations += D + + for(var/type_to_link in D.routes_to_make) + var/travel_delay = D.routes_to_make[type_to_link] + D.link_destinations(WM.get_destination_by_type(type_to_link), D.preferred_interim_area, travel_delay) + + qdel(src) + +//A sensor for detecting air outside shuttles! Handy, that. +/obj/machinery/shuttle_sensor + name = "environment sensor" + icon = 'icons/obj/airlock_machines.dmi' + icon_state = "airlock_sensor_standby" + var/id_tag + +/obj/machinery/shuttle_sensor/process() + return PROCESS_KILL //nty + +/obj/machinery/shuttle_sensor/proc/air_list() + . = list("reading" = FALSE) + var/turf/T = get_step(src,dir) + + if(isnull(T)) + return + + var/list/aircontents + var/datum/gas_mixture/environment = T.return_air() + var/pressure = environment.return_pressure() + var/total_moles = environment.total_moles + + if(total_moles) + var/o2_level = environment.gas["oxygen"]/total_moles + var/n2_level = environment.gas["nitrogen"]/total_moles + var/co2_level = environment.gas["carbon_dioxide"]/total_moles + var/phoron_level = environment.gas["phoron"]/total_moles + var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) + aircontents = list(\ + "pressure" = "[round(pressure,0.1)]",\ + "nitrogen" = "[round(n2_level*100,0.1)]",\ + "oxygen" = "[round(o2_level*100,0.1)]",\ + "carbon_dioxide" = "[round(co2_level*100,0.1)]",\ + "phoron" = "[round(phoron_level*100,0.01)]",\ + "other" = "[round(unknown_level, 0.01)]",\ + "temp" = "[round(environment.temperature-T0C,0.1)]",\ + "reading" = TRUE\ + ) + + if(aircontents) + return aircontents diff --git a/code/modules/shuttles/web_datums.dm b/code/modules/shuttles/web_datums.dm index 693ce435b1a..c56dc7419cb 100644 --- a/code/modules/shuttles/web_datums.dm +++ b/code/modules/shuttles/web_datums.dm @@ -54,6 +54,7 @@ var/datum/shuttle_web_master/master = null // The datum that does the coordination with the actual shuttle datum. var/list/routes = list() // Routes that are connected to this destination. var/preferred_interim_area = null // When building a new route, use this interim area. + var/skip_me = FALSE // We will not autocreate this one. Some map must be doing it. var/dock_target = null // The tag_id that the shuttle will use to try to dock to the destination, if able. @@ -194,8 +195,10 @@ // First, instantiate all the destination subtypes relevant to this datum. var/list/destination_types = typesof(destination_class) - destination_class for(var/new_type in destination_types) - var/datum/shuttle_destination/D = new new_type(src) - destinations += D + var/datum/shuttle_destination/D = new_type + if(initial(D.skip_me)) + continue + destinations += new new_type(src) // Now start the process of connecting all of them. for(var/datum/shuttle_destination/D in destinations) diff --git a/code/modules/spells/aoe_turf/conjure/conjure.dm b/code/modules/spells/aoe_turf/conjure/conjure.dm index 1302513bfeb..e96985e9bb3 100644 --- a/code/modules/spells/aoe_turf/conjure/conjure.dm +++ b/code/modules/spells/aoe_turf/conjure/conjure.dm @@ -56,7 +56,8 @@ How they spawn stuff is decided by behaviour vars, which are explained below animation.density = 0 animation.anchored = 1 animation.icon = 'icons/effects/effects.dmi' - animation.layer = 3 + animation.plane = OBJ_PLANE + animation.layer = ABOVE_JUNK_LAYER animation.master = summoned_object for(var/varName in newVars) diff --git a/code/modules/spells/aoe_turf/conjure/construct.dm b/code/modules/spells/aoe_turf/conjure/construct.dm index 3885e16ad8a..82bba0198a0 100644 --- a/code/modules/spells/aoe_turf/conjure/construct.dm +++ b/code/modules/spells/aoe_turf/conjure/construct.dm @@ -1,5 +1,9 @@ //////////////////////////////Construct Spells///////////////////////// +/* + * This has been moved to game/gamemodes/cult/construct_spells.dm. This is here for posterity. + */ +/* /spell/aoe_turf/conjure/construct name = "Artificer" desc = "This spell conjures a construct which may be controlled by Shades" @@ -110,6 +114,44 @@ continue return +/spell/aoe_turf/conjure/door + name = "Stone Door" + desc = "This spell conjures a massive stone door." + + charge_max = 100 + spell_flags = CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + hud_state = "const_rune" + +/spell/aoe_turf/conjure/door/cast(list/targets) + ..() + var/turf/spawn_place = pick(targets) + if(spawn_place) + new /obj/structure/simple_door/cult(spawn_place) + return + +/spell/aoe_turf/conjure/grille + name = "Arcane Grille" + desc = "This spell conjures an airtight grille." + + charge_max = 100 + spell_flags = CONSTRUCT_CHECK + invocation = "none" + invocation_type = SpI_NONE + range = 0 + + hud_state = "const_rune" + +/spell/aoe_turf/conjure/grille/cast(list/targets) + ..() + var/turf/spawn_place = pick(targets) + if(spawn_place) + new /obj/structure/grille/cult(spawn_place) + return + /spell/aoe_turf/conjure/forcewall/lesser name = "Shield" desc = "Allows you to pull up a shield to protect yourself and allies from incoming threats" @@ -135,3 +177,4 @@ /obj/effect/forcefield/cult/cultify() return +*/ \ No newline at end of file diff --git a/code/modules/spells/aoe_turf/knock.dm b/code/modules/spells/aoe_turf/knock.dm index 3b3cae83d6c..6766a42eb91 100644 --- a/code/modules/spells/aoe_turf/knock.dm +++ b/code/modules/spells/aoe_turf/knock.dm @@ -22,7 +22,7 @@ door.open() return - +/* Moved to game/gamemodes/cult/construct_spells.dm. //Construct version /spell/aoe_turf/knock/harvester name = "Disintegrate Doors" @@ -41,4 +41,5 @@ for(var/turf/T in targets) for(var/obj/machinery/door/door in T.contents) spawn door.cultify() - return \ No newline at end of file + return +*/ \ No newline at end of file diff --git a/code/modules/spells/construct_spells.dm b/code/modules/spells/construct_spells.dm index b2cec77dbc1..aac7592f33a 100644 --- a/code/modules/spells/construct_spells.dm +++ b/code/modules/spells/construct_spells.dm @@ -1,5 +1,8 @@ //////////////////////////////Construct Spells///////////////////////// - +/* + * Moved to game/gamemodes/cult/construct_spells.dm. Here for posterity. + */ +/* proc/findNullRod(var/atom/target) if(istype(target,/obj/item/weapon/nullrod)) return 1 @@ -8,3 +11,4 @@ proc/findNullRod(var/atom/target) if(findNullRod(A)) return 1 return 0 +*/ \ No newline at end of file diff --git a/code/modules/spells/targeted/ethereal_jaunt.dm b/code/modules/spells/targeted/ethereal_jaunt.dm index e48db592ad6..68cf35e9a4c 100644 --- a/code/modules/spells/targeted/ethereal_jaunt.dm +++ b/code/modules/spells/targeted/ethereal_jaunt.dm @@ -26,7 +26,8 @@ animation.density = 0 animation.anchored = 1 animation.icon = 'icons/mob/mob.dmi' - animation.layer = 5 + animation.plane = MOB_PLANE + animation.layer = ABOVE_MOB_LAYER animation.master = holder target.ExtinguishMob() if(target.buckled) diff --git a/code/modules/spells/targeted/harvest.dm b/code/modules/spells/targeted/harvest.dm index 6903efbfd9b..7a8d986a02a 100644 --- a/code/modules/spells/targeted/harvest.dm +++ b/code/modules/spells/targeted/harvest.dm @@ -1,3 +1,10 @@ + +/* + * Here for posterity. Moved to game/gamemodes/cult/construct_spells.dm, though it has been disabled there. + */ + + +/* /spell/targeted/harvest name = "Harvest" desc = "Back to where I come from, and you're coming with me." @@ -34,3 +41,4 @@ user << "You warp back to Nar-Sie[prey ? " along with your prey":""]." else user << "...something's wrong!"//There shouldn't be an instance of Harvesters when Nar-Sie isn't in the world. +*/ \ No newline at end of file diff --git a/code/modules/spells/targeted/shift.dm b/code/modules/spells/targeted/shift.dm index 8f8ef57e512..f6634640dcf 100644 --- a/code/modules/spells/targeted/shift.dm +++ b/code/modules/spells/targeted/shift.dm @@ -1,3 +1,8 @@ +/* + * This has been moved to game/gamemodes/cult/construct_spells.dm. This is here for posterity. + */ + +/* /spell/targeted/ethereal_jaunt/shift name = "Phase Shift" desc = "This spell allows you to pass through walls" @@ -21,4 +26,5 @@ flick("phase_shift2",animation) /spell/targeted/ethereal_jaunt/shift/jaunt_steam(var/mobloc) - return \ No newline at end of file + return +*/ \ No newline at end of file diff --git a/code/modules/surgery/neck.dm b/code/modules/surgery/neck.dm new file mode 100644 index 00000000000..6cd347586b2 --- /dev/null +++ b/code/modules/surgery/neck.dm @@ -0,0 +1,247 @@ +//Procedures in this file: Brain-stem reattachment surgery. +////////////////////////////////////////////////////////////////////// +// BRAINSTEM SURGERY // +////////////////////////////////////////////////////////////////////// + +/datum/surgery_step/brainstem + priority = 2 + req_open = 1 + can_infect = 1 + +/datum/surgery_step/brainstem/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!hasorgans(target)) + return 0 + var/obj/item/organ/external/affected = target.get_organ(target_zone) + if (!affected || (affected.robotic >= ORGAN_ROBOT) || !(affected.open >= 3)) + return 0 + return target_zone == BP_HEAD + +///////////////////////////// +// Blood Vessel Mending +///////////////////////////// + +/datum/surgery_step/brainstem/mend_vessels + priority = 1 + allowed_tools = list( + /obj/item/weapon/surgical/FixOVein = 100, + /obj/item/stack/nanopaste = 50, + /obj/item/stack/cable_coil = 40, + /obj/item/device/assembly/mousetrap = 5) + + min_duration = 80 + max_duration = 100 + +/datum/surgery_step/brainstem/mend_vessels/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 0 + +/datum/surgery_step/brainstem/mend_vessels/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts to mend the blood vessels on [target]'s brainstem with \the [tool].", \ + "You start to mend the blood vessels on [target]'s brainstem with \the [tool].") + ..() + +/datum/surgery_step/brainstem/mend_vessels/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] has mended the blood vessels on [target]'s brainstem with \the [tool]." , \ + " You have mended the blood vessels on [target]'s brainstem with \the [tool].",) + target.op_stage.brainstem = 1 + +/datum/surgery_step/brainstem/mend_vessels/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user]'s hand slips, tearing at [target]'s brainstem with \the [tool]!" , \ + "Your hand slips, tearing at [target]'s brainstem with \the [tool]!" ) + affected.createwound(PIERCE, 10) + target.AdjustParalysis(10) + +///////////////////////////// +// Bone Drilling +///////////////////////////// + +/datum/surgery_step/brainstem/drill_vertebrae + priority = 3 //Do this instead of expanding the skull cavity + allowed_tools = list( + /obj/item/weapon/surgical/surgicaldrill = 100, + /obj/item/weapon/screwdriver = 75, + /obj/item/weapon/melee/changeling/arm_blade = 15, + /obj/item/weapon/pickaxe = 5) + + min_duration = 200 //Very. Very. Carefully. + max_duration = 300 + +/datum/surgery_step/brainstem/drill_vertebrae/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 1 + +/datum/surgery_step/brainstem/drill_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts to drill around [target]'s brainstem with \the [tool].", \ + "You start to drill around [target]'s brainstem with \the [tool].") + ..() + +/datum/surgery_step/brainstem/drill_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user] has drilled around [target]'s brainstem with \the [tool]." , \ + " You have drilled around [target]'s brainstem with \the [tool].",) + target.AdjustParalysis(10) //We're getting Invasive here. This only ticks down when the person is alive, so it's a good side-effect for this step. Rattling the braincase with a drill is not optimal. + target.op_stage.brainstem = 2 + affected.fracture() //Does not apply damage, simply breaks it if it wasn't already. Doesn't stop a defib on its own. + +/datum/surgery_step/brainstem/drill_vertebrae/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user]'s hand slips, shredding [target]'s brainstem with \the [tool]!" , \ + "Your hand slips, shredding [target]'s brainstem with \the [tool]!" ) + affected.createwound(PIERCE, 10) + target.AdjustParalysis(15) + spawn() + for(var/obj/item/organ/internal/brain/O in affected.internal_organs) + O.take_damage(rand(5,10)) + +///////////////////////////// +// Bone Cleaning +///////////////////////////// + +/datum/surgery_step/brainstem/clean_chips + priority = 3 //Do this instead of picking around for implants. + allowed_tools = list( + /obj/item/weapon/surgical/hemostat = 100, + /obj/item/weapon/wirecutters = 60, + /obj/item/weapon/melee/changeling/claw = 40) //Surprisingly, claws are kind of okay at picking things out. + + min_duration = 90 + max_duration = 120 + +/datum/surgery_step/brainstem/clean_chips/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 2 + +/datum/surgery_step/brainstem/clean_chips/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts to pick around [target]'s brainstem for bone chips with \the [tool].", \ + "You start to pick around [target]'s brainstem for bone chips with \the [tool].") + ..() + +/datum/surgery_step/brainstem/clean_chips/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] has cleaned around [target]'s brainstem with \the [tool]." , \ + " You have cleaned around [target]'s brainstem with \the [tool].",) + target.AdjustParalysis(10) //Still invasive. + target.op_stage.brainstem = 3 + +/datum/surgery_step/brainstem/clean_chips/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!" , \ + "Your hand slips, gouging [target]'s brainstem with \the [tool]!" ) + affected.createwound(CUT, 5) + target.AdjustParalysis(10) + spawn() + for(var/obj/item/organ/internal/brain/O in affected.internal_organs) //If there's more than one... + O.take_damage(rand(1,10)) + +///////////////////////////// +// Spinal Cord Repair +///////////////////////////// + +/datum/surgery_step/brainstem/mend_cord + priority = 1 //Do this after IB. + allowed_tools = list( + /obj/item/weapon/surgical/FixOVein = 100, + /obj/item/stack/nanopaste = 50, + /obj/item/stack/cable_coil = 40, + /obj/item/device/assembly/mousetrap = 5) + + min_duration = 100 + max_duration = 200 + +/datum/surgery_step/brainstem/mend_cord/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 3 + +/datum/surgery_step/brainstem/mend_cord/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts to fuse [target]'s spinal cord with \the [tool].", \ + "You start to fuse [target]'s spinal cord with \the [tool].") + ..() + +/datum/surgery_step/brainstem/mend_cord/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] has fused [target]'s spinal cord with \the [tool]." , \ + " You have fused [target]'s spinal cord with \the [tool].",) + target.op_stage.brainstem = 4 + target.AdjustParalysis(5) + target.add_modifier(/datum/modifier/franken_sickness, 20 MINUTES) + +/datum/surgery_step/brainstem/mend_cord/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!" , \ + "Your hand slips, tearing at [target]'s spinal cord with \the [tool]!" ) + affected.createwound(PIERCE, 5) + target.AdjustParalysis(20) + spawn() + for(var/obj/item/organ/internal/brain/O in affected.internal_organs) + O.take_damage(rand(5,15)) //Down to the wire. Or rather, the cord. + +///////////////////////////// +// Vertebrae repair +///////////////////////////// + +/datum/surgery_step/brainstem/mend_vertebrae + priority = 3 //Do this instead of fixing bones. + allowed_tools = list( + /obj/item/weapon/surgical/bonegel = 100, + /obj/item/stack/nanopaste = 50, + /obj/item/weapon/tape_roll = 5) + + min_duration = 100 + max_duration = 160 + +/datum/surgery_step/brainstem/mend_vertebrae/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 4 + +/datum/surgery_step/brainstem/mend_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts to mend [target]'s opened vertebrae with \the [tool].", \ + "You start to mend [target]'s opened vertebrae with \the [tool].") + ..() + +/datum/surgery_step/brainstem/mend_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] has mended [target]'s vertebrae with \the [tool]." , \ + " You have mended [target]'s vertebrae with \the [tool].",) + target.can_defib = 1 + target.op_stage.brainstem = 5 + +/datum/surgery_step/brainstem/mend_vertebrae/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!" , \ + "Your hand slips, tearing at [target]'s spinal cord with \the [tool]!" ) + affected.createwound(PIERCE, 5) + target.AdjustParalysis(15) + spawn() + for(var/obj/item/organ/internal/brain/O in affected.internal_organs) + O.take_damage(rand(1,10)) + +///////////////////////////// +// Realign tissues +///////////////////////////// + +/datum/surgery_step/brainstem/realign_tissue + priority = 3 //Do this instead of searching for objects in the skull. + allowed_tools = list( + /obj/item/weapon/surgical/hemostat = 100, + /obj/item/weapon/wirecutters = 60, + /obj/item/weapon/melee/changeling/claw = 20) //Claws. Good for digging, not so much for moving. + + min_duration = 90 + max_duration = 120 + +/datum/surgery_step/brainstem/realign_tissue/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 5 + +/datum/surgery_step/brainstem/realign_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts to realign the tissues in [target]'s skull with \the [tool].", \ + "You start to realign the tissues in [target]'s skull with \the [tool].") + ..() + +/datum/surgery_step/brainstem/realign_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] has realigned the tissues in [target]'s skull back into place with \the [tool]." , \ + " You have realigned the tissues in [target]'s skull back into place with \the [tool].",) + target.AdjustParalysis(5) //I n v a s i v e + target.op_stage.brainstem = 0 //The cycle begins anew. + +/datum/surgery_step/brainstem/realign_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!" , \ + "Your hand slips, gouging [target]'s brainstem with \the [tool]!" ) + affected.createwound(CUT, 5) + target.AdjustParalysis(30) + spawn() + for(var/obj/item/organ/internal/brain/O in affected.internal_organs) + O.take_damage(rand(1,10)) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 49fe150c4e0..d54a4aff146 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -73,7 +73,7 @@ return var/is_organ_damaged = 0 for(var/obj/item/organ/I in affected.internal_organs) - if(I.damage > 0) + if(I && (I.damage > 0 || I.status == ORGAN_DEAD)) is_organ_damaged = 1 break return ..() && is_organ_damaged @@ -91,7 +91,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) for(var/obj/item/organ/I in affected.internal_organs) - if(I && I.damage > 0) + if(I && (I.damage > 0 || I.status == ORGAN_DEAD)) if(!(I.robotic >= ORGAN_ROBOT)) user.visible_message("[user] starts treating damage to [target]'s [I.name] with [tool_name].", \ "You start treating damage to [target]'s [I.name] with [tool_name]." ) @@ -111,11 +111,12 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) for(var/obj/item/organ/internal/I in affected.internal_organs) - if(I && I.damage > 0) + if(I && (I.damage > 0 || I.status == ORGAN_DEAD)) if(!(I.robotic >= ORGAN_ROBOT)) user.visible_message("[user] treats damage to [target]'s [I.name] with [tool_name].", \ "You treat damage to [target]'s [I.name] with [tool_name]." ) I.damage = 0 + I.status = 0 if(I.organ_tag == O_EYES) target.sdisabilities &= ~BLIND if(I.organ_tag == O_LUNGS) diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 3174bbf405b..4debf4017c4 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -464,9 +464,9 @@ while(!new_name) if(!target) return var/try_name = input(target,"Pick a name for your new form!", "New Name", target.name) - var/clean_name = sanitizeName(try_name) + var/clean_name = sanitizeName(try_name, allow_numbers = TRUE) if(clean_name) - var/okay = alert(target,"New name will be '[clean_name]', ok?", "Cancel", "Ok") + var/okay = alert(target,"New name will be '[clean_name]', ok?", "Confirmation","Cancel","Ok") if(okay == "Ok") new_name = clean_name diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index 05ceed18b16..ad4c413c8ec 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -95,5 +95,6 @@ /datum/surgery_step/slime/saw_core/fail_step(mob/living/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, causing \him to miss the core!", \ + var/datum/gender/T = gender_datums[user.get_visible_gender()] + user.visible_message("[user]'s hand slips, causing [T.him] to miss the core!", \ "Your hand slips, causing you to miss the core!") \ No newline at end of file diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 1dac70fea5f..b06221e5c9d 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -163,6 +163,7 @@ /datum/surgery_status/ var/eyes = 0 var/face = 0 + var/brainstem = 0 var/head_reattach = 0 var/current_organ = "organ" var/list/in_progress = list() \ No newline at end of file diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 670edd01d86..5de58c13546 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -84,7 +84,8 @@ set_dir(direction) if(dir != NORTH) - layer = 5 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER climbable = 0 //flipping tables allows them to be used as makeshift barriers flipped = 1 flags |= ON_BORDER @@ -102,7 +103,7 @@ verbs -=/obj/structure/table/proc/do_put verbs +=/obj/structure/table/verb/do_flip - layer = initial(layer) + reset_plane_and_layer() flipped = 0 climbable = initial(climbable) flags &= ~ON_BORDER diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 13fe7557517..5a497972626 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -6,7 +6,7 @@ density = 1 anchored = 1 climbable = 1 - layer = 2.8 + layer = TABLE_LAYER throwpass = 1 surgery_odds = 66 var/flipped = 0 @@ -58,7 +58,7 @@ take_damage(100) /obj/structure/table/initialize() - ..() + . = ..() // One table per turf. for(var/obj/structure/table/T in loc) @@ -174,6 +174,21 @@ visible_message("\The [user] tears apart \the [src]!") src.break_to_parts() +/obj/structure/table/attack_generic(mob/user as mob, var/damage) + if(damage >= 10) + if(reinforced && prob(70)) + visible_message("\The [user] smashes against \the [src]!") + take_damage(damage/2) + user.do_attack_animation(src) + ..() + else + visible_message("\The [user] tears apart \the [src]!") + src.break_to_parts() + user.do_attack_animation(src) + return 1 + visible_message("\The [user] scratches at \the [src]!") + return ..() + /obj/structure/table/MouseDrop_T(obj/item/stack/material/what) if(can_reinforce && isliving(usr) && (!usr.stat) && istype(what) && usr.get_active_hand() == what && Adjacent(usr)) reinforce_table(what, usr) diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm new file mode 100644 index 00000000000..1b03157e83e --- /dev/null +++ b/code/modules/tooltip/tooltip.dm @@ -0,0 +1,124 @@ +/* +Tooltips v1.1 - 22/10/15 +Developed by Wire (#goonstation on irc.synirc.net) +- Added support for screen_loc pixel offsets. Should work. Maybe. +- Added init function to more efficiently send base vars + +Configuration: +- Set control to the correct skin element (remember to actually place the skin element) +- Set file to the correct path for the .html file (remember to actually place the html file) +- Attach the datum to the user client on login, e.g. +/client/New() + src.tooltips = new /datum/tooltip(src) + +Usage: +- Define mouse event procs on your (probably HUD) object and simply call the show and hide procs respectively: +/obj/screen/hud + MouseEntered(location, control, params) + usr.client.tooltip.show(params, title = src.name, content = src.desc) + + MouseExited() + usr.client.tooltip.hide() + +Customization: +- Theming can be done by passing the theme var to show() and using css in the html file to change the look +- For your convenience some pre-made themes are included + +Notes: +- You may have noticed 90% of the work is done via javascript on the client. Gotta save those cycles man. +- This is entirely untested in any other codebase besides goonstation so I have no idea if it will port nicely. Good luck! + - After testing and discussion (Wire, Remie, MrPerson, AnturK) ToolTips are ok and work for /tg/station13 +*/ + + +/datum/tooltip + var/client/owner + var/control = "mainwindow.tooltip" + var/showing = 0 + var/queueHide = 0 + var/init = 0 + + +/datum/tooltip/New(client/C) + if (C) + owner = C + owner << browse(file2text('code/modules/tooltip/tooltip.html'), "window=[control]") + ..() + + +/datum/tooltip/proc/show(atom/movable/thing, params = null, title = null, content = null, theme = "default", special = "none") + if (!thing || !params || (!title && !content) || !owner || !isnum(world.icon_size)) + return 0 + if (!init) + //Initialize some vars + init = 1 + owner << output(list2params(list(world.icon_size, control)), "[control]:tooltip.init") + + showing = 1 + + if (title && content) + title = "

    [title]

    " + content = "

    [content]

    " + else if (title && !content) + title = "

    [title]

    " + else if (!title && content) + content = "

    [content]

    " + + // Strip macros from item names + title = replacetext(title, "\proper", "") + title = replacetext(title, "\improper", "") + + //Make our dumb param object + if(params[1] != "i") //Byond Bug: http://www.byond.com/forum/?post=2352648 + params = "icon-x=16;icon-y=16;[params]" //Put in some placeholders + params = {"{ "cursor": "[params]", "screenLoc": "[thing.screen_loc]" }"} + + //Send stuff to the tooltip + var/view_size = getviewsize(owner.view) + owner << output(list2params(list(params, view_size[1] , view_size[2], "[title][content]", theme, special)), "[control]:tooltip.update") + + //If a hide() was hit while we were showing, run hide() again to avoid stuck tooltips + showing = 0 + if (queueHide) + hide() + + return 1 + + +/datum/tooltip/proc/hide() + if (queueHide) + schedule_task_with_source_in(1, src, .proc/do_hide) + else + do_hide() + + queueHide = showing ? TRUE : FALSE + + return TRUE + +/datum/tooltip/proc/do_hide() + winshow(owner, control, FALSE) + +/* TG SPECIFIC CODE */ + + +//Open a tooltip for user, at a location based on params +//Theme is a CSS class in tooltip.html, by default this wrapper chooses a CSS class based on the user's UI_style (Midnight, Plasmafire, Retro, etc) +//Includes sanity.checks +/proc/openToolTip(mob/user = null, atom/movable/tip_src = null, params = null, title = "", content = "", theme = "") + if(istype(user)) + if(user.client && user.client.tooltips) + if(!theme && user.client.prefs && user.client.prefs.tooltipstyle) + theme = lowertext(user.client.prefs.tooltipstyle) + if(!theme) + theme = "midnight" + user.client.tooltips.show(tip_src, params, title, content, theme) + + +//Arbitrarily close a user's tooltip +//Includes sanity checks. +/proc/closeToolTip(mob/user) + if(istype(user)) + if(user.client && user.client.tooltips) + user.client.tooltips.hide() + + diff --git a/code/modules/tooltip/tooltip.html b/code/modules/tooltip/tooltip.html new file mode 100644 index 00000000000..67fb8a77f10 --- /dev/null +++ b/code/modules/tooltip/tooltip.html @@ -0,0 +1,249 @@ + + + + Tooltip + + + + + +
    +
    +
    + + + + diff --git a/code/modules/turbolift/turbolift_console.dm b/code/modules/turbolift/turbolift_console.dm index f6619516816..bc6bafbe529 100644 --- a/code/modules/turbolift/turbolift_console.dm +++ b/code/modules/turbolift/turbolift_console.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/turbolift.dmi' anchored = 1 density = 0 - layer = 4 + plane = MOB_PLANE var/datum/turbolift/lift diff --git a/code/modules/turbolift/turbolift_map.dm b/code/modules/turbolift/turbolift_map.dm index 8930bf34d62..effd03e8a6c 100644 --- a/code/modules/turbolift/turbolift_map.dm +++ b/code/modules/turbolift/turbolift_map.dm @@ -23,7 +23,7 @@ ..() /obj/turbolift_map_holder/initialize() - + . = ..() // Create our system controller. var/datum/turbolift/lift = new() diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index e1c643b7766..f9c14af3a57 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -164,8 +164,8 @@ var/mob/living/carbon/human/D = load D << "You ran over [H]!" visible_message("\The [src] ran over [H]!") + add_attack_logs(D,H,"Ran over with [src.name]") attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])") - msg_admin_attack("[D.name] ([D.ckey]) ran over [H.name] ([H.ckey]). (JMP)") else attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index c59ffe7e640..42f97676adf 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -22,6 +22,7 @@ // Standard procs //------------------------------------------- /obj/vehicle/train/initialize() + . = ..() for(var/obj/vehicle/train/T in orange(1, src)) latch(T) @@ -55,7 +56,7 @@ if(istype(load, /mob/living/carbon/human)) var/mob/living/D = load D << "You hit [M]!" - msg_admin_attack("[D.name] ([D.ckey]) hit [M.name] ([M.ckey]) with [src]. (JMP)") + add_attack_logs(D,M,"Ran over with [src.name]") //------------------------------------------- diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 7bd11955e37..13dc84f0e45 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -303,7 +303,7 @@ usr << "You install [C] in [src]." /obj/vehicle/proc/remove_cell(var/mob/living/carbon/human/H) - if(mechanical) + if(!mechanical) return if(!cell) return diff --git a/code/modules/ventcrawl/ventcrawl.dm b/code/modules/ventcrawl/ventcrawl.dm index 8978305ec25..f3a9dab0413 100644 --- a/code/modules/ventcrawl/ventcrawl.dm +++ b/code/modules/ventcrawl/ventcrawl.dm @@ -10,6 +10,7 @@ var/list/ventcrawl_machinery = list( /obj/item/weapon/holder, /obj/machinery/camera, /mob/living/simple_animal/borer, + /obj/screen ) /mob/living/var/list/icon/pipes_shown = list() @@ -34,6 +35,7 @@ var/list/ventcrawl_machinery = list( if(is_ventcrawling && istype(loc, /obj/machinery/atmospherics)) //attach us back into the pipes remove_ventcrawl() add_ventcrawl(loc) + client.screen += global_hud.centermarker /mob/living/simple_animal/slime/can_ventcrawl() if(victim) @@ -41,18 +43,21 @@ var/list/ventcrawl_machinery = list( return FALSE . = ..() -/mob/living/proc/is_allowed_vent_crawl_item(var/obj/item/carried_item) +/mob/living/proc/is_allowed_vent_crawl_item(var/obj/carried_item) + //Ability master easy test for allowed (cheaper than istype) if(carried_item == ability_master) return 1 - var/list/allowed = list() - for(var/type in can_enter_vent_with) - var/list/types = typesof(type) - allowed += types + //Try to find it in our allowed list (istype includes subtypes) + var/listed = FALSE + for(var/test_type in can_enter_vent_with) + if(istype(carried_item,test_type)) + listed = TRUE + break - if(carried_item.type in allowed) - if(get_inventory_slot(carried_item) == 0) - return 1 + //Only allow it if it's "IN" the mob, not equipped on/being held + if(listed && !get_inventory_slot(carried_item)) + return 1 /mob/living/carbon/is_allowed_vent_crawl_item(var/obj/item/carried_item) if(carried_item in internal_organs) @@ -150,6 +155,7 @@ var/list/ventcrawl_machinery = list( if(HAZARD_HIGH_PRESSURE to INFINITY) to_chat(src, "You feel a roaring wind pushing you away from the vent!") + fade_towards(vent_found,45) if(!do_after(src, 45, vent_found, 1, 1)) return if(!can_ventcrawl()) @@ -175,9 +181,12 @@ var/list/ventcrawl_machinery = list( for(var/datum/pipeline/pipeline in network.line_members) for(var/obj/machinery/atmospherics/A in (pipeline.members || pipeline.edges)) if(!A.pipe_image) - A.pipe_image = image(A, A.loc, layer = 20, dir = A.dir) + A.pipe_image = image(A, A.loc, dir = A.dir) + A.pipe_image.plane = PLANE_LIGHTING_ABOVE pipes_shown += A.pipe_image client.images += A.pipe_image + if(client) + client.screen += global_hud.centermarker /mob/living/proc/remove_ventcrawl() is_ventcrawling = 0 @@ -185,6 +194,7 @@ var/list/ventcrawl_machinery = list( if(client) for(var/image/current_image in pipes_shown) client.images -= current_image + client.screen -= global_hud.centermarker client.eye = src pipes_shown.len = 0 \ No newline at end of file diff --git a/code/modules/virus2/admin.dm b/code/modules/virus2/admin.dm index 5769aa099e5..dc10bc85f92 100644 --- a/code/modules/virus2/admin.dm +++ b/code/modules/virus2/admin.dm @@ -11,7 +11,7 @@ usr << "Effects:" for(var/datum/disease2/effectholder/E in effects) usr << "[E.stage]: [E.effect.name]; chance=[E.chance]; multiplier=[E.multiplier]" - usr << "Antigens: [antigens2string(antigen)]" + usr << "Antigens: [antigens2string(antigen)]; Resistance: [resistance]" return 1 @@ -46,6 +46,7 @@ var/spreadtype = "Contact" var/list/antigens = list() var/speed = 1 + var/resistance = 10 var/mob/living/carbon/infectee = null // this holds spawned viruses so that the "Info" links work after the proc exits @@ -98,6 +99,7 @@ Infection Chance: [infectionchance]
    Spread Type: [spreadtype]
    Speed: [speed]
    + Resistance: [resistance]

    "} f = 1 @@ -153,8 +155,8 @@ if(!I) return infectionchance = I if("stype") - var/S = alert("Which spread type?", "Spread Type", "Cancel", "Contact", "Airborne") - if(!S || S == "Cancel") return + var/S = alert("Which spread type?", "Spread Type", "Contact", "Airborne", "Blood") + if(!S) return spreadtype = S if("speed") var/S = input("Input speed", "Speed", speed) as null|num @@ -170,6 +172,10 @@ antigens |= T else if(href_list["reset"]) antigens = list() + if("resistance") + var/S = input("Input % resistance to antibiotics", "Resistance", resistance) as null|num + if(!S) return + resistance = S if("infectee") var/list/candidates = list() for(var/mob/living/carbon/G in living_mob_list) @@ -195,6 +201,7 @@ D.antigen = antigens D.affected_species = species D.speed = speed + D.resistance = resistance for(var/i in 1 to 4) var/datum/disease2/effectholder/E = new var/Etype = s[i] diff --git a/code/modules/virus2/analyser.dm b/code/modules/virus2/analyser.dm index 1bd3b3053c6..af178364098 100644 --- a/code/modules/virus2/analyser.dm +++ b/code/modules/virus2/analyser.dm @@ -11,7 +11,10 @@ var/obj/item/weapon/virusdish/dish = null /obj/machinery/disease2/diseaseanalyser/attackby(var/obj/O as obj, var/mob/user as mob) - if(!istype(O,/obj/item/weapon/virusdish)) return + if(default_unfasten_wrench(user, O, 20)) + return + + else if(!istype(O,/obj/item/weapon/virusdish)) return if(dish) user << "\The [src] is already loaded." diff --git a/code/modules/virus2/centrifuge.dm b/code/modules/virus2/centrifuge.dm index f6cf9fe3901..026bea5e5d9 100644 --- a/code/modules/virus2/centrifuge.dm +++ b/code/modules/virus2/centrifuge.dm @@ -13,6 +13,9 @@ if(istype(O, /obj/item/weapon/screwdriver)) return ..(O,user) + if(default_unfasten_wrench(user, O, 20)) + return + if(istype(O,/obj/item/weapon/reagent_containers/glass/beaker/vial)) if(sample) user << "\The [src] is already loaded." diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 9af07c48b68..3670f60beac 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -1,7 +1,7 @@ /datum/disease2/disease var/infectionchance = 70 var/speed = 1 - var/spreadtype = "Contact" // Can also be "Airborne" + var/spreadtype = "Blood" // Can also be "Contact" or "Airborne" var/stage = 1 var/stageprob = 10 var/dead = 0 @@ -10,7 +10,8 @@ var/list/datum/disease2/effectholder/effects = list() var/antigen = list() // 16 bits describing the antigens, when one bit is set, a cure with that bit can dock here var/max_stage = 4 - var/list/affected_species = list("Human","Unathi","Skrell","Tajara") + var/list/affected_species = list(SPECIES_HUMAN,SPECIES_UNATHI,SPECIES_SKRELL,SPECIES_TAJ) + var/resistance = 10 // % chance a disease will resist cure, up to 100 /datum/disease2/disease/New() uniqueID = rand(0,10000) @@ -36,6 +37,7 @@ antigen = list(pick(ALL_ANTIGENS)) antigen |= pick(ALL_ANTIGENS) spreadtype = prob(70) ? "Airborne" : "Contact" + resistance = rand(15,70) if(all_species.len) affected_species = get_infectable_species() @@ -79,11 +81,17 @@ if(prob(1)) majormutate() - //Space antibiotics stop disease completely - if(mob.reagents.has_reagent("spaceacillin")) - if(stage == 1 && prob(20)) + //Space antibiotics have a good chance to stop disease completely + if(mob.chem_effects[CE_ANTIBIOTIC]) + if(stage == 1 && prob(70-resistance)) src.cure(mob) - return + else + resistance += rand(1,9) + + //Resistance is capped at 90 without being manually set to 100 + if(resistance > 90 && resistance < 100) + resistance = 90 + //Virus food speeds up disease progress if(mob.reagents.has_reagent("virusfood")) @@ -96,7 +104,7 @@ //Moving to the next stage if(clicks > max(stage*100, 200) && prob(10)) - if((stage <= max_stage) && prob(20)) // ~60% of viruses will be cured by the end of S4 with this + if((stage <= max_stage) && prob(5)) // ~20% of viruses will be cured by the end of S4 with this src.cure(mob) mob.antibodies |= src.antigen stage++ @@ -137,11 +145,15 @@ if(D != holder) exclude += D.effect.type holder.majormutate(exclude) - if (prob(5)) + if (prob(5) && prob(100-resistance)) // The more resistant the disease,the lower the chance of randomly developing the antibodies antigen = list(pick(ALL_ANTIGENS)) antigen |= pick(ALL_ANTIGENS) if (prob(5) && all_species.len) affected_species = get_infectable_species() + if (prob(10)) + resistance += rand(1,9) + if(resistance > 90 && resistance < 100) + resistance = 90 /datum/disease2/disease/proc/getcopy() var/datum/disease2/disease/disease = new /datum/disease2/disease @@ -210,6 +222,7 @@ var/global/list/virusDB = list() Antigen: [antigens2string(antigen)]
    Transmitted By: [spreadtype]
    Rate of Progression: [stageprob * 10]
    + Antibiotic Resistance [resistance]%
    Species Affected: [jointext(affected_species, ", ")]
    "} @@ -217,7 +230,7 @@ var/global/list/virusDB = list() for(var/datum/disease2/effectholder/E in effects) r += "([E.stage]) [E.effect.name] " r += "Strength: [E.multiplier >= 3 ? "Severe" : E.multiplier > 1 ? "Above Average" : "Average"] " - r += "Verosity: [E.chance * 15]
    " + r += "Aggressiveness: [E.chance * 15]

    " return r diff --git a/code/modules/virus2/diseasesplicer.dm b/code/modules/virus2/diseasesplicer.dm index 298dc49f27e..d9a875050d1 100644 --- a/code/modules/virus2/diseasesplicer.dm +++ b/code/modules/virus2/diseasesplicer.dm @@ -15,6 +15,9 @@ if(istype(I, /obj/item/weapon/screwdriver)) return ..(I,user) + if(default_unfasten_wrench(user, I, 20)) + return + if(istype(I,/obj/item/weapon/virusdish)) var/mob/living/carbon/c = user if (dish) diff --git a/code/modules/virus2/dishincubator.dm b/code/modules/virus2/dishincubator.dm index ed6810980ca..c94370cebd5 100644 --- a/code/modules/virus2/dishincubator.dm +++ b/code/modules/virus2/dishincubator.dm @@ -15,6 +15,9 @@ var/toxins = 0 /obj/machinery/disease2/incubator/attackby(var/obj/O as obj, var/mob/user as mob) + if(default_unfasten_wrench(user, O, 20)) + return + if(istype(O, /obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/syringe)) if(beaker) @@ -131,9 +134,6 @@ if(foodsupply < 100 && beaker.reagents.remove_reagent("virusfood",5)) if(foodsupply + 10 <= 100) foodsupply += 10 - else - beaker.reagents.add_reagent("virusfood",(100 - foodsupply)/2) - foodsupply = 100 nanomanager.update_uis(src) if (locate(/datum/reagent/toxin) in beaker.reagents.reagent_list && toxins < 100) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index d24069ca5fa..d7db2633ad5 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -58,8 +58,10 @@ /datum/disease2/effect/invisible name = "Waiting Syndrome" stage = 1 - activate(var/mob/living/carbon/mob,var/multiplier) - return + badness = 3 + +/datum/disease2/effect/invisible/activate(var/mob/living/carbon/mob,var/multiplier) + return ////////////////////////STAGE 4///////////////////////////////// @@ -70,141 +72,183 @@ chance_maxm = 0 /datum/disease2/effect/gibbingtons - name = "Gibbingtons Syndrome" + name = "Gibbington's Syndrome" stage = 4 badness = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - // Probabilities have been tweaked to kill in ~2-3 minutes, giving 5-10 messages. - // Probably needs more balancing, but it's better than LOL U GIBBED NOW, especially now that viruses can potentially have no signs up until Gibbingtons. - mob.adjustBruteLoss(10*multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/external/O = pick(H.organs) - if(prob(25)) - mob << "Your [O.name] feels as if it might burst!" - if(prob(10)) - spawn(50) - if(O) - O.droplimb(0,DROPLIMB_BLUNT) - else - if(prob(75)) - mob << "Your whole body feels like it might fall apart!" - if(prob(10)) - mob.adjustBruteLoss(25*multiplier) + +/datum/disease2/effect/gibbingtons/activate(var/mob/living/carbon/mob,var/multiplier) + // Probabilities have been tweaked to kill in ~2-3 minutes, giving 5-10 messages. + // Probably needs more balancing, but it's better than LOL U GIBBED NOW, especially now that viruses can potentially have no signs up until Gibbingtons. + mob.adjustBruteLoss(10*multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/obj/item/organ/external/O = pick(H.organs) + if(prob(25)) + mob << "Your [O.name] feels as if it might burst!" + if(prob(10)) + spawn(50) + if(O) + O.droplimb(0,DROPLIMB_BLUNT) + else + if(prob(75)) + mob << "Your whole body feels like it might fall apart!" + if(prob(10)) + mob.adjustBruteLoss(25*multiplier) /datum/disease2/effect/radian name = "Radian's Syndrome" stage = 4 maxm = 3 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.apply_effect(2*multiplier, IRRADIATE, check_protection = 0) + +/datum/disease2/effect/radian/activate(var/mob/living/carbon/mob,var/multiplier) + mob.apply_effect(2*multiplier, IRRADIATE, check_protection = 0) /datum/disease2/effect/deaf - name = "Dead Ear Syndrome" + name = "Deafness" stage = 4 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.ear_deaf += 20 + +/datum/disease2/effect/deaf/activate(var/mob/living/carbon/mob,var/multiplier) + mob.ear_deaf += 20 /datum/disease2/effect/monkey - name = "Monkism Syndrome" + name = "Genome Regression" stage = 4 badness = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob,/mob/living/carbon/human)) - var/mob/living/carbon/human/h = mob - h.monkeyize() + +/datum/disease2/effect/monkey/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob,/mob/living/carbon/human)) + var/mob/living/carbon/human/h = mob + h.monkeyize() /datum/disease2/effect/suicide - name = "Suicidal Syndrome" + name = "Windpipe Contraction" stage = 4 badness = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.suiciding = 30 - //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while - viewers(mob) << "[mob.name] is holding \his breath. It looks like \he's trying to commit suicide." - mob.adjustOxyLoss(175 - mob.getToxLoss() - mob.getFireLoss() - mob.getBruteLoss() - mob.getOxyLoss()) - mob.updatehealth() + +/datum/disease2/effect/suicide/activate(var/mob/living/carbon/mob,var/multiplier) + var/datum/gender/TM = gender_datums[mob.get_visible_gender()] + mob.suiciding = 30 + //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while + viewers(mob) << "[mob.name] is holding [TM.his] breath. It looks like [TM.he] [TM.is] trying to commit suicide." + mob.adjustOxyLoss(175 - mob.getToxLoss() - mob.getFireLoss() - mob.getBruteLoss() - mob.getOxyLoss()) + mob.updatehealth() /datum/disease2/effect/killertoxins - name = "Toxification Syndrome" + name = "Autoimmune Reponse" stage = 4 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.adjustToxLoss(15*multiplier) + +/datum/disease2/effect/killertoxins/activate(var/mob/living/carbon/mob,var/multiplier) + mob.adjustToxLoss(15*multiplier) /datum/disease2/effect/dna - name = "Reverse Pattern Syndrome" + name = "Catastrophic DNA Degeneration" stage = 4 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.bodytemperature = max(mob.bodytemperature, 350) - scramble(0,mob,10) - mob.apply_damage(10, CLONE) + +/datum/disease2/effect/dna/activate(var/mob/living/carbon/mob,var/multiplier) + mob.bodytemperature = max(mob.bodytemperature, 350) + scramble(0,mob,10) + mob.apply_damage(10, CLONE) /datum/disease2/effect/organs - name = "Shutdown Syndrome" + name = "Limb Paralysis" stage = 4 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/organ = pick(list("r_arm","l_arm","r_leg","r_leg")) - var/obj/item/organ/external/E = H.organs_by_name[organ] - if (!(E.status & ORGAN_DEAD)) - E.status |= ORGAN_DEAD - H << "You can't feel your [E.name] anymore..." - for (var/obj/item/organ/external/C in E.children) - C.status |= ORGAN_DEAD - H.update_icons_body() - mob.adjustToxLoss(15*multiplier) - deactivate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - E.status &= ~ORGAN_DEAD - for (var/obj/item/organ/external/C in E.children) - C.status &= ~ORGAN_DEAD - H.update_icons_body() +/datum/disease2/effect/organs/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/organ = pick(list("r_arm","l_arm","r_leg","l_leg")) + var/obj/item/organ/external/E = H.organs_by_name[organ] + if (!(E.status & ORGAN_DEAD)) + E.status |= ORGAN_DEAD + H << "You can't feel your [E.name] anymore..." + for (var/obj/item/organ/external/C in E.children) + C.status |= ORGAN_DEAD + H.update_icons_body() + mob.adjustToxLoss(15*multiplier) + +/datum/disease2/effect/organs/deactivate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + for (var/obj/item/organ/external/E in H.organs) + E.status &= ~ORGAN_DEAD + for (var/obj/item/organ/external/C in E.children) + C.status &= ~ORGAN_DEAD + H.update_icons_body() + +/datum/disease2/effect/internalorgan + name = "Organ Shutdown" + stage = 4 + badness = 2 + +/datum/disease2/effect/internalorgan/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/organ = pick(list("heart","kidney","liver", "lungs")) + var/obj/item/organ/internal/O = H.organs_by_name[organ] + if (O.robotic != ORGAN_ROBOT) + O.damage += (5*multiplier) + H << "You feel a cramp in your guts." /datum/disease2/effect/immortal - name = "Longevity Syndrome" + name = "Hyperaccelerated Aging" stage = 4 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - if (E.status & ORGAN_BROKEN && prob(30)) - E.status ^= ORGAN_BROKEN - var/heal_amt = -5*multiplier - mob.apply_damages(heal_amt,heal_amt,heal_amt,heal_amt) - deactivate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - H << "You suddenly feel hurt and old..." - H.age += 8 - var/backlash_amt = 5*multiplier - mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt) +/datum/disease2/effect/immortal/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + for (var/obj/item/organ/external/E in H.organs) + if (E.status & ORGAN_BROKEN && prob(30)) + E.status ^= ORGAN_BROKEN + var/heal_amt = -5*multiplier + mob.apply_damages(heal_amt,heal_amt,heal_amt,heal_amt) + +/datum/disease2/effect/immortal/deactivate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + H << "You suddenly feel hurt and old..." + H.age += 8 + var/backlash_amt = 5*multiplier + mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt) /datum/disease2/effect/bones - name = "Fragile Bones Syndrome" + name = "Brittle Bones" stage = 4 badness = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - E.min_broken_damage = max(5, E.min_broken_damage - 30) +/datum/disease2/effect/bones/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + for (var/obj/item/organ/external/E in H.organs) + E.min_broken_damage = max(5, E.min_broken_damage - 30) + +/datum/disease2/effect/bones/deactivate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + for (var/obj/item/organ/external/E in H.organs) + E.min_broken_damage = initial(E.min_broken_damage) + +/datum/disease2/effect/combustion + name = "Organic Ignition" + stage = 4 + badness = 3 + +/datum/disease2/effect/combustion/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/obj/item/organ/external/O = pick(H.organs) + if(prob(25)) + mob << "It feels like your [O.name] is on fire and your blood is boiling!" + H.adjust_fire_stacks(1) + if(prob(10)) + mob << "Flames erupt from your skin, your entire body is burning!" + H.adjust_fire_stacks(2) + H.IgniteMob() - deactivate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - for (var/obj/item/organ/external/E in H.organs) - E.min_broken_damage = initial(E.min_broken_damage) ////////////////////////STAGE 3///////////////////////////////// @@ -212,201 +256,279 @@ name = "Hyperacidity" stage = 3 maxm = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.adjustToxLoss((2*multiplier)) + +/datum/disease2/effect/toxins/activate(var/mob/living/carbon/mob,var/multiplier) + mob.adjustToxLoss((2*multiplier)) /datum/disease2/effect/shakey - name = "World Shaking Syndrome" + name = "Nervous Motor Instability" stage = 3 maxm = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - shake_camera(mob,5*multiplier) + +/datum/disease2/effect/shakey/activate(var/mob/living/carbon/mob,var/multiplier) + shake_camera(mob,5*multiplier) /datum/disease2/effect/telepathic - name = "Telepathy Syndrome" + name = "Pineal Gland Decalcification" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) + +/datum/disease2/effect/telepathic/activate(var/mob/living/carbon/mob,var/multiplier) mob.dna.SetSEState(REMOTETALKBLOCK,1) domutcheck(mob, null, MUTCHK_FORCED) /datum/disease2/effect/mind - name = "Lazy Mind Syndrome" + name = "Neurodegeneration" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - var/obj/item/organ/internal/brain/B = H.internal_organs_by_name["brain"] - if (B && B.damage < B.min_broken_damage) - B.take_damage(5) - else - mob.setBrainLoss(10) + +/datum/disease2/effect/mind/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/obj/item/organ/internal/brain/B = H.internal_organs_by_name["brain"] + if (B && B.damage < B.min_broken_damage) + B.take_damage(5) + else + mob.setBrainLoss(10) /datum/disease2/effect/hallucinations - name = "Hallucinational Syndrome" + name = "Hallucination" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.hallucination += 25 -/datum/disease2/effect/deaf - name = "Hard of Hearing Syndrome" +/datum/disease2/effect/hallucinations/activate(var/mob/living/carbon/mob,var/multiplier) + mob.hallucination += 25 + +/datum/disease2/effect/minordeaf + name = "Hearing Loss" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.ear_deaf = 5 + +/datum/disease2/effect/minordeaf/activate(var/mob/living/carbon/mob,var/multiplier) + mob.ear_deaf = 5 /datum/disease2/effect/giggle - name = "Uncontrolled Laughter Effect" + name = "Uncontrolled Laughter" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) + chance_maxm = 20 + +/datum/disease2/effect/giggle/activate(var/mob/living/carbon/mob,var/multiplier) + if(prob(66)) mob.say("*giggle") + else + to_chat(mob,"What's so funny?") /datum/disease2/effect/confusion name = "Topographical Cretinism" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - mob << "You have trouble telling right and left apart all of a sudden." - mob.Confuse(10) + +/datum/disease2/effect/confusion/activate(var/mob/living/carbon/mob,var/multiplier) + mob << "You have trouble telling right and left apart all of a sudden." + mob.Confuse(10) /datum/disease2/effect/mutation name = "DNA Degradation" stage = 3 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.apply_damage(2, CLONE) + +/datum/disease2/effect/mutation/activate(var/mob/living/carbon/mob,var/multiplier) + mob.apply_damage(2, CLONE) /datum/disease2/effect/groan - name = "Groaning Syndrome" + name = "Phantom Aches" stage = 3 - chance_maxm = 25 - activate(var/mob/living/carbon/mob,var/multiplier) + chance_maxm = 20 + +/datum/disease2/effect/groan/activate(var/mob/living/carbon/mob,var/multiplier) + if(prob(66)) mob.say("*groan") + else if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/obj/item/organ/external/E = pick(H.organs) + to_chat(mob,"Your [E] aches.") /datum/disease2/effect/chem_synthesis name = "Chemical Synthesis" stage = 3 chance_maxm = 25 - generate(c_data) - if(c_data) - data = c_data - else - data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar", - "tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine", - "mindbreaker", "glucose") - var/datum/reagent/R = chemical_reagents_list[data] - name = "[initial(name)] ([initial(R.name)])" +/datum/disease2/effect/chem_synthesis/generate(c_data) + if(c_data) + data = c_data + else + data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar", + "tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine", + "mindbreaker", "glucose") + var/datum/reagent/R = chemical_reagents_list[data] + name = "[initial(name)] ([initial(R.name)])" + +/datum/disease2/effect/chem_synthesis/activate(var/mob/living/carbon/mob,var/multiplier) + if (mob.reagents.get_reagent_amount(data) < 5) + mob.reagents.add_reagent(data, 2) + +/datum/disease2/effect/nonrejection + name = "Genetic Chameleonism" + stage = 3 + +/datum/disease2/effect/nonrejection/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + var/obj/item/organ/internal/O = H.organs_by_name + for (var/organ in H.organs_by_name) + if (O.robotic != ORGAN_ROBOT) + O.rejecting = 0 - activate(var/mob/living/carbon/mob,var/multiplier) - if (mob.reagents.get_reagent_amount(data) < 5) - mob.reagents.add_reagent(data, 2) ////////////////////////STAGE 2///////////////////////////////// /datum/disease2/effect/scream - name = "Loudness Syndrome" + name = "Involuntary Vocalization" stage = 2 - chance_maxm = 25 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*scream") + chance_maxm = 10 + +/datum/disease2/effect/scream/activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*scream") /datum/disease2/effect/drowsness - name = "Automated Sleeping Syndrome" + name = "Excessive Sleepiness" stage = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.drowsyness += 10 + +/datum/disease2/effect/drowsness/activate(var/mob/living/carbon/mob,var/multiplier) + mob.drowsyness += 10 /datum/disease2/effect/sleepy - name = "Resting Syndrome" + name = "Narcolepsy" stage = 2 chance_maxm = 15 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*collapse") + +/datum/disease2/effect/sleepy/activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*collapse") /datum/disease2/effect/blind - name = "Blackout Syndrome" + name = "Vision Loss" stage = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.eye_blind = max(mob.eye_blind, 4) + +/datum/disease2/effect/blind/activate(var/mob/living/carbon/mob,var/multiplier) + mob.eye_blind = max(mob.eye_blind, 4) /datum/disease2/effect/cough - name = "Anima Syndrome" + name = "Severe Cough" stage = 2 - activate(var/mob/living/carbon/mob,var/multiplier) + chance_maxm = 20 + +/datum/disease2/effect/cough/activate(var/mob/living/carbon/mob,var/multiplier) + if(prob(60)) mob.say("*cough") for(var/mob/living/carbon/M in oview(2,mob)) mob.spread_disease_to(M) + else + to_chat(mob,"Something gets caught in your throat.") /datum/disease2/effect/hungry - name = "Appetiser Effect" + name = "Digestive Inefficiency" stage = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.nutrition = max(0, mob.nutrition - 200) + +/datum/disease2/effect/hungry/activate(var/mob/living/carbon/mob,var/multiplier) + mob.nutrition = max(0, mob.nutrition - 200) /datum/disease2/effect/fridge - name = "Refridgerator Syndrome" + name = "Reduced Circulation" stage = 2 chance_maxm = 25 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*shiver") + +/datum/disease2/effect/fridge/activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*shiver") /datum/disease2/effect/hair name = "Hair Loss" stage = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - if(istype(mob, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = mob - if(H.species.name == "Human" && !(H.h_style == "Bald") && !(H.h_style == "Balding Hair")) - H << "Your hair starts to fall out in clumps..." - spawn(50) - H.h_style = "Balding Hair" - H.update_hair() + +/datum/disease2/effect/hair/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + if(H.species.name == SPECIES_HUMAN && !(H.h_style == "Bald") && !(H.h_style == "Balding Hair")) + H << "Your hair starts to fall out in clumps..." + spawn(50) + H.h_style = "Balding Hair" + H.update_hair() /datum/disease2/effect/stimulant - name = "Adrenaline Extra" + name = "Overactive Adrenal Gland" stage = 2 - activate(var/mob/living/carbon/mob,var/multiplier) - mob << "You feel a rush of energy inside you!" - if (mob.reagents.get_reagent_amount("hyperzine") < 10) - mob.reagents.add_reagent("hyperzine", 4) - if (prob(30)) - mob.jitteriness += 10 + +/datum/disease2/effect/stimulant/activate(var/mob/living/carbon/mob,var/multiplier) + mob << "You feel a rush of energy inside you!" + if (mob.reagents.get_reagent_amount("hyperzine") < 10) + mob.reagents.add_reagent("hyperzine", 4) + if (prob(30)) + mob.jitteriness += 10 + +/datum/disease2/effect/ringing + name = "Tinnitus" + stage = 2 + chance_maxm = 25 + +/datum/disease2/effect/ringing/activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = mob + H << "You hear an awful ringing in your ears." + H << 'sound/weapons/flash.ogg' + +/datum/disease2/effect/vomiting + name = "Vomiting" + stage = 2 + chance_maxm = 15 + +/datum/disease2/effect/vomiting/activate(var/mob/living/carbon/mob,var/multiplier) + mob << "Your stomach churns!" + if (prob(50)) + mob.say("*vomit") ////////////////////////STAGE 1///////////////////////////////// /datum/disease2/effect/sneeze - name = "Coldingtons Effect" + name = "Sneezing" stage = 1 - activate(var/mob/living/carbon/mob,var/multiplier) - if (prob(30)) - mob << "You feel like you are about to sneeze!" - sleep(5) - mob.say("*sneeze") - for(var/mob/living/carbon/M in get_step(mob,mob.dir)) - mob.spread_disease_to(M) - if (prob(50)) - var/obj/effect/decal/cleanable/mucus/M = new(get_turf(mob)) - M.virus2 = virus_copylist(mob.virus2) + chance_maxm = 20 + +/datum/disease2/effect/sneeze/activate(var/mob/living/carbon/mob,var/multiplier) + if(prob(20)) + to_chat(mob,"You go to sneeze, but it gets caught in your sinuses!") + else if(prob(80)) + if(prob(30)) + to_chat(mob,"You feel like you are about to sneeze!") + spawn(5) //Sleep may have been hanging Mob controller. + mob.say("*sneeze") + for(var/mob/living/carbon/M in get_step(mob,mob.dir)) + mob.spread_disease_to(M) + if (prob(50)) + var/obj/effect/decal/cleanable/mucus/M = new(get_turf(mob)) + M.virus2 = virus_copylist(mob.virus2) /datum/disease2/effect/gunck - name = "Flemmingtons" + name = "Mucus Buildup" stage = 1 - activate(var/mob/living/carbon/mob,var/multiplier) - mob << "Mucous runs down the back of your throat." + +/datum/disease2/effect/gunck/activate(var/mob/living/carbon/mob,var/multiplier) + mob << "Mucous runs down the back of your throat." /datum/disease2/effect/drool - name = "Saliva Effect" + name = "Salivary Gland Stimulation" stage = 1 - chance_maxm = 25 - activate(var/mob/living/carbon/mob,var/multiplier) - mob.say("*drool") + chance_maxm = 15 + +/datum/disease2/effect/drool/activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*drool") + if (prob(30)) + var/obj/effect/decal/cleanable/mucus/M = new(get_turf(mob)) + M.virus2 = virus_copylist(mob.virus2) /datum/disease2/effect/twitch - name = "Twitcher" + name = "Involuntary Twitching" stage = 1 - chance_maxm = 25 - activate(var/mob/living/carbon/mob,var/multiplier) + chance_maxm = 15 + +/datum/disease2/effect/twitch/activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*twitch") /datum/disease2/effect/headache name = "Headache" stage = 1 - activate(var/mob/living/carbon/mob,var/multiplier) + +/datum/disease2/effect/headache/activate(var/mob/living/carbon/mob,var/multiplier) mob << "Your head hurts a bit." diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 4daae5c5e2c..64790fdfc59 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -81,8 +81,16 @@ proc/airborne_can_reach(turf/source, turf/target) var/list/antibodies_in_common = M.antibodies & disease.antigen if(antibodies_in_common.len) return - if(M.reagents.has_reagent("spaceacillin")) - return + if(M.chem_effects[CE_ANTIBIOTIC]) + if(prob(disease.resistance)) + var/datum/disease2/disease/D = disease.getcopy() + D.minormutate() + D.resistance += rand(1,9) +// log_debug("Adding virus") + M.virus2["[D.uniqueID]"] = D + BITSET(M.hud_updateflag, STATUS_HUD) + else + return //Virus prevented by antibiotics if(!disease.affected_species.len) return diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm index 6a27d2f17d3..d992a9c99bd 100644 --- a/code/modules/virus2/isolator.dm +++ b/code/modules/virus2/isolator.dm @@ -28,7 +28,10 @@ icon_state = "isolator" /obj/machinery/disease2/isolator/attackby(var/obj/O as obj, var/mob/user) - if(!istype(O,/obj/item/weapon/reagent_containers/syringe)) return + if(default_unfasten_wrench(user, O, 20)) + return + + else if(!istype(O,/obj/item/weapon/reagent_containers/syringe)) return var/obj/item/weapon/reagent_containers/syringe/S = O if(sample) diff --git a/code/modules/xenoarcheaology/anomaly_container.dm b/code/modules/xenoarcheaology/anomaly_container.dm index 616b04b10d9..6372405300a 100644 --- a/code/modules/xenoarcheaology/anomaly_container.dm +++ b/code/modules/xenoarcheaology/anomaly_container.dm @@ -8,7 +8,7 @@ var/obj/machinery/artifact/contained /obj/structure/anomaly_container/initialize() - ..() + . = ..() var/obj/machinery/artifact/A = locate() in loc if(A) diff --git a/code/modules/xenoarcheaology/artifacts/gigadrill.dm b/code/modules/xenoarcheaology/artifacts/gigadrill.dm index 42c7288d2d9..b6c665cb661 100644 --- a/code/modules/xenoarcheaology/artifacts/gigadrill.dm +++ b/code/modules/xenoarcheaology/artifacts/gigadrill.dm @@ -7,7 +7,7 @@ var/drill_time = 10 var/turf/drilling_turf density = 1 - layer = 3.1 //to go over ores + layer = ABOVE_JUNK_LAYER /obj/machinery/giga_drill/attack_hand(mob/user as mob) if(active) diff --git a/code/modules/xenoarcheaology/boulder.dm b/code/modules/xenoarcheaology/boulder.dm index 4c0bafd7071..09b9d398ea8 100644 --- a/code/modules/xenoarcheaology/boulder.dm +++ b/code/modules/xenoarcheaology/boulder.dm @@ -29,11 +29,22 @@ C.scan_atom(user, src) return + if(istype(I, /obj/item/device/xenoarch_multi_tool)) + var/obj/item/device/xenoarch_multi_tool/C = I + if(C.mode) //Mode means scanning. + C.depth_scanner.scan_atom(user, src) + return + else + user.visible_message("\The [user] extends \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!", "You extend \the [C] over \the [src], a flurry of red beams scanning \the [src]'s surface!") + if(do_after(user, 15)) + to_chat(user, "\The [src] has been excavated to a depth of [2 * src.excavation_level]cm.") + return + if(istype(I, /obj/item/device/measuring_tape)) var/obj/item/device/measuring_tape/P = I user.visible_message("\The [user] extends \the [P] towards \the [src].", "You extend \the [P] towards \the [src].") if(do_after(user, 15)) - user << "\The [src] has been excavated to a depth of [2 * src.excavation_level]cm." + to_chat(user, "\The [src] has been excavated to a depth of [2 * src.excavation_level]cm.") return if(istype(I, /obj/item/weapon/pickaxe)) @@ -43,12 +54,12 @@ return last_act = world.time - user << "You start [P.drill_verb] [src]." + to_chat(user, "You start [P.drill_verb] [src].") if(!do_after(user, P.digspeed)) return - user << "You finish [P.drill_verb] [src]." + to_chat(user, "You finish [P.drill_verb] [src].") excavation_level += P.excavation_amount if(excavation_level > 100) @@ -87,4 +98,4 @@ else if(istype(AM,/obj/mecha)) var/obj/mecha/M = AM if(istype(M.selected,/obj/item/mecha_parts/mecha_equipment/tool/drill)) - M.selected.action(src) \ No newline at end of file + M.selected.action(src) diff --git a/code/modules/xenoarcheaology/finds/misc.dm b/code/modules/xenoarcheaology/finds/misc.dm index 2729872876e..129033bf6e9 100644 --- a/code/modules/xenoarcheaology/finds/misc.dm +++ b/code/modules/xenoarcheaology/finds/misc.dm @@ -10,12 +10,33 @@ anchored = TRUE /obj/machinery/crystal/New() - if(prob(50)) + if(prob(30)) icon_state = "crystal2" set_light(3, 3, "#CC00CC") + else if(prob(30)) + icon_state = "crystal3" + set_light(3, 3, "#FF003B") else set_light(3, 3, "#33CC33") +/obj/machinery/crystal/ice //slightly more thematic crystals + name = "ice crystal" + desc = "A large crystalline ice formation." + icon_state = "icecrystal2" + +/obj/machinery/crystal/ice/New() + if(prob(10)) + icon_state = "crystal" + set_light(5, 5, "#33CC33") + if(prob(10)) + icon_state = "crystal2" + set_light(5, 5, "#CC00CC") + if(prob(30)) + icon_state = "icecrystal1" + set_light(5, 5, "#C4FFFF") + else + set_light(5, 5, "#C4FFFF") + //large finds /* obj/machinery/syndicate_beacon diff --git a/code/modules/xenoarcheaology/sampling.dm b/code/modules/xenoarcheaology/sampling.dm index e79957ba282..ae7c203fa3d 100644 --- a/code/modules/xenoarcheaology/sampling.dm +++ b/code/modules/xenoarcheaology/sampling.dm @@ -70,15 +70,15 @@ artifact_distance = rand() artifact_id = container.artifact_find.artifact_id else - if(master_controller) //Sanity check due to runtimes ~Z - for(var/turf/simulated/mineral/T in master_controller.artifact_spawning_turfs) + if(SSxenoarch) //Sanity check due to runtimes ~Z + for(var/turf/simulated/mineral/T in SSxenoarch.artifact_spawning_turfs) if(T.artifact_find) var/cur_dist = get_dist(container, T) * 2 if( (artifact_distance < 0 || cur_dist < artifact_distance)) artifact_distance = cur_dist + rand() * 2 - 1 artifact_id = T.artifact_find.artifact_id else - master_controller.artifact_spawning_turfs.Remove(T) + SSxenoarch.artifact_spawning_turfs.Remove(T) /obj/item/device/core_sampler name = "core sampler" diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm index 72a6e399807..a7fdae75537 100644 --- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm +++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm @@ -209,6 +209,4 @@ M.lastattacker = user if(inserted_battery.battery_effect) - user.attack_log += "\[[time_stamp()]\] Tapped [M.name] ([M.ckey]) with [name] (EFFECT: [inserted_battery.battery_effect.name])" - M.attack_log += "\[[time_stamp()]\] Tapped by [user.name] ([user.ckey]) with [name] (EFFECT: [inserted_battery.battery_effect.name])" - msg_admin_attack("[key_name(user)] tapped [key_name(M)] with [name] (EFFECT: [inserted_battery.battery_effect.name])" ) + add_attack_logs(user,M,"Anobattery tap ([inserted_battery.battery_effect.name])") diff --git a/code/modules/xenoarcheaology/tools/artifact_analyser.dm b/code/modules/xenoarcheaology/tools/artifact_analyser.dm index 553b6674dff..e169a62061a 100644 --- a/code/modules/xenoarcheaology/tools/artifact_analyser.dm +++ b/code/modules/xenoarcheaology/tools/artifact_analyser.dm @@ -15,7 +15,7 @@ var/report_num = 0 /obj/machinery/artifact_analyser/initialize() - ..() + . = ..() reconnect_scanner() /obj/machinery/artifact_analyser/proc/reconnect_scanner() diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm index 1d79a894497..5f8c30ecad9 100644 --- a/code/modules/xenoarcheaology/tools/tools.dm +++ b/code/modules/xenoarcheaology/tools/tools.dm @@ -57,8 +57,8 @@ var/nearestSimpleTargetDist = -1 var/turf/cur_turf = get_turf(src) - if(master_controller) //Sanity check due to runtimes ~Z - for(var/A in master_controller.artifact_spawning_turfs) + if(SSxenoarch) //Sanity check due to runtimes ~Z + for(var/A in SSxenoarch.artifact_spawning_turfs) var/turf/simulated/mineral/T = A if(T.density && T.artifact_find) if(T.z == cur_turf.z) @@ -67,9 +67,9 @@ nearestTargetDist = cur_dist + rand() * 2 - 1 nearestTargetId = T.artifact_find.artifact_id else - master_controller.artifact_spawning_turfs.Remove(T) + SSxenoarch.artifact_spawning_turfs.Remove(T) - for(var/A in master_controller.digsite_spawning_turfs) + for(var/A in SSxenoarch.digsite_spawning_turfs) var/turf/simulated/mineral/T = A if(T.density && T.finds && T.finds.len) if(T.z == cur_turf.z) @@ -77,16 +77,16 @@ if(nearestSimpleTargetDist < 0 || cur_dist < nearestSimpleTargetDist) nearestSimpleTargetDist = cur_dist + rand() * 2 - 1 else - master_controller.digsite_spawning_turfs.Remove(T) + SSxenoarch.digsite_spawning_turfs.Remove(T) if(nearestTargetDist >= 0) - user << "Exotic energy detected on wavelength '[nearestTargetId]' in a radius of [nearestTargetDist]m[nearestSimpleTargetDist > 0 ? "; small anomaly detected in a radius of [nearestSimpleTargetDist]m" : ""]" + to_chat(user, "Exotic energy detected on wavelength '[nearestTargetId]' in a radius of [nearestTargetDist]m[nearestSimpleTargetDist > 0 ? "; small anomaly detected in a radius of [nearestSimpleTargetDist]m" : ""]") else if(nearestSimpleTargetDist >= 0) - user << "Small anomaly detected in a radius of [nearestSimpleTargetDist]m." + to_chat(user, "Small anomaly detected in a radius of [nearestSimpleTargetDist]m.") else - user << "Background radiation levels detected." + to_chat(user, "Background radiation levels detected.") else - user << "Scanning array is recharging." + to_chat(user, "Scanning array is recharging.") /obj/item/device/depth_scanner name = "depth analysis scanner" @@ -133,7 +133,7 @@ positive_locations.Add(D) - user << "\icon[src] [src] pings." + to_chat(user, "\icon[src] [src] pings.") else if(istype(A, /obj/structure/boulder)) var/obj/structure/boulder/B = A @@ -151,7 +151,7 @@ positive_locations.Add(D) - user << "\icon[src] [src] pings [pick("madly","wildly","excitedly","crazily")]!" + to_chat(user, "\icon[src] [src] pings [pick("madly","wildly","excitedly","crazily")]!") /obj/item/device/depth_scanner/attack_self(var/mob/living/user) interact(user) @@ -310,3 +310,39 @@ usr << browse(null, "window=locater") updateSelfDialog() + +/obj/item/device/xenoarch_multi_tool + name = "xenoarcheology multitool" + desc = "Has the features of the Alden-Saraspova counter, a measuring tape, and a depth analysis scanner all in one!" + icon_state = "ano_scanner2" + item_state = "lampgreen" + icon = 'icons/obj/xenoarchaeology.dmi' + origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 2) + matter = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 5000) + w_class = ITEMSIZE_SMALL + slot_flags = SLOT_BELT + var/mode = 1 //Start off scanning. 1 = scanning, 0 = measuring + var/obj/item/device/ano_scanner/anomaly_scanner = null + var/obj/item/device/depth_scanner/depth_scanner = null + +/obj/item/device/xenoarch_multi_tool/New() + anomaly_scanner = new/obj/item/device/ano_scanner(src) + depth_scanner = new/obj/item/device/depth_scanner(src) + +/obj/item/device/xenoarch_multi_tool/attack_self(var/mob/living/user) + depth_scanner.interact(user) + +/obj/item/device/xenoarch_multi_tool/verb/swap_settings(var/mob/living/user) + set name = "Swap Functionality" + set desc = "Swap between the scanning and measuring functionality.." + mode = !mode + if(mode) + to_chat(user, "The device will now scan for artifacts.") + else + to_chat(user, "The device will now measure depth dug.") + +/obj/item/device/xenoarch_multi_tool/verb/scan_for_anomalies(var/mob/living/user) + set name = "Scan for Anomalies" + set desc = "Scan for artifacts and anomalies within your vicinity." + anomaly_scanner.interact(user) + diff --git a/code/modules/xenoarcheaology/tools/tools_pickaxe.dm b/code/modules/xenoarcheaology/tools/tools_pickaxe.dm index b954d5eb054..d911843cca2 100644 --- a/code/modules/xenoarcheaology/tools/tools_pickaxe.dm +++ b/code/modules/xenoarcheaology/tools/tools_pickaxe.dm @@ -149,3 +149,43 @@ smallest.loc = src picksToSort -= smallest orient2hud() + +/obj/item/weapon/pickaxe/excavationdrill + name = "excavation drill" + icon = 'icons/obj/xenoarchaeology.dmi' + icon_state = "excavationdrill2" + item_state = "syringe_0" + excavation_amount = 15 + digspeed = 30 + desc = "Advanced archaeological drill combining ultrasonic excitation and bluespace manipulation to provide extreme precision. The tip is adjustable from 1 to 30 cm." + drill_sound = 'sound/weapons/thudswoosh.ogg' + drill_verb = "drilling" + force = 5 + w_class = 2 + attack_verb = list("drilled") + +/obj/item/weapon/pickaxe/excavationdrill/attack_self(mob/user as mob) + var/depth = input("Put the desired depth (1-30 centimeters).", "Set Depth", 30) as num + if(depth>30 || depth<1) + to_chat(user, "Invalid depth.") + return + excavation_amount = depth + to_chat(user, "You set the depth to [depth]cm.") + switch(depth) + if(1 to 5) + icon_state = "excavationdrill0" + if(6 to 10) + icon_state = "excavationdrill1" + if(11 to 15) + icon_state = "excavationdrill2" + if(16 to 20) + icon_state = "excavationdrill3" + if(21 to 25) + icon_state = "excavationdrill4" + if(25 to 30) + icon_state = "excavationdrill5" //The other 2 sprites are comically long. Let's just cut it at 5. + +/obj/item/weapon/pickaxe/excavationdrill/examine(mob/user) + ..() + var/depth = excavation_amount + to_chat(user, "It is currently set at [depth]cms.") \ No newline at end of file diff --git a/code/modules/xenobio/items/extracts.dm b/code/modules/xenobio/items/extracts.dm index 675149f8d17..6d472b5a09f 100644 --- a/code/modules/xenobio/items/extracts.dm +++ b/code/modules/xenobio/items/extracts.dm @@ -565,7 +565,7 @@ S.enrage() for(var/mob/living/carbon/human/H in view(get_turf(holder.my_atom))) - if(H.species.name == "Promethean") + if(H.species.name == SPECIES_PROMETHEAN) H.add_modifier(/datum/modifier/berserk, 30 SECONDS) to_chat(H, "An intense wave of rage is felt from inside, but you remain in control of yourself.") @@ -896,7 +896,7 @@ on_expired_text = "The spores of goo have faded, and you feel your agility returning to what it was before." stacks = MODIFIER_STACK_EXTEND - evasion = 2 + evasion = 30 slowdown = -1 attack_speed_percent = 0.75 @@ -970,6 +970,7 @@ if(S) new S(get_turf(holder.my_atom)) + ..() /datum/chemical_reaction/slime/rainbow_unity name = "Slime Unity" diff --git a/code/modules/xenobio/items/weapons.dm b/code/modules/xenobio/items/weapons.dm index a1aba76dab2..8fb5f9eea67 100644 --- a/code/modules/xenobio/items/weapons.dm +++ b/code/modules/xenobio/items/weapons.dm @@ -24,7 +24,7 @@ // Prometheans. if(ishuman(M)) var/mob/living/carbon/human/H = M - if(H.species && H.species.name == "Promethean" && status) + if(H.species && H.species.name == SPECIES_PROMETHEAN && status) var/agony_to_apply = 60 - agonyforce H.apply_damage(agony_to_apply, HALLOSS) ..() @@ -56,20 +56,33 @@ name = "xeno taser gun" desc = "Straight out of NT's testing laboratories, this small gun is used to subdue non-humanoid xeno life forms. \ While marketed towards handling slimes, it may be useful for other creatures." - desc = "An easy to use weapon designed by NanoTrasen, for NanoTrasen. This weapon is designed to subdue lesser \ - xeno lifeforms at a distance. It is ineffective at stunning larger lifeforms such as humanoids." icon_state = "taserold" fire_sound = 'sound/weapons/taser2.ogg' charge_cost = 120 // Twice as many shots. projectile_type = /obj/item/projectile/beam/stun/xeno - accuracy = 2 // Make it a bit easier to hit the slimes. + accuracy = 30 // Make it a bit easier to hit the slimes. description_info = "This gun will stun a slime or other lesser lifeform for about two seconds, if hit with the projectile it fires." + description_fluff = "An easy to use weapon designed by NanoTrasen, for NanoTrasen. This weapon is designed to subdue lesser \ + xeno lifeforms at a distance. It is ineffective at stunning larger lifeforms such as humanoids." /obj/item/weapon/gun/energy/taser/xeno/robot // Borg version self_recharge = 1 use_external_power = 1 recharge_time = 3 +/obj/item/weapon/gun/energy/taser/xeno/sec //NT's corner-cutting option for their on-station security. + desc = "An NT Mk30 NL retrofitted to fire beams for subduing non-humanoid xeno life forms." + icon_state = "taserblue" + item_state = "taser" + projectile_type = /obj/item/projectile/beam/stun/xeno/weak + charge_cost = 240 + accuracy = 0 //Same accuracy as a normal Sec taser. + description_fluff = "An NT Mk30 NL retrofitted after the events that occurred aboard the NRS Prometheus." + +/obj/item/weapon/gun/energy/taser/xeno/sec/robot //Cyborg variant of the security xeno-taser. + self_recharge = 1 + use_external_power = 1 + recharge_time = 3 /obj/item/projectile/beam/stun/xeno icon_state = "omni" @@ -83,7 +96,10 @@ tracer_type = /obj/effect/projectile/laser_omni/tracer impact_type = /obj/effect/projectile/laser_omni/impact -/obj/item/projectile/beam/stun/xeno/on_hit(var/atom/target, var/blocked = 0) +/obj/item/projectile/beam/stun/xeno/weak //Weaker variant for non-research equipment, turrets, or rapid fire types. + agony = 3 + +/obj/item/projectile/beam/stun/xeno/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) if(istype(target, /mob/living)) var/mob/living/L = target @@ -91,15 +107,15 @@ if(istype(L, /mob/living/simple_animal/slime)) var/mob/living/simple_animal/SA = L if(SA.intelligence_level <= SA_ANIMAL) // So it doesn't stun hivebots or syndies. - SA.Weaken(2) // Less powerful since its ranged, and therefore safer. + SA.Weaken(round(agony/2)) // Less powerful since its ranged, and therefore safer. if(isslime(SA)) var/mob/living/simple_animal/slime/S = SA - S.adjust_discipline(2) + S.adjust_discipline(round(agony/2)) // Prometheans. if(ishuman(L)) var/mob/living/carbon/human/H = L - if(H.species && H.species.name == "Promethean") - var/agony_to_apply = 60 - agony - H.apply_damage(agony_to_apply, HALLOSS) - ..() \ No newline at end of file + if(H.species && H.species.name == SPECIES_PROMETHEAN) + if(agony == initial(agony)) + agony = round((14 * agony) - agony) //60-4 = 56, 56 / 4 = 14. Prior was flat 60 - agony of the beam to equate to 60. + ..() diff --git a/code/modules/xenobio2/mob/slime/slime.dm b/code/modules/xenobio2/mob/slime/slime.dm index 48f5ce57564..44a1246e1d6 100644 --- a/code/modules/xenobio2/mob/slime/slime.dm +++ b/code/modules/xenobio2/mob/slime/slime.dm @@ -22,7 +22,7 @@ Slime definitions, Life and New live here. var/shiny = 0 move_to_delay = 17 //Slimes shouldn't be able to go faster than humans. default_chems = list("slimejelly" = 5) - attacktext = "absorbed some of" + attacktext = list("absorbed some of") response_help = "pats" response_disarm = "tries to stop" response_harm = "hits" diff --git a/code/modules/xenobio2/mob/xeno.dm b/code/modules/xenobio2/mob/xeno.dm index 979782e9bdc..9a854e9d8eb 100644 --- a/code/modules/xenobio2/mob/xeno.dm +++ b/code/modules/xenobio2/mob/xeno.dm @@ -12,7 +12,7 @@ Also includes Life and New desc = "Something's broken, yell at someone." melee_damage_lower = 0 melee_damage_upper = 0 - attacktext = "hit" + attacktext = list("hit") attack_sound = null friendly = "touches" environment_smash = 0 diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 650d659d310..77da8eb937e 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -91,14 +91,16 @@ h1.alert, h2.alert {color: #000000;} .alien {color: #543354;} .tajaran {color: #803B56;} .tajaran_signlang {color: #941C1C;} +.akhani {color: #AC398C;} .skrell {color: #00B0B3;} +.skrellfar {color: #70FCFF;} .soghun {color: #228B22;} .solcom {color: #22228B;} .changeling {color: #800080;} .vox {color: #AA00AA;} .rough {font-family: "Trebuchet MS", cursive, sans-serif;} .say_quote {font-family: Georgia, Verdana, sans-serif;} - +.terminus {font-family: "Times New Roman", Times, serif, sans-serif} .interface {color: #330033;} BIG IMG.icon {width: 32px; height: 32px;} diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm index 92d17a2aba4..c5bccc437d6 100644 --- a/code/unit_tests/map_tests.dm +++ b/code/unit_tests/map_tests.dm @@ -39,8 +39,10 @@ exempt_from_atmos += using_map.unit_test_exempt_from_atmos.Copy() exempt_from_apc += using_map.unit_test_exempt_from_apc.Copy() + var/list/zs_to_test = using_map.unit_test_z_levels || list(1) //Either you set it, or you just get z1 + for(var/area/A in world) - if(A.z == 1 && !(A.type in exempt_areas)) + if((A.z in zs_to_test) && !(A.type in exempt_areas)) area_test_count++ var/area_good = 1 var/bad_msg = "--------------- [A.name]([A.type])" diff --git a/code/unit_tests/unit_test.dm b/code/unit_tests/unit_test.dm index 605cf8fcac6..7537f14022f 100644 --- a/code/unit_tests/unit_test.dm +++ b/code/unit_tests/unit_test.dm @@ -34,11 +34,11 @@ var/total_unit_tests = 0 world.Del() var/said_msg = 0 - while(ticker.pregame_timeleft && ticker.pregame_timeleft > 160) // Make sure the initial startup is complete. - if(ticker.pregame_timeleft < 175 && !said_msg) + while(!Master.current_runlevel) // Make sure the initial startup is complete. + if(!said_msg) said_msg = 1 - log_unit_test("Pregame Count down has started, giving it 20 seconds to finish.") - sleep(1) + log_unit_test("Waiting for subystems initilization to finish.") + stoplag(10) world.save_mode("extended") diff --git a/code/world.dm b/code/world.dm index c4dbbf72b00..6fb6a1a01a0 100644 --- a/code/world.dm +++ b/code/world.dm @@ -40,11 +40,14 @@ var/global/datum/global_init/init = new () #define RECOMMENDED_VERSION 501 /world/New() + world.log << "Map Loading Complete" //logs - var/date_string = time2text(world.realtime, "YYYY/MM-Month/DD-Day") - href_logfile = file("data/logs/[date_string] hrefs.htm") - diary = file("data/logs/[date_string].log") - diary << "[log_end]\n[log_end]\nStarting up. [time2text(world.timeofday, "hh:mm.ss")][log_end]\n---------------------[log_end]" + log_path += time2text(world.realtime, "YYYY/MM-Month/DD-Day/round-hh-mm-ss") + diary = file("[log_path].log") + href_logfile = file("[log_path]-hrefs.htm") + error_log = file("[log_path]-error.log") + debug_log = file("[log_path]-debug.log") + debug_log << "[log_end]\n[log_end]\nStarting up. [time_stamp()][log_end]\n---------------------[log_end]" changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently if(byond_version < RECOMMENDED_VERSION) @@ -110,15 +113,20 @@ var/global/datum/global_init/init = new () // Create frame types. populate_frame_types() + // Create floor types. + populate_flooring_types() + // Create robolimbs for chargen. populate_robolimb_list() processScheduler = new master_controller = new /datum/controller/game_controller() + + processScheduler.deferSetupFor(/datum/controller/process/ticker) + processScheduler.setup() Master.Initialize(10, FALSE) + spawn(1) - processScheduler.deferSetupFor(/datum/controller/process/ticker) - processScheduler.setup() master_controller.setup() #if UNIT_TEST initialize_unit_tests() @@ -136,7 +144,7 @@ var/world_topic_spam_protect_ip = "0.0.0.0" var/world_topic_spam_protect_time = world.timeofday /world/Topic(T, addr, master, key) - diary << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key][log_end]" + debug_log << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key][log_end]" if (T == "ping") var/x = 1 diff --git a/config/example/motd.txt b/config/example/motd.txt index ac75c145cfc..20b67d09c94 100644 --- a/config/example/motd.txt +++ b/config/example/motd.txt @@ -1,5 +1,5 @@

    Welcome to Space Station 13!

    --This server is running Baystation 12's modification of the /tg/station13 SS13 code. +-This server is running the Polaris modification of the Baystation12 SS13 code.

    -Bugtracker: for posting of bugs and issues. +Bugtracker: for posting of bugs and issues. diff --git a/html/changelog.html b/html/changelog.html index 280b45a1bbe..e81411a62c7 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -53,6 +53,367 @@ -->
    +

    01 April 2018

    +

    Anewbe updated:

    +
      +
    • Medical Doctors and EMTs spawn with white medkits.
    • +
    +

    Cameron653 updated:

    +
      +
    • Adds a xenoarch excavation tool, craftable in R&D. Allows depth selection of 1-30
    • +
    • Adds a xenoarch multitool, craftable in R&D. Has xenoarch counter, measure tool, and depth scanner all in one.
    • +
    +

    Heroman3003 updated:

    +
      +
    • Attaching exosuit equipment with a gripper correctly removes it from the gripper.
    • +
    • Engineering gripper can no longer duplicate frame parts.
    • +
    +

    MistyLuminescence updated:

    +
      +
    • Wallets can now hold a wider variety of objects.
    • +
    +

    Woodrat updated:

    +
      +
    • Added two 44 cal revolvers.
    • +
    • Added 44 cal speedloader for revolvers.
    • +
    • Added 44 cal rubber rounds.
    • +
    • Fixed the icon_state for 'structure/plushie/carp' and the random first aid kit spawner.
    • +
    • Added a random chance tool spawn for power tools (most of the time it should still just be regular tools).
    • +
    • Adjusted the spawn rate of medkits, combat medkits should be more rare.
    • +
    • Cash split into its own loot item.
    • +
    • Plushies split into large and small plushies.
    • +
    • All the extra plushie spawns added to the random plushie spawn.
    • +
    • Eightball and conch shell added to toy spawns.
    • +
    • Added spawn points for the large plushies, cash, and the power tools to the station.
    • +
    +

    battlefieldCommander updated:

    +
      +
    • Added permanent markers, an alternative to crayons.
    • +
    • The chemistry recipe for paint now uses marker ink instead of crayon dust.
    • +
    • Removed crayon boxes from the map. They can still be ordered from cargo in case you need a snack.
    • +
    + +

    15 March 2018

    +

    Anewbe updated:

    +
      +
    • Pills and ingested reagents actually process at half speed, rather than just ignoring half of the reagents.
    • +
    • Robotic limbs now need internal repair at 30 composite damage, rather than 30 of burn or brute.
    • +
    • Syringes now inject their entire payload with one click, but in 5 unit increments. There is a delay in between each of these.
    • +
    • Assisted robotic organs (internals, eyes) are less vulnerable to EMP.
    • +
    • Lifelike robotic organs (currently VeyMed) are more vulnerable to EMP.
    • +
    +

    Cerebulon updated:

    +
      +
    • Added Akhani language for Tajaran.
    • +
    • Fixed incorrect singular form of Tajaran in several places.
    • +
    +

    MisterLayne updated:

    +
      +
    • Added a version of the ED-209 called the ED-CLN. It is a more efficient Cleanbot.
    • +
    • Reinforced snowballs can now actually be made in a reasonable time limit.
    • +
    +

    Nerezza updated:

    +
      +
    • Broken APCs can be bashed open with slightly smaller objects now. This means wrenches are acceptable, no need to hunt down a fire extinguisher.
    • +
    • EVA rigsuit/hardsuit no longer holds toolboxes in suit storage since those have been a volume inventory for some time now. RIP ghetto satchel.
    • +
    • CE's rigsuit/hardsuit no longer holds pickaxes and ore satchels, but can now hold inflateables.
    • +
    • Retracting rigsuit/hardsuit helmets with no valid mask equipped now disables internals.
    • +
    • Offline rigsuits/hardsuits are no longer considered valid air supplies by the internals button. Before, your internals would instantly shut off before you could get a breath out of the rigsuit. Now, the internals button will look for a different tank instead.
    • +
    • Tajaran now get to keep their tails when they wear the EVA, RD, or Industrial rigsuits/hardsuits. Unathi sprites to come soon!
    • +
    • Sifwood floor tiles now correctly use their double-stacked icon instead of disappearing.
    • +
    +

    Woodrat updated:

    +
      +
    • Added in a weapons crate for explorers that has bolt action rifles.
    • +
    • Weapon powercells can be ordered from cargo (security access crate).
    • +
    • Automatic weapons crate split into two crates now. One for SMGs one for the rifle. Minor adjustments to other munitions and security supply packs as well.
    • +
    • The automatic weapons ammo crate has also been split.
    • +
    • Names of the crates for the munitions and security catogory supply packs have been adjusted slightly. In certain places contents also adjusted.
    • +
    • Holoplant now comes in a crate.
    • +
    + +

    05 March 2018

    +

    Anewbe updated:

    +
      +
    • Removes Command Liaison, Bridge Secretary, Hydroponicist, Prospector, Sanitation Technician, Professor, and Historian alt-titles.
    • +
    • Removed universal translators from the loadout.
    • +
    • RnD can print earpiece translators.
    • +
    +

    Mechoid updated:

    +
      +
    • Add a surgical operation for repairing the brainstem of a decapitated individual.
    • +
    • Add a permanent modifier for frankensteining individuals.
    • +
    +

    Nerezza updated:

    +
      +
    • Package bomb detonators can be re-bound by hitting the new package bomb with them.
    • +
    +

    PrismaticGynoid updated:

    +
      +
    • The succumb verb will now work on species that can't take oxyloss damage.
    • +
    + +

    28 February 2018

    +

    Atermonera updated:

    +
      +
    • Adds umbrellas to the loadout, for 3 points. Colorable!
    • +
    +

    Nerezza updated:

    +
      +
    • Using tape (police/medical/engineering) on a hazard shutter now tapes the hazard shutter instead of trying to open the hazard shutter.
    • +
    • Added /tg/-style floor tile swapping. Equip crowbar/screwdriver in offhand and click the floor tiles you want to directly swap with a stack of new floor tiles (like teal carpet).
    • +
    +

    Woodrat updated:

    +
      +
    • Heavy rework of the wilderness, minor adjustments to mining and outpost z-levels. To get to the wilderness you now have to travel through the mine z-level to do so, follow the green flagged path. Through the mine.
    • +
    • Shuttles can now land at a site near the enterance to the wilderness. Removal of the mine shuttle landing pad to move to the wilderness.
    • +
    • New addition of warning sign, thanks to Schnayy.
    • +
    +

    battlefieldCommander updated:

    +
      +
    • Added craftable joints. Dry something (ideally ambrosia) on the drying rack and apply it to a rolling paper to create a joint you can smoke.
    • +
    • Added a box of rolling papers to the cigarette vending machine.
    • +
    + +

    25 February 2018

    +

    Anewbe updated:

    +
      +
    • Splinted bodyparts act broken 30% of the time.
    • +
    • Splinted legs still slow you down like broken ones.
    • +
    +

    Leshana updated:

    +
      +
    • Added a client preference setting for wether Hotkeys Mode should be enabled or disabled by default.
    • +
    • CTRL+NUMPAD8 while playing a robot won't runtime anymore.
    • +
    • Grounding rods act intuitively, only having an expanded lighting catch area when anchored.
    • +
    +

    Nerezza updated:

    +
      +
    • Fixes not being able to install the different carpet colors. Finally.
    • +
    • Removes certain unusable duplicate stacks of tiles from the code.
    • +
    +

    Schnayy updated:

    +
      +
    • Added Gilthari Luxury Champagne. Drink responsibly.
    • +
    • Added a singular AlliCo Baubles and Confectionaries vending machine in the locker rooms. Dispenses a variety of gifts.
    • +
    • Removed hot drinks vendor from locker room.
    • +
    + +

    22 February 2018

    +

    Anewbe updated:

    +
      +
    • Added Warden and HoS helmets.
    • +
    • Clothing items must be click+dragged to be unequipped. A lot of them already had this, but the system is now standardized.
    • +
    • Accessories now apply slowdown to what they're attached to.
    • +
    • Certain items, notably Technomancer spells, no longer show up when you examine the mob wearing them.
    • +
    • Flashbangs confuse, instead of stunning.
    • +
    +

    Atermonera updated:

    +
      +
    • GPS units are generally more useful, providing both coordinate locations and, so long as you're on the same Z level, direction with x-y component distances, to 1m accuracy
    • +
    • Added a halogen counter tool, functions as the PDA function.
    • +
    • Analyzers can now analyze gas containers, in addition to providing atmosphere readouts, as the PDA gas scanner function.
    • +
    • Added umbrellas.
    • +
    +

    battlefieldCommander updated:

    +
      +
    • Added fireplaces which operate similarly to bonfires.
    • +
    • Fixed an oversight that allowed for an in-between state in bonfires where the fire would mysteriously go out after adding wood.
    • +
    • Added blue sifwood floor tiles.
    • +
    • Fixed blue carpet, now known as teal carpet
    • +
    • Added the ability to dig up tree stumps with a shovel.
    • +
    + +

    21 February 2018

    +

    Anewbe updated:

    +
      +
    • Headsets for jobs that spend a lot of time planetside can now function as local radios when comms are down.
    • +
    • Most headsets now have on-mob sprites.
    • +
    • Added a Planetside Gun Permit item, specifying permission to possess a firearm on the planet's surface. Explorers should spawn with these by default, and a further two can be found in their gun locker.
    • +
    • Prometheans now react to water. Being soaked will stop their regen and deal minor toxin damage. Drinking or being injected with water will deal slightly more toxin damage.
    • +
    • Suit Coolers now properly cool FBPs in slightly burning rooms. If it gets too hot for your suit, you're still dead.
    • +
    +

    Leshana updated:

    +
      +
    • Makes electrochromatic glass buildable and programmable in game. Use cable and multitool.
    • +
    +

    Woodrat updated:

    +
      +
    • Additions of 6 new POIs for the cave area.
    • +
    + +

    17 February 2018

    +

    Anewbe updated:

    +
      +
    • Added a random mine spawner, for use in PoIs. Replaces mines in PoIs with the random spawner.
    • +
    • Mines now give a visible message when they go off.
    • +
    • Land mines on the ground can no longer be told apart from one another, to prevent gaming the system.
    • +
    • Hovering mobs (viscerators, drones, Poly, carp) no longer set off land mines.
    • +
    • Arming a land mine now takes concentration. If you move, it will boom.
    • +
    • RINGS AND CERTAIN GLOVES INCREASE PUNCHING DAMAGE.
    • +
    • BRASS KNUCKLES HAVE BEEN TURNED INTO GLOVES AND REBALANCED. THEY DO LESS DAMAGE PER HIT BECAUSE IT'S HARD TO DISARM A PAIR OF GLOVES.
    • +
    • Cyborg Chargers now decrease radiation on FBPs.
    • +
    • Falling one floor now does a lot less damage, on average.
    • +
    • Falling one floor in a Mech no longer hurts the occupant.
    • +
    +

    PrismaticGynoid updated:

    +
      +
    • A lot more machines can now be moved with a wrench, mostly kitchen, hydroponics, and virology machines.
    • +
    • Changed department ponchos to be open to any job, just like department jackets.
    • +
    +

    Schnayy updated:

    +
      +
    • Adds bouquets. Can be ordered via 'gift crate' in cargo.
    • +
    • Adds fake bouquets for the cheap. Can currently be won from arcade machines.
    • +
    • Adds chocolate heart-shaped boxes. Can be ordered via 'gift crate' in cargo.
    • +
    • Adds gift cards with four cover variations. Function like paper. Can be ordered via 'gift crate' in cargo.
    • +
    +

    battlefieldCommander updated:

    +
      +
    • Added packed snow brick material. Craft it using snow piles.
    • +
    • Added snow girders and igloo walls. Craft them using snow bricks.
    • +
    • Added various snowmen. Craft them using snow piles. Punch 'em to destroy.
    • +
    + +

    10 February 2018

    +

    Atermonera updated:

    +
      +
    • Ethylredoxrazine actively removes alcohol from the stomach and bloodstream
    • +
    • GPS units won't report the exact location of other GPS units, just range and approximate direction
    • +
    • POI gps units won't give any information about the POI, merely its location
    • +
    • Adds EMP mines.
    • +
    +

    Cerebulon updated:

    +
      +
    • Adds antibiotic resistance chance to viruses, capped at 90% without admin edits.
    • +
    • Adds adminspawned non-transmittable viruses
    • +
    • Adds several new disease symptoms
    • +
    • Vomit is now a disease vector
    • +
    • Viruses have a lower chance of curing themselves without medical intervention
    • +
    • Virus food no longer infinitely generates in incubator beakers
    • +
    • Xenomorphs and supernatural begins can no longer catch the flu
    • +
    +

    Hubblenaut updated:

    +
      +
    • If a cycling airlock is already near the target pressure, pressing the buttons will toggle the doors instead of making it reenter the cycle process.
    • +
    +

    Leshana and mustafakalash updated:

    +
      +
    • A new 'planetary' mode for airlocks which makes them purge the chamber contents to the exterior atmosphere before filling with clean air, and vice versa.
    • +
    +

    MistyLuminescence updated:

    +
      +
    • Mines are now very, /very/ dangerous to step on (so don't do that). You can disarm them with a multitool and wirecutters - ping is good, beep is bad - or by shooting or exploding them from a distance. Be careful!
    • +
    +

    Woodrat updated:

    +
      +
    • Shaft Miner, Search & Rescue, Explorer can now select webbing vests and pouches from the loadout.
    • +
    • Allow utility uniforms to roll up their sleeves.
    • +
    • Shuttle upgraded with enviroment sensors and shuttle doors that can be detected from the shuttle console.
    • +
    • secure gun cabinets in the hangar control rooms. Locked to armory, explorer, and pilot access.
    • +
    • Redesign of medical surgery rooms, replacement of the closets with wall closets.
    • +
    • Multiple map bugfixes including distro and scrubber lines to deck 3.
    • +
    + +

    07 February 2018

    +

    Anewbe updated:

    +
      +
    • Lessens the bomb, bio, and rad protection on the Explorer Suit.
    • +
    • Replaces the Hunting Rifle cabinets with a Phase Pistol cabinet. Same general purpose, shoot animals, kill animals. Shoot people, get laughed at.
    • +
    • Gloves are generally less protective from shocks.
    • +
    • Budget Insulated Gloves will almost always be better than any other non-insulated glove.
    • +
    • Hyposprays and autoinjectors now have a delay on use when the target is conscious and not in Help Intent.
    • +
    • You need a parachute to survive atmospheric reentry. Closets, mechs, and other impromptu parachutes will not longer prevent splatting.
    • +
    +

    Atermonera updated:

    +
      +
    • ID computer can set command secretary and IAA access
    • +
    • Command secretary has keycard auth. access
    • +
    +

    Cerebulon updated:

    +
      +
    • Added toggleable 'Open' sign to bar hallway so you can tell if it's open without walking inside.
    • +
    +

    Mechoid updated:

    +
      +
    • Adds material girders.
    • +
    • Girder decon time is now partially dependant on material. Stronger girders take slightly longer.
    • +
    • Wall girders are now under the integrity-based construction listing. Material-Name Wall Girder.
    • +
    • Explosive-resistant girders in walls have a chance to survive as an unanchored girder, if their wall is destroyed.
    • +
    • Radioactive girders affect the completed wall's radioactivity.
    • +
    +

    SunnyDaff updated:

    +
      +
    • Added new food items.
    • +
    • Added Onions.
    • +
    • Changed Apple and Lemon Sprite
    • +
    + +

    25 January 2018

    +

    Anewbe updated:

    +
      +
    • Southern Cross Map is now live
    • +
    +

    Arokha updated:

    +
      +
    • Remove borg hud items as they have normal huds as their sensor augs now, and can see records with them.
    • +
    +

    Atermonera updated:

    +
      +
    • Communicators have a flashlight under the settings menu, functions as the PDA one
    • +
    • Station-bound synthetics now have gps units
    • +
    +

    Cerebulon updated:

    +
      +
    • Added 19 food recipes from /tg/station
    • +
    +

    Leshana updated:

    +
      +
    • Sounds of Tesla engine lighting bolts
    • +
    • Sprites for grounding rod and Tesla coil
    • +
    • Sprites for lighting bolts
    • +
    • The Tesla Engine, Tesla Coils, and Grounding Rods
    • +
    • Wiki search URL is now configurable in config.txt
    • +
    • Breaker boxes can be constructed in game.
    • +
    • Construction of heat exchange pipes, vents, and scrubbers now works properly again.
    • +
    • Fix singularity energy balance so it is stable under normal operation.
    • +
    • Fix emitter beams and PA effects from being grav pulled or consumed.
    • +
    • Added the operating manual book for the Tesla Engine.
    • +
    +

    Mechoid updated:

    +
      +
    • Brains can be set to be a source of genetic information.
    • +
    • Promethean cores can be inserted into a cloning scanner to be cloned. This gives them a worse modifier upon completion.
    • +
    • Promethean cores can now have chemicals added or removed from them. Base for future slime cloner.
    • +
    • Species-based cloning sicknesses possible.
    • +
    • Cyboernetic - > Cybernetic
    • +
    +

    Neerti updated:

    +
      +
    • Adds boats that can be ridden by multiple people, which use oars. Can be crafted with large amounts of wooden planks.
    • +
    • Adds autopilot functionality to Southern Cross Shuttle One and Shuttle Two.
    • +
    • Adds ability to rename certain shuttles on the Southern Cross.
    • +
    • Areas about to be occupied by a shuttle will display a visual warning, of a bunch of circles growing over five seconds.
    • +
    +

    SunnyDaff updated:

    +
      +
    • Added new food items.
    • +
    • Added Cider.
    • +
    • Added Apple Juice to bar vending machine.
    • +
    • Fixed Vodka recipe.
    • +
    • Fixed Apple and Carrot cake recipes
    • +
    • Changed Cake recipes to not include fruit juice
    • +
    +

    ZeroBits updated:

    +
      +
    • Added the ability to have multiple loadouts per character.
    • +
    +

    battlefieldCommander updated:

    +
      +
    • Adds a communicator watch, a variant of the communicator you can wear on your wrist.
    • +
    • Replaces the communicator in the loadout with a communicator selection. Choose either the traditional communicator, or the new commwatch.
    • +
    +

    12 January 2018

    Atermonera updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 0a0d110eb72..e7089821102 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -3745,3 +3745,331 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. also do this with other movable objects, if you really wanted to. - tweak: Conscious mobs lying on the ground can now buckle themselves to chairs/beds. This includes people missing legs. +2018-01-25: + Anewbe: + - rscadd: Southern Cross Map is now live + Arokha: + - tweak: Remove borg hud items as they have normal huds as their sensor augs now, + and can see records with them. + Atermonera: + - rscadd: Communicators have a flashlight under the settings menu, functions as + the PDA one + - rscadd: Station-bound synthetics now have gps units + Cerebulon: + - rscadd: Added 19 food recipes from /tg/station + Leshana: + - soundadd: Sounds of Tesla engine lighting bolts + - imageadd: Sprites for grounding rod and Tesla coil + - imageadd: Sprites for lighting bolts + - rscadd: The Tesla Engine, Tesla Coils, and Grounding Rods + - rscadd: Wiki search URL is now configurable in config.txt + - rscadd: Breaker boxes can be constructed in game. + - bugfix: Construction of heat exchange pipes, vents, and scrubbers now works properly + again. + - tweak: Fix singularity energy balance so it is stable under normal operation. + - bugfix: Fix emitter beams and PA effects from being grav pulled or consumed. + - rscadd: Added the operating manual book for the Tesla Engine. + Mechoid: + - rscadd: Brains can be set to be a source of genetic information. + - rscadd: Promethean cores can be inserted into a cloning scanner to be cloned. + This gives them a worse modifier upon completion. + - rscadd: Promethean cores can now have chemicals added or removed from them. Base + for future slime cloner. + - rscadd: Species-based cloning sicknesses possible. + - spellcheck: Cyboernetic - > Cybernetic + Neerti: + - rscadd: Adds boats that can be ridden by multiple people, which use oars. Can + be crafted with large amounts of wooden planks. + - rscadd: Adds autopilot functionality to Southern Cross Shuttle One and Shuttle + Two. + - rscadd: Adds ability to rename certain shuttles on the Southern Cross. + - rscadd: Areas about to be occupied by a shuttle will display a visual warning, + of a bunch of circles growing over five seconds. + SunnyDaff: + - rscadd: Added new food items. + - rscadd: Added Cider. + - rscadd: Added Apple Juice to bar vending machine. + - bugfix: Fixed Vodka recipe. + - bugfix: Fixed Apple and Carrot cake recipes + - tweak: Changed Cake recipes to not include fruit juice + ZeroBits: + - rscadd: Added the ability to have multiple loadouts per character. + battlefieldCommander: + - rscadd: Adds a communicator watch, a variant of the communicator you can wear + on your wrist. + - rscadd: Replaces the communicator in the loadout with a communicator selection. + Choose either the traditional communicator, or the new commwatch. +2018-02-07: + Anewbe: + - tweak: Lessens the bomb, bio, and rad protection on the Explorer Suit. + - tweak: Replaces the Hunting Rifle cabinets with a Phase Pistol cabinet. Same general + purpose, shoot animals, kill animals. Shoot people, get laughed at. + - tweak: Gloves are generally less protective from shocks. + - tweak: Budget Insulated Gloves will almost always be better than any other non-insulated + glove. + - tweak: Hyposprays and autoinjectors now have a delay on use when the target is + conscious and not in Help Intent. + - bugfix: You need a parachute to survive atmospheric reentry. Closets, mechs, and + other impromptu parachutes will not longer prevent splatting. + Atermonera: + - tweak: ID computer can set command secretary and IAA access + - tweak: Command secretary has keycard auth. access + Cerebulon: + - rscadd: Added toggleable 'Open' sign to bar hallway so you can tell if it's open + without walking inside. + Mechoid: + - rscadd: Adds material girders. + - tweak: Girder decon time is now partially dependant on material. Stronger girders + take slightly longer. + - tweak: Wall girders are now under the integrity-based construction listing. Material-Name + Wall Girder. + - rscadd: Explosive-resistant girders in walls have a chance to survive as an unanchored + girder, if their wall is destroyed. + - rscadd: Radioactive girders affect the completed wall's radioactivity. + SunnyDaff: + - rscadd: Added new food items. + - rscadd: Added Onions. + - tweak: Changed Apple and Lemon Sprite +2018-02-10: + Atermonera: + - tweak: Ethylredoxrazine actively removes alcohol from the stomach and bloodstream + - tweak: GPS units won't report the exact location of other GPS units, just range + and approximate direction + - tweak: POI gps units won't give any information about the POI, merely its location + - rscadd: Adds EMP mines. + Cerebulon: + - rscadd: Adds antibiotic resistance chance to viruses, capped at 90% without admin + edits. + - rscadd: Adds adminspawned non-transmittable viruses + - rscadd: Adds several new disease symptoms + - tweak: Vomit is now a disease vector + - tweak: Viruses have a lower chance of curing themselves without medical intervention + - bugfix: Virus food no longer infinitely generates in incubator beakers + - bugfix: Xenomorphs and supernatural begins can no longer catch the flu + Hubblenaut: + - tweak: If a cycling airlock is already near the target pressure, pressing the + buttons will toggle the doors instead of making it reenter the cycle process. + Leshana and mustafakalash: + - rscadd: A new 'planetary' mode for airlocks which makes them purge the chamber + contents to the exterior atmosphere before filling with clean air, and vice + versa. + MistyLuminescence: + - tweak: Mines are now very, /very/ dangerous to step on (so don't do that). You + can disarm them with a multitool and wirecutters - ping is good, beep is bad + - or by shooting or exploding them from a distance. Be careful! + Woodrat: + - rscadd: Shaft Miner, Search & Rescue, Explorer can now select webbing vests and + pouches from the loadout. + - bugfix: Allow utility uniforms to roll up their sleeves. + - rscadd: Shuttle upgraded with enviroment sensors and shuttle doors that can be + detected from the shuttle console. + - rscadd: secure gun cabinets in the hangar control rooms. Locked to armory, explorer, + and pilot access. + - maptweak: Redesign of medical surgery rooms, replacement of the closets with wall + closets. + - bugfix: Multiple map bugfixes including distro and scrubber lines to deck 3. +2018-02-17: + Anewbe: + - rscadd: Added a random mine spawner, for use in PoIs. Replaces mines in PoIs with + the random spawner. + - rscadd: Mines now give a visible message when they go off. + - tweak: Land mines on the ground can no longer be told apart from one another, + to prevent gaming the system. + - bugfix: Hovering mobs (viscerators, drones, Poly, carp) no longer set off land + mines. + - tweak: Arming a land mine now takes concentration. If you move, it will boom. + - tweak: RINGS AND CERTAIN GLOVES INCREASE PUNCHING DAMAGE. + - tweak: BRASS KNUCKLES HAVE BEEN TURNED INTO GLOVES AND REBALANCED. THEY DO LESS + DAMAGE PER HIT BECAUSE IT'S HARD TO DISARM A PAIR OF GLOVES. + - rscadd: Cyborg Chargers now decrease radiation on FBPs. + - tweak: Falling one floor now does a lot less damage, on average. + - bugfix: Falling one floor in a Mech no longer hurts the occupant. + PrismaticGynoid: + - rscadd: A lot more machines can now be moved with a wrench, mostly kitchen, hydroponics, + and virology machines. + - tweak: Changed department ponchos to be open to any job, just like department + jackets. + Schnayy: + - rscadd: Adds bouquets. Can be ordered via 'gift crate' in cargo. + - rscadd: Adds fake bouquets for the cheap. Can currently be won from arcade machines. + - rscadd: Adds chocolate heart-shaped boxes. Can be ordered via 'gift crate' in + cargo. + - rscadd: Adds gift cards with four cover variations. Function like paper. Can be + ordered via 'gift crate' in cargo. + battlefieldCommander: + - rscadd: Added packed snow brick material. Craft it using snow piles. + - recadd: Added snow girders and igloo walls. Craft them using snow bricks. + - rscadd: Added various snowmen. Craft them using snow piles. Punch 'em to destroy. +2018-02-21: + Anewbe: + - rscadd: Headsets for jobs that spend a lot of time planetside can now function + as local radios when comms are down. + - rscadd: Most headsets now have on-mob sprites. + - rscadd: Added a Planetside Gun Permit item, specifying permission to possess a + firearm on the planet's surface. Explorers should spawn with these by default, + and a further two can be found in their gun locker. + - rscadd: Prometheans now react to water. Being soaked will stop their regen and + deal minor toxin damage. Drinking or being injected with water will deal slightly + more toxin damage. + - bugfix: Suit Coolers now properly cool FBPs in slightly burning rooms. If it gets + too hot for your suit, you're still dead. + Leshana: + - rscadd: Makes electrochromatic glass buildable and programmable in game. Use + cable and multitool. + Woodrat: + - rscadd: Additions of 6 new POIs for the cave area. +2018-02-22: + Anewbe: + - rscadd: Added Warden and HoS helmets. + - tweak: Clothing items must be click+dragged to be unequipped. A lot of them already + had this, but the system is now standardized. + - tweak: Accessories now apply slowdown to what they're attached to. + - tweak: Certain items, notably Technomancer spells, no longer show up when you + examine the mob wearing them. + - tweak: Flashbangs confuse, instead of stunning. + Atermonera: + - tweak: GPS units are generally more useful, providing both coordinate locations + and, so long as you're on the same Z level, direction with x-y component distances, + to 1m accuracy + - rscadd: Added a halogen counter tool, functions as the PDA function. + - tweak: Analyzers can now analyze gas containers, in addition to providing atmosphere + readouts, as the PDA gas scanner function. + - rscadd: Added umbrellas. + battlefieldCommander: + - rscadd: Added fireplaces which operate similarly to bonfires. + - bugfix: Fixed an oversight that allowed for an in-between state in bonfires where + the fire would mysteriously go out after adding wood. + - rscadd: Added blue sifwood floor tiles. + - bugfix: Fixed blue carpet, now known as teal carpet + - rscadd: Added the ability to dig up tree stumps with a shovel. +2018-02-25: + Anewbe: + - tweak: Splinted bodyparts act broken 30% of the time. + - tweak: Splinted legs still slow you down like broken ones. + Leshana: + - rscadd: Added a client preference setting for wether Hotkeys Mode should be enabled + or disabled by default. + - bugfix: CTRL+NUMPAD8 while playing a robot won't runtime anymore. + - tweak: Grounding rods act intuitively, only having an expanded lighting catch + area when anchored. + Nerezza: + - bugfix: Fixes not being able to install the different carpet colors. Finally. + - bugfix: Removes certain unusable duplicate stacks of tiles from the code. + Schnayy: + - rscadd: Added Gilthari Luxury Champagne. Drink responsibly. + - rscadd: Added a singular AlliCo Baubles and Confectionaries vending machine in + the locker rooms. Dispenses a variety of gifts. + - rscdel: Removed hot drinks vendor from locker room. +2018-02-28: + Atermonera: + - rscadd: Adds umbrellas to the loadout, for 3 points. Colorable! + Nerezza: + - bugfix: Using tape (police/medical/engineering) on a hazard shutter now tapes + the hazard shutter instead of trying to open the hazard shutter. + - rscadd: Added /tg/-style floor tile swapping. Equip crowbar/screwdriver in offhand + and click the floor tiles you want to directly swap with a stack of new floor + tiles (like teal carpet). + Woodrat: + - maptweak: Heavy rework of the wilderness, minor adjustments to mining and outpost + z-levels. To get to the wilderness you now have to travel through the mine z-level + to do so, follow the green flagged path. Through the mine. + - tweak: Shuttles can now land at a site near the enterance to the wilderness. Removal + of the mine shuttle landing pad to move to the wilderness. + - rscadd: New addition of warning sign, thanks to Schnayy. + battlefieldCommander: + - rscadd: Added craftable joints. Dry something (ideally ambrosia) on the drying + rack and apply it to a rolling paper to create a joint you can smoke. + - rscadd: Added a box of rolling papers to the cigarette vending machine. +2018-03-05: + Anewbe: + - rscdel: Removes Command Liaison, Bridge Secretary, Hydroponicist, Prospector, + Sanitation Technician, Professor, and Historian alt-titles. + - rscdel: Removed universal translators from the loadout. + - rscadd: RnD can print earpiece translators. + Mechoid: + - rscadd: Add a surgical operation for repairing the brainstem of a decapitated + individual. + - rscadd: Add a permanent modifier for frankensteining individuals. + Nerezza: + - rscadd: Package bomb detonators can be re-bound by hitting the new package bomb + with them. + PrismaticGynoid: + - bugfix: The succumb verb will now work on species that can't take oxyloss damage. +2018-03-15: + Anewbe: + - tweak: Pills and ingested reagents actually process at half speed, rather than + just ignoring half of the reagents. + - rscdel: Robotic limbs now need internal repair at 30 composite damage, rather + than 30 of burn or brute. + - tweak: Syringes now inject their entire payload with one click, but in 5 unit + increments. There is a delay in between each of these. + - rscadd: Assisted robotic organs (internals, eyes) are less vulnerable to EMP. + - rscdel: Lifelike robotic organs (currently VeyMed) are more vulnerable to EMP. + Cerebulon: + - rscadd: Added Akhani language for Tajaran. + - spellcheck: Fixed incorrect singular form of Tajaran in several places. + MisterLayne: + - rscadd: Added a version of the ED-209 called the ED-CLN. It is a more efficient + Cleanbot. + - bugfix: Reinforced snowballs can now actually be made in a reasonable time limit. + Nerezza: + - tweak: Broken APCs can be bashed open with slightly smaller objects now. This + means wrenches are acceptable, no need to hunt down a fire extinguisher. + - rscdel: EVA rigsuit/hardsuit no longer holds toolboxes in suit storage since those + have been a volume inventory for some time now. RIP ghetto satchel. + - rsctweak: CE's rigsuit/hardsuit no longer holds pickaxes and ore satchels, but + can now hold inflateables. + - bugfix: Retracting rigsuit/hardsuit helmets with no valid mask equipped now disables + internals. + - bugfix: Offline rigsuits/hardsuits are no longer considered valid air supplies + by the internals button. Before, your internals would instantly shut off before + you could get a breath out of the rigsuit. Now, the internals button will look + for a different tank instead. + - rscadd: Tajaran now get to keep their tails when they wear the EVA, RD, or Industrial + rigsuits/hardsuits. Unathi sprites to come soon! + - bugfix: Sifwood floor tiles now correctly use their double-stacked icon instead + of disappearing. + Woodrat: + - rscadd: Added in a weapons crate for explorers that has bolt action rifles. + - rscadd: Weapon powercells can be ordered from cargo (security access crate). + - tweak: Automatic weapons crate split into two crates now. One for SMGs one for + the rifle. Minor adjustments to other munitions and security supply packs as + well. + - rscadd: The automatic weapons ammo crate has also been split. + - tweak: Names of the crates for the munitions and security catogory supply packs + have been adjusted slightly. In certain places contents also adjusted. + - bugfix: Holoplant now comes in a crate. +2018-04-01: + Anewbe: + - tweak: Medical Doctors and EMTs spawn with white medkits. + Cameron653: + - rscadd: Adds a xenoarch excavation tool, craftable in R&D. Allows depth selection + of 1-30 + - rscadd: Adds a xenoarch multitool, craftable in R&D. Has xenoarch counter, measure + tool, and depth scanner all in one. + Heroman3003: + - bugfix: Attaching exosuit equipment with a gripper correctly removes it from the + gripper. + - bugfix: Engineering gripper can no longer duplicate frame parts. + MistyLuminescence: + - tweak: Wallets can now hold a wider variety of objects. + Woodrat: + - rscadd: Added two 44 cal revolvers. + - rscadd: Added 44 cal speedloader for revolvers. + - rscadd: Added 44 cal rubber rounds. + - bugfix: Fixed the icon_state for 'structure/plushie/carp' and the random first + aid kit spawner. + - rscadd: Added a random chance tool spawn for power tools (most of the time it + should still just be regular tools). + - tweak: Adjusted the spawn rate of medkits, combat medkits should be more rare. + - tweak: Cash split into its own loot item. + - tweak: Plushies split into large and small plushies. + - rscadd: All the extra plushie spawns added to the random plushie spawn. + - tweak: Eightball and conch shell added to toy spawns. + - rscadd: Added spawn points for the large plushies, cash, and the power tools to + the station. + battlefieldCommander: + - rscadd: Added permanent markers, an alternative to crayons. + - tweak: The chemistry recipe for paint now uses marker ink instead of crayon dust. + - rscdel: Removed crayon boxes from the map. They can still be ordered from cargo + in case you need a snack. diff --git a/html/changelogs/Arokha - Borghuds.yml b/html/changelogs/Arokha - Borghuds.yml deleted file mode 100644 index 87bd63b6f72..00000000000 --- a/html/changelogs/Arokha - Borghuds.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Arokha -delete-after: True -changes: - - tweak: "Remove borg hud items as they have normal huds as their sensor augs now, and can see records with them." diff --git a/html/changelogs/Atermonera - Commlight.yml b/html/changelogs/Atermonera - Commlight.yml deleted file mode 100644 index 338d138da58..00000000000 --- a/html/changelogs/Atermonera - Commlight.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Atermonera - -delete-after: True - - - rscadd: "Communicators have a flashlight under the settings menu, functions as the PDA one" diff --git a/html/changelogs/Atermonera - int_gps.yml b/html/changelogs/Atermonera - int_gps.yml deleted file mode 100644 index e08ec6f4f64..00000000000 --- a/html/changelogs/Atermonera - int_gps.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Atermonera - -delete-after: True - - - rscadd: "Station-bound synthetics now have gps units" diff --git a/html/changelogs/Cerebulon - TGFood.yml b/html/changelogs/Cerebulon - TGFood.yml deleted file mode 100644 index 39c8e376e99..00000000000 --- a/html/changelogs/Cerebulon - TGFood.yml +++ /dev/null @@ -1,7 +0,0 @@ - -author: Cerebulon - -delete-after: True - -changes: - - rscadd: "Added 19 food recipes from /tg/station" diff --git a/html/changelogs/Leshana-breakerbox.yml b/html/changelogs/Leshana-breakerbox.yml deleted file mode 100644 index d585da1457c..00000000000 --- a/html/changelogs/Leshana-breakerbox.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Leshana -delete-after: True -changes: - - rscadd: "Breaker boxes can be constructed in game." diff --git a/html/changelogs/Leshana-he-pipes-fix.yml b/html/changelogs/Leshana-he-pipes-fix.yml deleted file mode 100644 index e35c1ba33b7..00000000000 --- a/html/changelogs/Leshana-he-pipes-fix.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Leshana -delete-after: True -changes: - - bugfix: "Construction of heat exchange pipes, vents, and scrubbers now works properly again." diff --git a/html/changelogs/Leshana-singulo.yml b/html/changelogs/Leshana-singulo.yml deleted file mode 100644 index 1037a52898e..00000000000 --- a/html/changelogs/Leshana-singulo.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Leshana -delete-after: True -changes: - - tweak: "Fix singularity energy balance so it is stable under normal operation." - - bugfix: "Fix emitter beams and PA effects from being grav pulled or consumed." diff --git a/html/changelogs/Leshana-tesla-book.yml b/html/changelogs/Leshana-tesla-book.yml deleted file mode 100644 index bcae6fc94e5..00000000000 --- a/html/changelogs/Leshana-tesla-book.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Leshana -delete-after: True -changes: - - rscadd: "Added the operating manual book for the Tesla Engine." diff --git a/html/changelogs/Leshana-tesla.yml b/html/changelogs/Leshana-tesla.yml deleted file mode 100644 index 8910bebb4b7..00000000000 --- a/html/changelogs/Leshana-tesla.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Leshana -delete-after: True - - soundadd: "Sounds of Tesla engine lighting bolts" - - imageadd: "Sprites for grounding rod and Tesla coil" - - imageadd: "Sprites for lighting bolts" - - rscadd: "The Tesla Engine, Tesla Coils, and Grounding Rods" diff --git a/html/changelogs/Leshana-wikisearch.yml b/html/changelogs/Leshana-wikisearch.yml deleted file mode 100644 index aaa6947da58..00000000000 --- a/html/changelogs/Leshana-wikisearch.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Leshana -delete-after: True -changes: - - rscadd: "Wiki search URL is now configurable in config.txt" diff --git a/html/changelogs/Mechoid-PrometheanCloning.yml b/html/changelogs/Mechoid-PrometheanCloning.yml deleted file mode 100644 index cbc5887a645..00000000000 --- a/html/changelogs/Mechoid-PrometheanCloning.yml +++ /dev/null @@ -1,11 +0,0 @@ - -author: Mechoid - -delete-after: True - -changes: - - rscadd: "Brains can be set to be a source of genetic information." - - rscadd: "Promethean cores can be inserted into a cloning scanner to be cloned. This gives them a worse modifier upon completion." - - rscadd: "Promethean cores can now have chemicals added or removed from them. Base for future slime cloner." - - rscadd: "Species-based cloning sicknesses possible." - - spellcheck: "Cyboernetic - > Cybernetic" diff --git a/html/changelogs/Neerti - Boats.yml b/html/changelogs/Neerti - Boats.yml deleted file mode 100644 index 855b8eb69bc..00000000000 --- a/html/changelogs/Neerti - Boats.yml +++ /dev/null @@ -1,36 +0,0 @@ -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscadd (general adding of nice things) -# rscdel (general deleting of nice things) -# imageadd -# imagedel -# maptweak -# spellcheck (typo fixes) -# experiment -################################# - -# Your name. -author: Neerti - -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -delete-after: True - -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. -# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. -changes: - - rscadd: "Adds boats that can be ridden by multiple people, which use oars. Can be crafted with large amounts of wooden planks." diff --git a/html/changelogs/PrismaticGynoid-toomanyloadouts.yml b/html/changelogs/PrismaticGynoid-toomanyloadouts.yml deleted file mode 100644 index 8df98cfc4fa..00000000000 --- a/html/changelogs/PrismaticGynoid-toomanyloadouts.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: ZeroBits -delete-after: True -changes: - - rscadd: "Added the ability to have multiple loadouts per character." diff --git a/html/changelogs/SunnyDaff-OnionFoodandPlantTweaks.yml b/html/changelogs/SunnyDaff-OnionFoodandPlantTweaks.yml deleted file mode 100644 index 76a1d70eb9c..00000000000 --- a/html/changelogs/SunnyDaff-OnionFoodandPlantTweaks.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: SunnyDaff -delete-after: True - - - rscadd: Added new food items. - - rscadd: Added Onions. - - tweak: Changed Apple and Lemon Sprite - diff --git a/html/changelogs/SunnyDaff-foodanddrink.yml b/html/changelogs/SunnyDaff-foodanddrink.yml deleted file mode 100644 index 878be7a2038..00000000000 --- a/html/changelogs/SunnyDaff-foodanddrink.yml +++ /dev/null @@ -1,10 +0,0 @@ -author: SunnyDaff -delete-after: True - - - rscadd: Added new food items. - - rscadd: Added Cider. - - rscadd: Added Apple Juice to bar vending machine. - - bugfix: Fixed Vodka recipe. - - bugfix: Fixed Apple and Carrot cake recipes - - tweak: Changed Cake recipes to not include fruit juice - diff --git a/html/changelogs/Neerti - Shuttles.yml b/html/changelogs/Woodrat - Bugfixes.yml similarity index 70% rename from html/changelogs/Neerti - Shuttles.yml rename to html/changelogs/Woodrat - Bugfixes.yml index 60dd117beca..9e42ad9edcf 100644 --- a/html/changelogs/Neerti - Shuttles.yml +++ b/html/changelogs/Woodrat - Bugfixes.yml @@ -22,7 +22,7 @@ ################################# # Your name. -author: Neerti +author: Woodrat # Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. delete-after: True @@ -33,6 +33,11 @@ delete-after: True # Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. # Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. changes: - - rscadd: "Adds autopilot functionality to Southern Cross Shuttle One and Shuttle Two." - - rscadd: "Adds ability to rename certain shuttles on the Southern Cross." - - rscadd: "Areas about to be occupied by a shuttle will display a visual warning, of a bunch of circles growing over five seconds." + - bugfix: "Flashers in brig cells now should work, extra floor flash in communal brig to deal with crims." + - bugfix: "Inproper access, SMES rooms." + - bugfix: "Trader start point being dark now fixed." + - rscadd: "Medical Vendor Plus has more advanced burn and trauma kits." + - tweak: "Cell 1 and 2 in the brig can now be accessed by detectives." + - tweak: "Additional r-walls next to the engine room to help with rads." + - tweak: "Floor decals in a couple areas." + - tweak: "RD office now has its telescreen back." \ No newline at end of file diff --git a/html/changelogs/battlefieldcommander - ithinktheclockisslow.yml b/html/changelogs/battlefieldcommander - ithinktheclockisslow.yml deleted file mode 100644 index 4c011e906f2..00000000000 --- a/html/changelogs/battlefieldcommander - ithinktheclockisslow.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: battlefieldCommander -delete-after: True -changes: - - rscadd: "Adds a communicator watch, a variant of the communicator you can wear on your wrist." - - rscadd: "Replaces the communicator in the loadout with a communicator selection. Choose either the traditional communicator, or the new commwatch." \ No newline at end of file diff --git a/html/changelogs/example - Copy.yml b/html/changelogs/example - Copy.yml deleted file mode 100644 index 80056ef0ead..00000000000 --- a/html/changelogs/example - Copy.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Belsima - -delete-after: True - - - tweak: "Maintenance drones may now ventcrawl." diff --git a/html/changelogs/lorwp-pilotfallback.yml b/html/changelogs/lorwp-pilotfallback.yml new file mode 100644 index 00000000000..eccc2538bb7 --- /dev/null +++ b/html/changelogs/lorwp-pilotfallback.yml @@ -0,0 +1,13 @@ +# Your name. +author: lorwp + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixes Pilot headsets not being able to fallback to shortwave radio" \ No newline at end of file diff --git a/icons/atmos/heat.dmi b/icons/atmos/heat.dmi index 1014c2015b0..8ac9682df1f 100644 Binary files a/icons/atmos/heat.dmi and b/icons/atmos/heat.dmi differ diff --git a/icons/atmos/junction.dmi b/icons/atmos/junction.dmi index 892f5823f2e..36704e0e478 100644 Binary files a/icons/atmos/junction.dmi and b/icons/atmos/junction.dmi differ diff --git a/icons/atmos/pipes.dmi b/icons/atmos/pipes.dmi index 6bd0b15f618..8134604e8a6 100644 Binary files a/icons/atmos/pipes.dmi and b/icons/atmos/pipes.dmi differ diff --git a/icons/chattags.dmi b/icons/chattags.dmi index d9e1c62a30c..699f1b53a16 100644 Binary files a/icons/chattags.dmi and b/icons/chattags.dmi differ diff --git a/icons/effects/128x48.dmi b/icons/effects/128x48.dmi index 71038ffdbf8..b5dcca7e356 100644 Binary files a/icons/effects/128x48.dmi and b/icons/effects/128x48.dmi differ diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index f0146ec2cc4..95e060cbd57 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 93ff2d2ff9f..95bab905715 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/projectiles.dmi b/icons/effects/projectiles.dmi index b20126b60db..2bf7813e05b 100644 Binary files a/icons/effects/projectiles.dmi and b/icons/effects/projectiles.dmi differ diff --git a/icons/jungle.dmi b/icons/jungle.dmi index f27897881ce..484decf75ee 100644 Binary files a/icons/jungle.dmi and b/icons/jungle.dmi differ diff --git a/icons/mecha/mech_construct.dmi b/icons/mecha/mech_construct.dmi index 9213e418ff8..22b85b0a787 100644 Binary files a/icons/mecha/mech_construct.dmi and b/icons/mecha/mech_construct.dmi differ diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index 5cf5b9cae70..225958a7db1 100644 Binary files a/icons/mecha/mech_construction.dmi and b/icons/mecha/mech_construction.dmi differ diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 743ed24466b..5c3bb92b76b 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mecha/mecha64x64.dmi b/icons/mecha/mecha64x64.dmi new file mode 100644 index 00000000000..37c60a6286a Binary files /dev/null and b/icons/mecha/mecha64x64.dmi differ diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index d9240628e53..90cc743bcff 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index e0fa980fb9a..601d40b4dc3 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index 6b0397c9e11..54b20e01650 100644 Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ diff --git a/icons/mob/corgi_head.dmi b/icons/mob/corgi_head.dmi index 105bdf47502..ca62243e79b 100644 Binary files a/icons/mob/corgi_head.dmi and b/icons/mob/corgi_head.dmi differ diff --git a/icons/mob/ears.dmi b/icons/mob/ears.dmi index 88caed94c8c..cf2530e2192 100644 Binary files a/icons/mob/ears.dmi and b/icons/mob/ears.dmi differ diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index e61f2d55ac8..ba1c32c26ae 100644 Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index f50c46167d5..cc467f5df75 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 8992f9d2c6b..412f267e90d 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 75249fb4abd..c497e7c73db 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/bishop/bishop_main.dmi b/icons/mob/human_races/cyberlimbs/bishop/bishop_main.dmi index ce332e9bc4c..d88df87ddb1 100644 Binary files a/icons/mob/human_races/cyberlimbs/bishop/bishop_main.dmi and b/icons/mob/human_races/cyberlimbs/bishop/bishop_main.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi b/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi index 934440632ff..6e121c4c7bc 100644 Binary files a/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi and b/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_alt1.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_main.dmi b/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_main.dmi index c30253905f1..216938d0b39 100644 Binary files a/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_main.dmi and b/icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_main.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/grayson/grayson_main.dmi b/icons/mob/human_races/cyberlimbs/grayson/grayson_main.dmi index 4fd25b4bbd1..f27b5246b4f 100644 Binary files a/icons/mob/human_races/cyberlimbs/grayson/grayson_main.dmi and b/icons/mob/human_races/cyberlimbs/grayson/grayson_main.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi b/icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi index 5c466d63ed5..dc1cee22621 100644 Binary files a/icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi and b/icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi b/icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi index 8694f1b16fa..1acd71f0550 100644 Binary files a/icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi and b/icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi differ diff --git a/icons/mob/human_races/robotic.dmi b/icons/mob/human_races/robotic.dmi index e98d2e35129..3d14ae415aa 100644 Binary files a/icons/mob/human_races/robotic.dmi and b/icons/mob/human_races/robotic.dmi differ diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index e7de0f84f53..9a8adaeae07 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi index cc203abe61f..1a830a6e49f 100644 Binary files a/icons/mob/items/lefthand_guns.dmi and b/icons/mob/items/lefthand_guns.dmi differ diff --git a/icons/mob/items/lefthand_hats.dmi b/icons/mob/items/lefthand_hats.dmi index 58572857fce..6be64d7a7d7 100644 Binary files a/icons/mob/items/lefthand_hats.dmi and b/icons/mob/items/lefthand_hats.dmi differ diff --git a/icons/mob/items/lefthand_holder.dmi b/icons/mob/items/lefthand_holder.dmi index cbf2330d1e3..a3af18a5d0a 100644 Binary files a/icons/mob/items/lefthand_holder.dmi and b/icons/mob/items/lefthand_holder.dmi differ diff --git a/icons/mob/items/lefthand_melee.dmi b/icons/mob/items/lefthand_melee.dmi index 0f08605207a..790d93eca66 100644 Binary files a/icons/mob/items/lefthand_melee.dmi and b/icons/mob/items/lefthand_melee.dmi differ diff --git a/icons/mob/items/lefthand_storage.dmi b/icons/mob/items/lefthand_storage.dmi index 9cd0cb1d52c..d7e1c4ec104 100644 Binary files a/icons/mob/items/lefthand_storage.dmi and b/icons/mob/items/lefthand_storage.dmi differ diff --git a/icons/mob/items/lefthand_suits.dmi b/icons/mob/items/lefthand_suits.dmi index 8e4053f8a4e..19b8980747f 100644 Binary files a/icons/mob/items/lefthand_suits.dmi and b/icons/mob/items/lefthand_suits.dmi differ diff --git a/icons/mob/items/lefthand_uniforms.dmi b/icons/mob/items/lefthand_uniforms.dmi index 02d12e4f799..33fcf070b14 100644 Binary files a/icons/mob/items/lefthand_uniforms.dmi and b/icons/mob/items/lefthand_uniforms.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 242e2b599e7..d2b58c3297d 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/mob/items/righthand_guns.dmi b/icons/mob/items/righthand_guns.dmi index 989fd341e23..8a7c74bf3d0 100644 Binary files a/icons/mob/items/righthand_guns.dmi and b/icons/mob/items/righthand_guns.dmi differ diff --git a/icons/mob/items/righthand_hats.dmi b/icons/mob/items/righthand_hats.dmi index 7d089a8a0ff..8bf6d4155de 100644 Binary files a/icons/mob/items/righthand_hats.dmi and b/icons/mob/items/righthand_hats.dmi differ diff --git a/icons/mob/items/righthand_holder.dmi b/icons/mob/items/righthand_holder.dmi index ac5dd46ae10..ee4b26869e6 100644 Binary files a/icons/mob/items/righthand_holder.dmi and b/icons/mob/items/righthand_holder.dmi differ diff --git a/icons/mob/items/righthand_melee.dmi b/icons/mob/items/righthand_melee.dmi index c1313715a6f..8c1068a0331 100644 Binary files a/icons/mob/items/righthand_melee.dmi and b/icons/mob/items/righthand_melee.dmi differ diff --git a/icons/mob/items/righthand_storage.dmi b/icons/mob/items/righthand_storage.dmi index e3ecbc1f09b..66646547c57 100644 Binary files a/icons/mob/items/righthand_storage.dmi and b/icons/mob/items/righthand_storage.dmi differ diff --git a/icons/mob/items/righthand_suits.dmi b/icons/mob/items/righthand_suits.dmi index 5fe54033041..ef19860f96a 100644 Binary files a/icons/mob/items/righthand_suits.dmi and b/icons/mob/items/righthand_suits.dmi differ diff --git a/icons/mob/items/righthand_uniforms.dmi b/icons/mob/items/righthand_uniforms.dmi index 88710db2d54..ca713f54553 100644 Binary files a/icons/mob/items/righthand_uniforms.dmi and b/icons/mob/items/righthand_uniforms.dmi differ diff --git a/icons/mob/light_overlays.dmi b/icons/mob/light_overlays.dmi index fb942bbce56..9a93faef344 100644 Binary files a/icons/mob/light_overlays.dmi and b/icons/mob/light_overlays.dmi differ diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index 8b30f00c6f3..d1c15d8b614 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 33133bda47b..1b0e592001a 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ diff --git a/icons/mob/modifier_effects.dmi b/icons/mob/modifier_effects.dmi index 947c6532f9c..262e45e717e 100644 Binary files a/icons/mob/modifier_effects.dmi and b/icons/mob/modifier_effects.dmi differ diff --git a/icons/mob/modular_armor.dmi b/icons/mob/modular_armor.dmi index 2c7d8ea841c..f8e4fe7738e 100644 Binary files a/icons/mob/modular_armor.dmi and b/icons/mob/modular_armor.dmi differ diff --git a/maps/southern_cross/icons/mob/sc_head.dmi b/icons/mob/pilot_helmet.dmi similarity index 100% rename from maps/southern_cross/icons/mob/sc_head.dmi rename to icons/mob/pilot_helmet.dmi diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index a331158939b..21fab3ba636 100644 Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 6828c365eac..0798bbc4d3c 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_animal.dmi b/icons/mob/screen1_animal.dmi new file mode 100644 index 00000000000..51b971a075c Binary files /dev/null and b/icons/mob/screen1_animal.dmi differ diff --git a/icons/mob/screen1_construct.dmi b/icons/mob/screen1_construct.dmi index 67a37ccd738..0502ba5380f 100644 Binary files a/icons/mob/screen1_construct.dmi and b/icons/mob/screen1_construct.dmi differ diff --git a/icons/mob/screen1_robot.dmi b/icons/mob/screen1_robot.dmi index c89dd8a01e9..b991f26d437 100644 Binary files a/icons/mob/screen1_robot.dmi and b/icons/mob/screen1_robot.dmi differ diff --git a/icons/mob/screen1_robot_minimalist.dmi b/icons/mob/screen1_robot_minimalist.dmi index 819d938faee..c05e304763b 100644 Binary files a/icons/mob/screen1_robot_minimalist.dmi and b/icons/mob/screen1_robot_minimalist.dmi differ diff --git a/icons/mob/screen_spells.dmi b/icons/mob/screen_spells.dmi index de2e1354c35..c320d53590b 100644 Binary files a/icons/mob/screen_spells.dmi and b/icons/mob/screen_spells.dmi differ diff --git a/icons/mob/species/seromi/back.dmi b/icons/mob/species/seromi/back.dmi index 597c43e2343..d0af48607cd 100644 Binary files a/icons/mob/species/seromi/back.dmi and b/icons/mob/species/seromi/back.dmi differ diff --git a/icons/mob/species/seromi/head.dmi b/icons/mob/species/seromi/head.dmi index 03169556026..849144c6f33 100644 Binary files a/icons/mob/species/seromi/head.dmi and b/icons/mob/species/seromi/head.dmi differ diff --git a/maps/southern_cross/icons/mob/species/teshari/sc_head.dmi b/icons/mob/species/seromi/pilot_helmet.dmi similarity index 100% rename from maps/southern_cross/icons/mob/species/teshari/sc_head.dmi rename to icons/mob/species/seromi/pilot_helmet.dmi diff --git a/icons/mob/species/seromi/suit.dmi b/icons/mob/species/seromi/suit.dmi index 31bc6a28907..14f5755ef51 100644 Binary files a/icons/mob/species/seromi/suit.dmi and b/icons/mob/species/seromi/suit.dmi differ diff --git a/icons/mob/species/seromi/ties.dmi b/icons/mob/species/seromi/ties.dmi index 7e076caf44d..bd88c2dedd8 100644 Binary files a/icons/mob/species/seromi/ties.dmi and b/icons/mob/species/seromi/ties.dmi differ diff --git a/icons/mob/species/seromi/uniform.dmi b/icons/mob/species/seromi/uniform.dmi index 3dd7efe4a55..c354d0bd12d 100644 Binary files a/icons/mob/species/seromi/uniform.dmi and b/icons/mob/species/seromi/uniform.dmi differ diff --git a/icons/mob/species/skrell/helmet.dmi b/icons/mob/species/skrell/helmet.dmi index 4d56c2a68a2..31f409043fa 100644 Binary files a/icons/mob/species/skrell/helmet.dmi and b/icons/mob/species/skrell/helmet.dmi differ diff --git a/icons/mob/species/skrell/suit.dmi b/icons/mob/species/skrell/suit.dmi index ab7f7128446..0283191265c 100644 Binary files a/icons/mob/species/skrell/suit.dmi and b/icons/mob/species/skrell/suit.dmi differ diff --git a/icons/mob/species/tajaran/helmet.dmi b/icons/mob/species/tajaran/helmet.dmi index 0aafc2d8ea6..cac6e5f53d2 100644 Binary files a/icons/mob/species/tajaran/helmet.dmi and b/icons/mob/species/tajaran/helmet.dmi differ diff --git a/icons/mob/species/tajaran/suit.dmi b/icons/mob/species/tajaran/suit.dmi index 60bb13c6e1a..eb2b0d67536 100644 Binary files a/icons/mob/species/tajaran/suit.dmi and b/icons/mob/species/tajaran/suit.dmi differ diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi index 9f43a8d6649..ec10064bcf5 100644 Binary files a/icons/mob/species/unathi/helmet.dmi and b/icons/mob/species/unathi/helmet.dmi differ diff --git a/icons/mob/species/unathi/suit.dmi b/icons/mob/species/unathi/suit.dmi index d3a54865fd7..7c9e5022cff 100644 Binary files a/icons/mob/species/unathi/suit.dmi and b/icons/mob/species/unathi/suit.dmi differ diff --git a/icons/mob/species/vox/uniform.dmi b/icons/mob/species/vox/uniform.dmi index 46fe74d39c2..6e33c45b5e5 100644 Binary files a/icons/mob/species/vox/uniform.dmi and b/icons/mob/species/vox/uniform.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 8bb300d163a..c75364ed562 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index d23e81d7bd9..0aeb1485392 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 5261e549f8d..9e50b538ac9 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/mob/uniform_rolled_down.dmi b/icons/mob/uniform_rolled_down.dmi index e3799468510..cad1f2ba979 100644 Binary files a/icons/mob/uniform_rolled_down.dmi and b/icons/mob/uniform_rolled_down.dmi differ diff --git a/icons/mob/uniform_sleeves_rolled.dmi b/icons/mob/uniform_sleeves_rolled.dmi index 6f7d959fd61..84496075cc2 100644 Binary files a/icons/mob/uniform_sleeves_rolled.dmi and b/icons/mob/uniform_sleeves_rolled.dmi differ diff --git a/icons/obj/aibots.dmi b/icons/obj/aibots.dmi index abcf7c1cf9e..d6332e0d299 100644 Binary files a/icons/obj/aibots.dmi and b/icons/obj/aibots.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 43bb082f573..ceea8bf2b7e 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/bones.dmi b/icons/obj/bones.dmi new file mode 100644 index 00000000000..974d8b40ca5 Binary files /dev/null and b/icons/obj/bones.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index b621d054748..e32b870d99d 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/candle.dmi b/icons/obj/candle.dmi index 19bf2b394f7..6a01c71e52e 100644 Binary files a/icons/obj/candle.dmi and b/icons/obj/candle.dmi differ diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index d6865b47b36..e9f17c391d1 100644 Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ diff --git a/icons/obj/closet.dmi b/icons/obj/closet.dmi index cf99daa0670..5fd95e85d72 100644 Binary files a/icons/obj/closet.dmi and b/icons/obj/closet.dmi differ diff --git a/icons/obj/clothing/backpack.dmi b/icons/obj/clothing/backpack.dmi index a5b109af2bb..e64ac2d3b04 100644 Binary files a/icons/obj/clothing/backpack.dmi and b/icons/obj/clothing/backpack.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index bc4e1880c69..6fa2c8c23b1 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index ff20e5913e6..a0c2983ea7b 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index a823ec20186..8d0e7de5e87 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/modular_armor.dmi b/icons/obj/clothing/modular_armor.dmi index 89ef66aa8cb..10bffa08579 100644 Binary files a/icons/obj/clothing/modular_armor.dmi and b/icons/obj/clothing/modular_armor.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index a87dcc3a812..c1e45458257 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/species/seromi/suits.dmi b/icons/obj/clothing/species/seromi/suits.dmi index 8324d9274d1..cd8ee95287a 100644 Binary files a/icons/obj/clothing/species/seromi/suits.dmi and b/icons/obj/clothing/species/seromi/suits.dmi differ diff --git a/icons/obj/clothing/species/seromi/uniform.dmi b/icons/obj/clothing/species/seromi/uniform.dmi index dbb76626e0d..053d839a88b 100644 Binary files a/icons/obj/clothing/species/seromi/uniform.dmi and b/icons/obj/clothing/species/seromi/uniform.dmi differ diff --git a/icons/obj/clothing/species/skrell/suits.dmi b/icons/obj/clothing/species/skrell/suits.dmi index 00a304a1972..30d404ac823 100644 Binary files a/icons/obj/clothing/species/skrell/suits.dmi and b/icons/obj/clothing/species/skrell/suits.dmi differ diff --git a/icons/obj/clothing/species/tajaran/suits.dmi b/icons/obj/clothing/species/tajaran/suits.dmi index a18223677f0..d9b3a8ff350 100644 Binary files a/icons/obj/clothing/species/tajaran/suits.dmi and b/icons/obj/clothing/species/tajaran/suits.dmi differ diff --git a/icons/obj/clothing/species/unathi/suits.dmi b/icons/obj/clothing/species/unathi/suits.dmi index 21e0f8bcd71..5c0f9c3e200 100644 Binary files a/icons/obj/clothing/species/unathi/suits.dmi and b/icons/obj/clothing/species/unathi/suits.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 174f820ea09..ab8812741a3 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 944a4938b42..b71acb7ada4 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index eeb8183879d..2d8e89049e3 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/crayons.dmi b/icons/obj/crayons.dmi index 7ebabd5a81e..80ab2d153ca 100644 Binary files a/icons/obj/crayons.dmi and b/icons/obj/crayons.dmi differ diff --git a/icons/obj/cryogenics_split.dmi b/icons/obj/cryogenics_split.dmi index a25513a1435..86ef62b6f8c 100644 Binary files a/icons/obj/cryogenics_split.dmi and b/icons/obj/cryogenics_split.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 908d3ade7c2..e0e3305d44f 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/doors/doormed.dmi b/icons/obj/doors/doormed.dmi index 30a34246314..7ededf2e3cb 100644 Binary files a/icons/obj/doors/doormed.dmi and b/icons/obj/doors/doormed.dmi differ diff --git a/icons/obj/doors/doormedglass.dmi b/icons/obj/doors/doormedglass.dmi index 2d86a8ed812..da84aae6a2f 100644 Binary files a/icons/obj/doors/doormedglass.dmi and b/icons/obj/doors/doormedglass.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 12993651aa1..51d3f4d3696 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/flora/snowflora.dmi b/icons/obj/flora/snowflora.dmi index 11cbf5a5053..873763ddd91 100644 Binary files a/icons/obj/flora/snowflora.dmi and b/icons/obj/flora/snowflora.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 14f54fb5dcf..d282fb3e6a0 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/furniture.dmi b/icons/obj/furniture.dmi index 42697f358d3..c682fff46c6 100644 Binary files a/icons/obj/furniture.dmi and b/icons/obj/furniture.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index d7a107da940..3ea938e4eef 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/icons/obj/holoplants.dmi b/icons/obj/holoplants.dmi new file mode 100644 index 00000000000..aada565b95a Binary files /dev/null and b/icons/obj/holoplants.dmi differ diff --git a/icons/obj/holosign.dmi b/icons/obj/holosign.dmi index c1ce98cdd35..46e5dfbb42c 100644 Binary files a/icons/obj/holosign.dmi and b/icons/obj/holosign.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 684cb25b59a..a8e41841c33 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index 6a1f99d2cda..4ef2ddddc69 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ diff --git a/icons/obj/light_overlays.dmi b/icons/obj/light_overlays.dmi index c7bb310ce96..d5d6499305b 100644 Binary files a/icons/obj/light_overlays.dmi and b/icons/obj/light_overlays.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index c761dacf1e8..f79493ec033 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/machines/particle_accelerator2.dmi b/icons/obj/machines/particle_accelerator2.dmi index ace6526b601..2e26651e441 100644 Binary files a/icons/obj/machines/particle_accelerator2.dmi and b/icons/obj/machines/particle_accelerator2.dmi differ diff --git a/icons/obj/machines/power/fusion.dmi b/icons/obj/machines/power/fusion.dmi index be236a145e9..4d20f04fcda 100644 Binary files a/icons/obj/machines/power/fusion.dmi and b/icons/obj/machines/power/fusion.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 30f8cdde7c9..02c1c642cf2 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index b764be7e73e..9928e2fee21 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/icons/obj/pda_old.dmi b/icons/obj/pda_old.dmi index 1799aeab526..d3934be3411 100644 Binary files a/icons/obj/pda_old.dmi and b/icons/obj/pda_old.dmi differ diff --git a/icons/obj/pda_slim.dmi b/icons/obj/pda_slim.dmi index 1e266551751..0e5e8b7ee32 100644 Binary files a/icons/obj/pda_slim.dmi and b/icons/obj/pda_slim.dmi differ diff --git a/icons/obj/piloting_overlay.dmi b/icons/obj/piloting_overlay.dmi new file mode 100644 index 00000000000..56074a50045 Binary files /dev/null and b/icons/obj/piloting_overlay.dmi differ diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index d49236c9dda..516178b6cc7 100644 Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 3c9df1af7d7..bc57493646e 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index ac8f946bb68..35d09318eeb 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 86e39f0c588..98871c1a029 100644 Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ diff --git a/icons/obj/robot_storage.dmi b/icons/obj/robot_storage.dmi index 52b79d26603..24e0aa73a37 100644 Binary files a/icons/obj/robot_storage.dmi and b/icons/obj/robot_storage.dmi differ diff --git a/icons/obj/snowman.dmi b/icons/obj/snowman.dmi new file mode 100644 index 00000000000..ba6444df3f8 Binary files /dev/null and b/icons/obj/snowman.dmi differ diff --git a/icons/obj/stacks.dmi b/icons/obj/stacks.dmi index 51465980512..f4b3b875a44 100644 Binary files a/icons/obj/stacks.dmi and b/icons/obj/stacks.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index f8bfcf621a9..e83faea1460 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index 28ea28bde1d..2325f50ffff 100644 Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index c9e19dd40be..91658df513f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index d79ceab8c33..bb968eec1bb 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 3e39c771718..3b88c088e98 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index e604b23f3fa..03fac288d3b 100644 Binary files a/icons/obj/syringe.dmi and b/icons/obj/syringe.dmi differ diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi index 33cde91a1dd..2bca7736c94 100644 Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 8af8f47f413..5c005463961 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 2881259ee60..962648392cd 100755 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/icons/obj/walllocker.dmi b/icons/obj/walllocker.dmi index 8d43670829d..d4d5ced3d25 100644 Binary files a/icons/obj/walllocker.dmi and b/icons/obj/walllocker.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index e1294bd482a..8adc02e3b5d 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/icons/obj/xenoarchaeology.dmi b/icons/obj/xenoarchaeology.dmi index 6ece09b46ed..e0baa63cffd 100644 Binary files a/icons/obj/xenoarchaeology.dmi and b/icons/obj/xenoarchaeology.dmi differ diff --git a/icons/turf/flooring/carpet.dmi b/icons/turf/flooring/carpet.dmi index 9db7acc72fd..395cc709019 100644 Binary files a/icons/turf/flooring/carpet.dmi and b/icons/turf/flooring/carpet.dmi differ diff --git a/icons/turf/flooring/wood.dmi b/icons/turf/flooring/wood.dmi index 78ca4805e8f..eb913336735 100644 Binary files a/icons/turf/flooring/wood.dmi and b/icons/turf/flooring/wood.dmi differ diff --git a/icons/turf/outdoors.dmi b/icons/turf/outdoors.dmi index 31fab0ec95c..b1f0bf0d840 100644 Binary files a/icons/turf/outdoors.dmi and b/icons/turf/outdoors.dmi differ diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi index 849a73bfa9a..64d17ff86bc 100644 Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ diff --git a/interface/interface.dm b/interface/interface.dm index 0a4852b3b10..9adcfc965a4 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -188,3 +188,14 @@ Any-Mode: (hotkey doesn't need to be on) src << other if(holder) src << admin + +// Set the DreamSeeker input macro to the type appropriate for its mob +/client/proc/set_hotkeys_macro(macro_name = "macro", hotkey_macro_name = "hotkeymode", hotkeys_enabled = null) + // If hotkeys mode was not specified, fall back to choice of default in client preferences. + if(isnull(hotkeys_enabled)) + hotkeys_enabled = is_preference_enabled(/datum/client_preference/hotkeys_default) + + if(hotkeys_enabled) + winset(src, null, "mainwindow.macro=[hotkey_macro_name] hotkey_toggle.is-checked=true mapwindow.map.focus=true") + else + winset(src, null, "mainwindow.macro=[macro_name] hotkey_toggle.is-checked=false input.focus=true") diff --git a/interface/skin.dmf b/interface/skin.dmf index 7c92a788c11..571152d5c28 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -991,7 +991,7 @@ macro "borgmacro" is-disabled = false elem name = "CTRL+NUMPAD8" - command = "body-head-toggle" + command = "body-toggle-head" is-disabled = false elem name = "F1" @@ -1936,6 +1936,14 @@ window "mainwindow" is-checked = false group = "" button-type = pushbox + elem "tooltip" + type = BROWSER + pos = 0,0 + size = 999x999 + anchor1 = none + anchor2 = none + is-visible = false + saved-params = "" window "mapwindow" elem "mapwindow" diff --git a/maps/RandomZLevels/wildwest.dm b/maps/RandomZLevels/wildwest.dm index 51ac498fb24..90d22afb862 100644 --- a/maps/RandomZLevels/wildwest.dm +++ b/maps/RandomZLevels/wildwest.dm @@ -104,7 +104,6 @@ desc = "What is that thing?" density = 1 anchored = 1 - layer = 3 icon = 'icons/mob/critter.dmi' icon_state = "blob" var/triggerproc = "explode" //name of the proc thats called when the mine is triggered @@ -171,4 +170,4 @@ C << "You have regenerated." C.visible_message("[usr] appears to wake from the dead, having healed all wounds.") C.update_canmove() - return 1 + return 1 diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index 16836b3912b..f09d64398e3 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -298,7 +298,7 @@ "afL" = (/turf/simulated/wall,/area/chapel/main) "afM" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp{pixel_y = 10},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Office"; dir = 4},/turf/simulated/floor/lino,/area/chapel/office) "afN" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/lino,/area/chapel/office) -"afO" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/crayons,/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/lino,/area/chapel/office) +"afO" = (/obj/structure/table/woodentable,/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/item/weapon/storage/fancy/markers,/turf/simulated/floor/lino,/area/chapel/office) "afP" = (/turf/simulated/floor/lino,/area/chapel/office) "afQ" = (/obj/structure/closet/wardrobe/chaplain_black,/obj/machinery/light{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) "afR" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/storage/bible,/obj/structure/table/rack,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/locker) @@ -1821,7 +1821,7 @@ "aJa" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "aJb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/security_starboard) "aJc" = (/turf/simulated/wall,/area/storage/art) -"aJd" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor/tiled,/area/storage/art) +"aJd" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/markers,/obj/item/weapon/storage/fancy/markers,/turf/simulated/floor/tiled,/area/storage/art) "aJe" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor/tiled,/area/storage/art) "aJf" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/hand_labeler,/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/storage/art) "aJg" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/device/taperecorder,/obj/item/device/taperecorder,/turf/simulated/floor/tiled,/area/storage/art) @@ -2643,7 +2643,7 @@ "aYQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering/pumpstation) "aYR" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aYS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) -"aYT" = (/obj/machinery/atmospherics/tvalve/mirrored/digital/bypass{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Pump Station"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) +"aYT" = (/obj/machinery/atmospherics/tvalve/digital/mirrored/bypass{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Pump Station"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aYU" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aYV" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor/tiled,/area/maintenance/engineering/pumpstation) "aYW" = (/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/junk,/turf/simulated/floor,/area/maintenance/research_shuttle) @@ -8600,7 +8600,7 @@ "djt" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) "dju" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) "djv" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"djw" = (/obj/machinery/atmospherics/tvalve/mirrored/digital{name = "Waste to Space"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"djw" = (/obj/machinery/atmospherics/tvalve/digital/mirrored{name = "Waste to Space"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) "djx" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "djy" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) "djz" = (/obj/machinery/atmospherics/valve/digital,/turf/simulated/floor/tiled,/area/engineering/atmos) diff --git a/maps/southern_cross/datums/supplypacks/munitions.dm b/maps/southern_cross/datums/supplypacks/munitions.dm new file mode 100644 index 00000000000..819e96d428c --- /dev/null +++ b/maps/southern_cross/datums/supplypacks/munitions.dm @@ -0,0 +1,16 @@ +/* +* Here is where any supply packs +* related to sc weapons live. +*/ + +/datum/supply_packs/munitions/bolt_rifles_explorer + name = "Weapons - Surplus explorer rifles" + contains = list( + /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 4, + /obj/item/ammo_magazine/clip/c762 = 4, + /obj/item/ammo_magazine/clip/c762/hunter = 8 + ) + cost = 50 + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Explorer weapons crate" + access = access_explorer diff --git a/maps/southern_cross/items/clothing/sc_head.dm b/maps/southern_cross/items/clothing/sc_head.dm deleted file mode 100644 index bcc1c989657..00000000000 --- a/maps/southern_cross/items/clothing/sc_head.dm +++ /dev/null @@ -1,37 +0,0 @@ -//Pilot - -/obj/item/clothing/head/pilot - name = "pilot helmet" - desc = "Standard pilot gear. Protects the head from impacts." - icon_state = "pilot_helmet1" - item_icons = list(slot_head_str = 'maps/southern_cross/icons/mob/sc_head.dmi') - icon = 'maps/southern_cross/icons/obj/sc_hats.dmi' - sprite_sheets = list( - "Teshari" = 'maps/southern_cross/icons/mob/species/teshari/sc_head.dmi' - ) - flags = THICKMATERIAL - armor = list(melee = 20, bullet = 10, laser = 10, energy = 5, bomb = 10, bio = 0, rad = 0) - flags_inv = HIDEEARS - cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE - heat_protection = HEAD - max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE - w_class = ITEMSIZE_NORMAL - -/obj/item/clothing/head/pilot/alt - name = "pilot helmet" - desc = "Standard pilot gear. Protects the head from impacts. This one has a retractable visor" - icon_state = "pilot_helmet2" - sprite_sheets = list( - "Teshari" = 'maps/southern_cross/icons/mob/species/teshari/sc_head.dmi' - ) - action_button_name = "Toggle Visor" - -/obj/item/clothing/head/pilot/alt/attack_self(mob/user as mob) - if(src.icon_state == initial(icon_state)) - src.icon_state = "[icon_state]up" - user << "You raise the visor on the pilot helmet." - else - src.icon_state = initial(icon_state) - user << "You lower the visor on the pilot helmet." - update_clothing_icon() //so our mob-overlays update \ No newline at end of file diff --git a/maps/southern_cross/items/clothing/sc_under.dm b/maps/southern_cross/items/clothing/sc_under.dm index e59fb1a8953..9f73935e801 100644 --- a/maps/southern_cross/items/clothing/sc_under.dm +++ b/maps/southern_cross/items/clothing/sc_under.dm @@ -7,6 +7,9 @@ worn_state = "pilot1" item_icons = list(slot_w_uniform_str = 'maps/southern_cross/icons/mob/sc_under.dmi') icon = 'maps/southern_cross/icons/obj/sc_uniforms.dmi' + sprite_sheets = list( + "Teshari" = 'maps/southern_cross/icons/mob/species/teshari/sc_uniform.dmi' + ) starting_accessories = list(/obj/item/clothing/accessory/storage/webbing/pilot1) /obj/item/clothing/under/rank/pilot2 diff --git a/maps/southern_cross/items/headset_sc.dm b/maps/southern_cross/items/headset_sc.dm index 755fccaf10d..eca7eeb27d3 100644 --- a/maps/southern_cross/items/headset_sc.dm +++ b/maps/southern_cross/items/headset_sc.dm @@ -1,20 +1,35 @@ /obj/item/device/radio/headset/pilot name = "pilot's headset" - desc = "A bowman headset used by pilots, has access to supply and explorer channels." - icon_state = "cargo_headset_alt" - item_state = "headset" + desc = "A headset used by pilots, has access to supply and explorer channels." + icon_state = "pilot_headset" + adhoc_fallback = TRUE ks2type = /obj/item/device/encryptionkey/pilot +/obj/item/device/radio/headset/pilot/alt + name = "pilot's bowman headset" + desc = "A bowman headset used by pilots, has access to supply and explorer channels." + icon_state = "pilot_headset_alt" + /obj/item/device/radio/headset/explorer name = "explorer's headset" desc = "Headset used by explorers for exploring. Access to the explorer channel." - icon_state = "mine_headset" - item_state = "headset" + icon_state = "exp_headset" + adhoc_fallback = TRUE ks2type = /obj/item/device/encryptionkey/explorer -/obj/item/device/radio/headset/headset_sar +/obj/item/device/radio/headset/explorer/alt + name = "explorer's bowman headset" + desc = "Bowman headset used by explorers for exploring. Access to the explorer channel." + icon_state = "exp_headset_alt" + +/obj/item/device/radio/headset/sar name = "sar radio headset" desc = "A headset for search and rescue." - icon_state = "med_headset" - item_state = "headset" - ks2type = /obj/item/device/encryptionkey/sar \ No newline at end of file + icon_state = "sar_headset" + adhoc_fallback = TRUE + ks2type = /obj/item/device/encryptionkey/sar + +/obj/item/device/radio/headset/sar/alt + name = "sar radio bowman headset" + desc = "A bowman headset for search and rescue." + icon_state = "sar_headset_alt" diff --git a/maps/southern_cross/job/outfits.dm b/maps/southern_cross/job/outfits.dm index 16717a71dfa..54ac7f1d6b3 100644 --- a/maps/southern_cross/job/outfits.dm +++ b/maps/southern_cross/job/outfits.dm @@ -16,6 +16,13 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go pda_type = /obj/item/device/pda/cargo // Brown looks more rugged id_type = /obj/item/weapon/card/id/civilian/explorer id_pda_assignment = "Explorer" + flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL + backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) + +/decl/hierarchy/outfit/job/explorer2/post_equip(mob/living/carbon/human/H) + ..() + for(var/obj/item/clothing/accessory/permit/gun/planetside/permit in H.back.contents) + permit.set_name(H.real_name) /decl/hierarchy/outfit/job/explorer2/technician name = OUTFIT_JOB_NAME("Explorer Technician") @@ -36,22 +43,23 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/fakesunglasses/aviator - l_ear = /obj/item/device/radio/headset/pilot + l_ear = /obj/item/device/radio/headset/pilot/alt id_slot = slot_wear_id pda_slot = slot_belt pda_type = /obj/item/device/pda/cargo // Brown looks more rugged id_type = /obj/item/weapon/card/id/civilian/pilot id_pda_assignment = "Pilot" + flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL /decl/hierarchy/outfit/job/medical/sar name = OUTFIT_JOB_NAME("Search and Rescue") uniform = /obj/item/clothing/under/utility/blue suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar shoes = /obj/item/clothing/shoes/boots/winter/explorer - l_ear = /obj/item/device/radio/headset/headset_sar - l_hand = /obj/item/weapon/storage/firstaid/adv + l_ear = /obj/item/device/radio/headset/sar + l_hand = /obj/item/weapon/storage/firstaid/regular belt = /obj/item/weapon/storage/belt/medical/emt pda_slot = slot_l_store id_type = /obj/item/weapon/card/id/medical/sar id_pda_assignment = "Search and Rescue" - flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL + flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL \ No newline at end of file diff --git a/maps/southern_cross/loadout/loadout_accessories.dm b/maps/southern_cross/loadout/loadout_accessories.dm new file mode 100644 index 00000000000..1a23e18e9c7 --- /dev/null +++ b/maps/southern_cross/loadout/loadout_accessories.dm @@ -0,0 +1,34 @@ +/datum/gear/accessory/brown_vest + display_name = "webbing, brown" + path = /obj/item/clothing/accessory/storage/brown_vest + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + +/datum/gear/accessory/black_vest + display_name = "webbing, black" + path = /obj/item/clothing/accessory/storage/black_vest + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + +/datum/gear/accessory/white_vest + display_name = "webbing, white" + path = /obj/item/clothing/accessory/storage/white_vest + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + +/datum/gear/accessory/brown_drop_pouches + display_name = "drop pouches, brown" + path = /obj/item/clothing/accessory/storage/brown_drop_pouches + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + +/datum/gear/accessory/black_drop_pouches + display_name = "drop pouches, black" + path = /obj/item/clothing/accessory/storage/black_drop_pouches + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + +/datum/gear/accessory/white_drop_pouches + display_name = "drop pouches, white" + path = /obj/item/clothing/accessory/storage/white_drop_pouches + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Search and Rescue","Explorer","Shaft Miner") + +/datum/gear/accessory/holster + display_name = "holster selection (Security, CD, HoP)" + path = /obj/item/clothing/accessory/holster + allowed_roles = list("Colony Director","Head of Personnel","Security Officer","Warden","Head of Security","Detective","Explorer") \ No newline at end of file diff --git a/maps/southern_cross/loadout/loadout_head.dm b/maps/southern_cross/loadout/loadout_head.dm new file mode 100644 index 00000000000..a25e22e2647 --- /dev/null +++ b/maps/southern_cross/loadout/loadout_head.dm @@ -0,0 +1,4 @@ +/datum/gear/head/pilot + display_name = "helmet, pilot (Pilot)" + path = /obj/item/clothing/head/pilot/alt + allowed_roles = list("Pilot") diff --git a/maps/southern_cross/loadout/loadout_suit.dm b/maps/southern_cross/loadout/loadout_suit.dm new file mode 100644 index 00000000000..1cfa67846c7 --- /dev/null +++ b/maps/southern_cross/loadout/loadout_suit.dm @@ -0,0 +1,3 @@ +/datum/gear/suit/bomber_pilot + display_name = "bomber jacket, pilot" + path = /obj/item/clothing/suit/storage/toggle/bomber/pilot diff --git a/maps/southern_cross/loadout/loadout_uniform.dm b/maps/southern_cross/loadout/loadout_uniform.dm new file mode 100644 index 00000000000..01280fd642a --- /dev/null +++ b/maps/southern_cross/loadout/loadout_uniform.dm @@ -0,0 +1,5 @@ +// Uniform slot +/datum/gear/uniform/pilot + display_name = "uniform, pilot (Pilot)" + path = /obj/item/clothing/under/rank/pilot2 + allowed_roles = list("Pilot") diff --git a/maps/southern_cross/shuttles/crew_shuttles.dm b/maps/southern_cross/shuttles/crew_shuttles.dm index fd46fbc4887..c1bd669c567 100644 --- a/maps/southern_cross/shuttles/crew_shuttles.dm +++ b/maps/southern_cross/shuttles/crew_shuttles.dm @@ -248,7 +248,7 @@ /datum/shuttle_destination/shuttle1/mining_base - name = "Mining Outpost" + name = "Wilderness Landing Site" my_area = /area/shuttle/shuttle1/mining preferred_interim_area = /area/shuttle/shuttle1/sky_transit @@ -257,13 +257,13 @@ announcer = "Outpost Automated ATC" /datum/shuttle_destination/shuttle1/mining_base/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived to the Mining Outpost." + return "Attention, [master.my_shuttle.visible_name] has arrived to the Wilderness Area." /datum/shuttle_destination/shuttle1/mining_base/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed the Mining Outpost." + return "Attention, [master.my_shuttle.visible_name] has departed the Wilderness Area." /datum/shuttle_destination/shuttle2/mining_base - name = "Mining Outpost" + name = "Wilderness Landing Site " my_area = /area/shuttle/shuttle2/mining preferred_interim_area = /area/shuttle/shuttle2/sky_transit @@ -272,7 +272,7 @@ announcer = "Outpost Automated ATC" /datum/shuttle_destination/shuttle2/mining_base/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived to the Mining Outpost." + return "Attention, [master.my_shuttle.visible_name] has arrived to the Wilderness Area." /datum/shuttle_destination/shuttle2/mining_base/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed the Mining Outpost." \ No newline at end of file + return "Attention, [master.my_shuttle.visible_name] has departed the Wilderness Area." \ No newline at end of file diff --git a/maps/southern_cross/shuttles/heist.dm b/maps/southern_cross/shuttles/heist.dm index 6cc0e357ad6..cfbc39d33d6 100644 --- a/maps/southern_cross/shuttles/heist.dm +++ b/maps/southern_cross/shuttles/heist.dm @@ -20,7 +20,7 @@ /datum/shuttle_destination/heist/root name = "Raider Outpost" - my_area = /area/skipjack_station/arrivals_dock + my_area = /area/skipjack_station/start preferred_interim_area = /area/skipjack_station/transit // dock_target = "skipjack_base" diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index c460379a247..09dbb2996c8 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -7,10526 +7,10574 @@ "aag" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space) "aah" = (/turf/space,/area/shuttle/response_ship/firstdeck) "aai" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"aaj" = (/turf/simulated/wall/r_wall,/area/crew_quarters/firstdeck/gym) -"aak" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) -"aal" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) -"aam" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) +"aaj" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) +"aak" = (/turf/simulated/floor/airless,/area/hallway/primary/firstdeck/auxdockfore) +"aal" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) +"aam" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) "aan" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"aao" = (/obj/structure/table/bench/standard,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) -"aap" = (/obj/structure/table/bench/standard,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway Five"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) -"aaq" = (/turf/simulated/floor/airless,/area/hallway/primary/firstdeck/auxdockfore) -"aar" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) -"aas" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) -"aat" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/firstdeck/gym) -"aau" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) -"aav" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaw" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aax" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aay" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaz" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaA" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaB" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaC" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaD" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod1/station) -"aaE" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) -"aaF" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod2/station) -"aaG" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station) -"aaH" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/firstdeck/gym) -"aaI" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port2_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1fore_port2_airlock"; name = "exterior access button"; pixel_x = 26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) -"aaJ" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaK" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port2_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) -"aaL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1fore_port2_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaM" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) -"aaN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) -"aaO" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) -"aaP" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaQ" = (/obj/structure/table/glass,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaR" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_1"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_1_hatch"},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"aaS" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_2"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_2_hatch"},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"aaT" = (/obj/structure/lattice,/obj/item/stack/rods,/turf/space,/area/space) -"aaU" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1fore_port_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = 0; req_access = list(13)},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless,/area/maintenance/firstdeck/foreport) -"aaV" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/firstdeck/foreport) -"aaW" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1fore_port2_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(13); tag_airpump = "d1fore_port2_pump"; tag_chamber_sensor = "d1fore_port2_sensor"; tag_exterior_door = "d1fore_port2_outer"; tag_interior_door = "d1fore_port2_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) -"aaX" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_port2_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) -"aaY" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aaZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"aba" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) -"abb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"abc" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"abd" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"abe" = (/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"abf" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod1/station) -"abg" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"abh" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) -"abi" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod2/station) -"abj" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"abk" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/firstdeck/forestarboard) -"abl" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1fore_starboard_airlock"; name = "exterior access button"; pixel_x = 26; pixel_y = 0; req_access = list(13)},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/maintenance/firstdeck/forestarboard) -"abm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"abn" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"abo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) -"abp" = (/obj/structure/sign/deck/first,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) -"abq" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"abr" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"abs" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"abt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"abu" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_port_sensor"; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"abv" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1fore_port_airlock"; pixel_x = 26; pixel_y = 0; req_access = list(13); tag_airpump = "d1fore_port_pump"; tag_chamber_sensor = "d1fore_port_sensor"; tag_exterior_door = "d1fore_port_outer"; tag_interior_door = "d1fore_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"abw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"abx" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fore_emergency) -"aby" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"abz" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"abA" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"abB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Auxiliary Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/auxdockfore) -"abC" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) -"abD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Auxiliary Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/auxdockfore) -"abE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"abF" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"abG" = (/obj/structure/stairs/east,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"abH" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod1/station) -"abI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod 1 Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"abJ" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod2/station) -"abK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_hatch"; locked = 1; name = "Escape Pod 2 Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"abL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"abM" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1fore_starboard_airlock"; pixel_x = -26; pixel_y = 0; req_access = list(13); tag_airpump = "d1fore_starboard_pump"; tag_chamber_sensor = "d1fore_starboard_sensor"; tag_exterior_door = "d1fore_starboard_outer"; tag_interior_door = "d1fore_starboard_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"abN" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_starboard_sensor"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"abO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"abP" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"abQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"abR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_port_pump"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"abS" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"abT" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"abU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"abV" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"abW" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"abX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"abY" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"abZ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway Stairs"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aca" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acc" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/fore) -"acd" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod 1"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"ace" = (/obj/structure/sign/warning/pods,/turf/simulated/wall,/area/hallway/primary/firstdeck/fore) -"acf" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_berth_hatch"; locked = 1; name = "Escape Pod 2"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"acg" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"ach" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_starboard_pump"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aci" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"acj" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"ack" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"acl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"acm" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"acn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) -"aco" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/fore_emergency) -"acp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) -"acq" = (/obj/machinery/newscaster,/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fore_emergency) -"acr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway Four"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"act" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acv" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"acx" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) -"acy" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"acz" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_1_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_1_berth_hatch"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"acA" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"acB" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_2_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_2_berth_hatch"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"acC" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"acD" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"acE" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"acF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"acG" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) -"acH" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"acI" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1fore_port_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"acJ" = (/turf/simulated/wall,/area/maintenance/firstdeck/foreport) -"acK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acM" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"acN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck Aft Hallway - Two"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"acU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"acZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ada" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adc" = (/turf/simulated/wall,/area/maintenance/firstdeck/forestarboard) -"add" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1fore_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ade" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adf" = (/turf/space,/area/shuttle/syndicate_elite/station) -"adg" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/item/stack/rods,/turf/space,/area/space) -"adh" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/structure/grille/broken,/turf/space,/area/space) -"adi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adk" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ado" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"adp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adq" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ads" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adt" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"adv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ady" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/first_deck{c_tag = "First Deck Aft Hallway - Two"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adF" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adG" = (/turf/simulated/wall/r_wall,/area/construction/firstdeck/construction5) -"adH" = (/turf/simulated/wall,/area/construction/firstdeck/construction5) -"adI" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"adJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adK" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adL" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"adN" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adO" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"adP" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) -"adQ" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) -"adR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"adS" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"adT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"adU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"adV" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"adW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"adY" = (/turf/simulated/wall/r_wall,/area/hangar/one) -"adZ" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aea" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aeb" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aec" = (/obj/structure/closet/crate/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/tool,/obj/random/tool,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"aed" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"aee" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"aef" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"aeg" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"aeh" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"aei" = (/turf/simulated/wall,/area/crew_quarters/toilet/firstdeck) -"aej" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/toilet/firstdeck) -"aek" = (/turf/simulated/wall/r_wall,/area/crew_quarters/toilet/firstdeck) -"ael" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aem" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"aen" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aeo" = (/obj/structure/cable,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"aep" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"aeq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aer" = (/obj/structure/ore_box,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aes" = (/turf/simulated/wall/r_wall,/area/hangar/three) -"aet" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hangar/one) -"aeu" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/turf/simulated/floor/tiled,/area/hangar/one) -"aev" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/hangar/one) -"aew" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/one) -"aex" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aey" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aez" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aeA" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aeB" = (/obj/structure/closet/crate/engineering,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"aeC" = (/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"aeD" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"aeE" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"aeF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"aeG" = (/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/structure/sink{pixel_y = 16},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"aeH" = (/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/structure/sink{pixel_y = 16},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"aeI" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aeJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"aeK" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aeL" = (/turf/simulated/wall/r_wall,/area/security/nuke_storage) -"aeM" = (/obj/machinery/door/airlock/vault/bolted{req_access = list(53)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aeN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aeO" = (/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aeP" = (/obj/item/stack/tile/floor,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) -"aeQ" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/obj/effect/floor_decal/rust/color_rustedcorner,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel,/area/hangar/three) -"aeR" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/hangar/three) -"aeS" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled/steel,/area/hangar/three) -"aeT" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled/steel,/area/hangar/three) -"aeU" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"aeV" = (/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"aeW" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"aeX" = (/turf/simulated/floor/reinforced,/area/hangar/one) -"aeY" = (/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle1/start) -"aeZ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) -"afa" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) -"afb" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) -"afc" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"afd" = (/turf/simulated/floor/tiled,/area/hangar/one) -"afe" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aff" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afg" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afi" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afj" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/weapon/toy/xmas_cracker,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afl" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/paicard,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"afm" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/weapon/wirecutters,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"afn" = (/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"afo" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Station Gym"; dir = 2},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"afp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"afq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"afr" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"afs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aft" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"afu" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/disk/nuclear{name = "authentication disk"},/obj/item/weapon/moneybag/vault,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"afv" = (/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"afw" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"afx" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"afy" = (/obj/structure/filingcabinet/security{name = "Security Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"afz" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"afA" = (/obj/structure/closet/crate,/obj/item/weapon/storage/backpack,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"afB" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/item/toy/xmastree,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"afC" = (/obj/structure/table/rack,/obj/item/weapon/flame/lighter/random,/obj/random/maintenance/clean,/obj/random/cigarettes,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"afD" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) -"afE" = (/turf/simulated/floor/reinforced,/area/hangar/three) -"afF" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/steel,/area/hangar/three) -"afG" = (/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"afH" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"afI" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/shuttle1/start) -"afJ" = (/obj/structure/flight_left,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"afK" = (/obj/machinery/computer/shuttle_control/web/shuttle1,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"afL" = (/obj/structure/flight_right,/obj/machinery/button/remote/blast_door{id = "shuttle1hatch"; name = "Rear Hatch Control"; pixel_x = 26; pixel_y = 0; req_one_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"afM" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hangar/one) -"afN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/hangar/one) -"afO" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afT" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afU" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"afV" = (/obj/item/weapon/crowbar,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"afW" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"afX" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"afY" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"afZ" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"aga" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fore) -"agb" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"agc" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"age" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) -"agm" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) -"agn" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) -"ago" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) -"agp" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"agq" = (/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"agr" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ags" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hangar/one) -"agt" = (/turf/simulated/wall,/area/hangar/one) -"agu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"agv" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/fp_emergency) -"agw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"agx" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"agy" = (/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"agz" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"agA" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"agB" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"agC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"agD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"agE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agI" = (/obj/machinery/camera/network/command{c_tag = "COM - Vault"; dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agJ" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fs_emergency) -"agK" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/fs_emergency) -"agL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"agM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agN" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/hangar/three) -"agO" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel,/area/hangar/three) -"agP" = (/obj/item/stack/tile/floor,/obj/effect/floor_decal/rust/part_rusted1,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) -"agQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"agR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"agS" = (/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle1/start) -"agT" = (/obj/machinery/door/airlock/glass_centcom{req_one_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"agU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"agV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"agW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"agX" = (/obj/machinery/space_heater,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"agY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"agZ" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"aha" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahb" = (/obj/structure/table/steel,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"ahc" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction/firstdeck/construction5) -"ahd" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/construction/firstdeck/construction5) -"ahe" = (/obj/structure/table/steel,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/construction/firstdeck/construction5) -"ahf" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) -"ahg" = (/obj/machinery/recharge_station,/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"ahh" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"ahi" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ahj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"ahk" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ahl" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet/crate/secure{name = "Silver Crate"; req_access = list(19)},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"ahm" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/weapon/storage/secure/briefcase/money{desc = "An sleek tidy briefcase."; name = "secure briefcase"},/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"ahn" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aho" = (/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/structure/closet/crate/secure{name = "Gold Crate"; req_access = list(19)},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"ahp" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"ahq" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"ahr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"ahs" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"aht" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ahu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hangar/three) -"ahv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ahw" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/obj/effect/floor_decal/rust/color_rusted{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"ahx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ahy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"ahz" = (/turf/simulated/wall,/area/hangar/three) -"ahA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Fore Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"ahB" = (/obj/structure/bed/chair/shuttle,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ahC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Fore Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"ahD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"ahE" = (/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahG" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahH" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"ahJ" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ahK" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway One"; dir = 8},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ahL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"ahM" = (/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/technology_scanner,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"ahN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ahO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Fore Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ahP" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"ahQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Fore Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ahR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"ahS" = (/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle1/start) -"ahT" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ahU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ahV" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"ahW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahX" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahY" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"ahZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -"aia" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"aib" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aic" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"aid" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aie" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"aif" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"aig" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"aih" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) -"aii" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"aij" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aik" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ail" = (/obj/structure/bed/chair/shuttle{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aim" = (/obj/structure/bed/chair/shuttle{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ain" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"aio" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) -"aip" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"aiq" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"air" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ais" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"ait" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) -"aiu" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aiv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"aiw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"aix" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aiy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"aiz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"aiA" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aiB" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fpcenter) -"aiC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fpcenter) -"aiD" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fpcenter) -"aiE" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aiF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aiG" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aiH" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aiI" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 2},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/fscenter) -"aiJ" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fscenter) -"aiK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fscenter) -"aiL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aiM" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) -"aiN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) -"aiO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"aiP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"aiQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"aiR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"aiS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_shuttle"; pixel_y = 26; tag_airpump = "shuttle1_pump"; tag_chamber_sensor = "shuttle1_sensor"; tag_exterior_door = "shuttle1_outer"; tag_interior_door = "shuttle1_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle1_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aiT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle1_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "shuttle1_sensor"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aiU" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aiV" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aiW" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aiX" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aiY" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Eight"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aiZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aja" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"ajb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fpcenter) -"ajc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ajd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"aje" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ajf" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ajg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) -"ajh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aji" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center One"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajk" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajl" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajm" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ajn" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ajo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ajp" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/steel,/area/hangar/one) -"ajq" = (/obj/machinery/door/airlock/voidcraft/vertical{icon_state = "door_locked"; id_tag = "shuttle1hatchside"; locked = 1; name = "shuttle side hatch"},/obj/machinery/button/remote/airlock{id = "shuttle1hatchside"; name = "Side Hatch Control"; pixel_y = -26; req_one_access = null; specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ajr" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle1_inner"; name = "Internal Access"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle1_shuttle"; name = "interior access button"; pixel_x = 0; pixel_y = -26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ajs" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ajt" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aju" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle1_outer"; name = "External Access"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle1_shuttle"; name = "exterior access button"; pixel_x = 0; pixel_y = 26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ajv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"ajw" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/random/maintenance/cargo,/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) -"ajx" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"ajy" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"ajz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"ajA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"ajB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"ajC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"ajD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"ajE" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fpcenter) -"ajF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ajG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"ajH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"ajI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) -"ajJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ajK" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fscenter) -"ajL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) -"ajN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) -"ajO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) -"ajP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) -"ajQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajR" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ajS" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ajT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"ajU" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/centralport) -"ajV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Aft Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"ajW" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ajX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"ajY" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle1/start) -"ajZ" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle1_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"aka" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) -"akb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Aft Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"akc" = (/obj/structure/closet/crate,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/maintenance/clean,/obj/random/toy,/obj/item/weapon/toy/xmas_cracker,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) -"akd" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"ake" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"akf" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"akg" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"akh" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aki" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"akj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fpcenter) -"akk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"akl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"akm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"akn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"ako" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"akp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) -"akq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"akr" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aks" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"akt" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aku" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"akv" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"akw" = (/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/effect/decal/cleanable/molten_item,/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) -"akx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Aft Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"aky" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Aft Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"akz" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/centralstarboard) -"akA" = (/turf/simulated/floor/airless,/area/maintenance/firstdeck/centralport) -"akB" = (/turf/simulated/shuttle/wall,/area/shuttle/large_escape_pod2/station) -"akC" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/large_escape_pod2/station) -"akD" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) -"akE" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/rust,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) -"akF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"akG" = (/obj/machinery/space_heater,/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) -"akH" = (/obj/machinery/door/blast/regular{dir = 8; id = "shuttle1hatch"; layer = 3.3; name = "Rear Hatch"},/obj/machinery/button/remote/blast_door{id = "shuttle1hatch"; name = "Rear Hatch Control"; pixel_x = -26; pixel_y = 0; req_one_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"akI" = (/obj/machinery/door/blast/regular{dir = 8; id = "shuttle1hatch"; layer = 3.3; name = "Rear Hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"akJ" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle1/start) -"akK" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle1/start) -"akL" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8; start_pressure = 740.5},/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) -"akM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"akN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/steel,/area/hangar/one) -"akO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"akP" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fpcenter) -"akQ" = (/turf/simulated/wall/r_wall,/area/tcomm/chamber) -"akR" = (/turf/simulated/wall/r_wall,/area/tcomm/computer) -"akS" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fscenter) -"akT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"akU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) -"akV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"akW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"akX" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"akY" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"akZ" = (/turf/simulated/wall,/area/maintenance/firstdeck/centralstarboard) -"ala" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/large_escape_pod2/station) -"alb" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"alc" = (/obj/structure/bed/chair,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"ald" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"ale" = (/obj/machinery/sleep_console{dir = 4},/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"alf" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"alg" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"alh" = (/obj/structure/bed/chair,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"ali" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"alj" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/shuttle/large_escape_pod2/station) -"alk" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) -"all" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"alm" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aln" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fpcenter) -"alo" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fscenter) -"alp" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"alq" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/storage/backpack/satchel/vir,/obj/item/weapon/storage/backpack/virology,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"alr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"als" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"alt" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod2/station) -"alu" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"alv" = (/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"alw" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"alx" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"aly" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle1/start) -"alz" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle1/start) -"alA" = (/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"alB" = (/obj/item/weapon/storage/bible,/obj/structure/table/rack,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) -"alC" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"alD" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fpcenter) -"alE" = (/turf/simulated/wall,/area/maintenance/substation/firstdeck) -"alF" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alG" = (/obj/machinery/telecomms/server/presets/service/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alH" = (/obj/machinery/telecomms/server/presets/unused,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alI" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alJ" = (/obj/machinery/exonet_node{anchored = 1},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alK" = (/obj/machinery/pda_multicaster/prebuilt,/obj/structure/sign/warning/nosmoking_2{pixel_y = 32},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alL" = (/obj/machinery/power/apc/super/critical{dir = 1; is_critical = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alM" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alN" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"alO" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/tcomm/computer) -"alP" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1381; id_tag = "server_access_pump"},/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{frequency = 1381; id_tag = "server_access_airlock"; name = "Server Access Airlock"; pixel_x = 0; pixel_y = 25; tag_airpump = "server_access_pump"; tag_chamber_sensor = "server_access_sensor"; tag_exterior_door = "server_access_outer"; tag_exterior_sensor = "server_access_ex_sensor"; tag_interior_door = "server_access_inner"; tag_interior_sensor = "server_access_in_sensor"; tag_secure = 1},/turf/simulated/floor/plating,/area/tcomm/computer) -"alQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1381; id_tag = "server_access_pump"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "server_access_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plating,/area/tcomm/computer) -"alR" = (/turf/simulated/wall,/area/tcomm/computer) -"alS" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fscenter) -"alT" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"alU" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) -"alV" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"alW" = (/obj/random/toolbox,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"alX" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"alY" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"alZ" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"ama" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "large_escape_pod_2"; pixel_x = 26; pixel_y = -26; tag_door = "large_escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"amb" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/random/medical/lite,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"amc" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"amd" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) -"ame" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"amf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amg" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"amh" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/hangar/one) -"ami" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"amj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) -"aml" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"amm" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"amn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"amo" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/firstdeck) -"amp" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"amq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 0; pressure_checks_default = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"amr" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"ams" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"amt" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/airlock_sensor/airlock_interior{frequency = 1381; id_tag = "server_access_in_sensor"; master_tag = "server_access_airlock"; name = "interior sensor"; pixel_x = 25; pixel_y = -25},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"amu" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance_hatch{frequency = 1381; icon_state = "door_locked"; id_tag = "server_access_inner"; locked = 1; name = "Telecoms Server Access"; req_access = list(61)},/turf/simulated/floor/plating,/area/tcomm/computer) -"amv" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/tcomm/computer) -"amw" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/tcomm/computer) -"amx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"amy" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"amz" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"amA" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/hangar/three) -"amB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"amC" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) -"amD" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/hangar/three) -"amE" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) -"amF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"amG" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"amH" = (/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"amI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_hatch"; locked = 1; name = "Large Escape Pod Hatch 2"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) -"amJ" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) -"amK" = (/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) -"amL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "hangar_1"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "hangar_1_door"},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/one) -"amU" = (/obj/item/weapon/storage/toolbox/syndicate,/obj/structure/closet,/obj/random/contraband,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) -"amV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"amW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"amX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"amY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"amZ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 8},/obj/structure/cable/green{d1 = 16; d2 = 0; icon_state = "16-0"},/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"ana" = (/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Central Compartment Starboard"; dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anb" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anc" = (/obj/machinery/telecomms/bus/preset_two/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"and" = (/obj/machinery/telecomms/relay/preset/southerncross/d1,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"ane" = (/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anf" = (/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"ang" = (/obj/machinery/telecomms/bus/preset_four,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anh" = (/obj/machinery/telecomms/processor/preset_four,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"ani" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anj" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/tcomm/computer) -"ank" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/maintenance_hatch{frequency = 1381; icon_state = "door_locked"; id_tag = "server_access_outer"; locked = 1; name = "Telecoms Server Access"; req_access = list(61)},/turf/simulated/floor/plating,/area/tcomm/computer) -"anl" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled/dark,/area/tcomm/computer) -"anm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ann" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ano" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"anp" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) -"anq" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/hangar/three) -"anr" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ans" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"ant" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"anu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"anv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"anw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"anx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"any" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"anz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/monotile,/area/hangar/three) -"anA" = (/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"anB" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_berth_hatch"; locked = 1; name = "Large Escape Pod 2"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_port) -"anC" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_port) -"anD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{id_tag = "hangar_1_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/one) -"anE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass_mining{id_tag = "hangar_1_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/one) -"anF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hangar/one) -"anG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"anH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"anI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Seven"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"anJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"anK" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"anL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Central Substation"; req_one_access = list(11,19,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"anM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"anN" = (/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"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"anO" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"anP" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anQ" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anR" = (/obj/machinery/telecomms/relay/preset/southerncross/d2,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anS" = (/obj/machinery/telecomms/relay/preset/southerncross/d3,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anT" = (/obj/machinery/telecomms/processor/preset_three,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anU" = (/obj/machinery/telecomms/bus/preset_three,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anV" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Central Compartment Starboard"; dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"anW" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/computer) -"anX" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/obj/machinery/airlock_sensor/airlock_exterior{frequency = 1381; id_tag = "server_access_ex_sensor"; master_tag = "server_access_airlock"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/tcomm/computer) -"anY" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/tiled,/area/tcomm/computer) -"anZ" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aoa" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aob" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; set_temperature = 73; use_power = 1},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aoc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aod" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aoe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Two"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aof" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aog" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aoh" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aoi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hangar/three) -"aoj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass_mining{name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/three) -"aok" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/three) -"aol" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aom" = (/obj/machinery/door/airlock/glass_external{icon_state = "door_locked"; locked = 1; name = "Large Escape Pod 3"},/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aon" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aoo" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aop" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aoq" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aor" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aos" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"aot" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "large_escape_pod_2_berth"; pixel_x = 0; pixel_y = 26; tag_door = "large_escape_pod_2_berth_hatch"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"aou" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Escape Pod"; dir = 2},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"aov" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"aow" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"aox" = (/obj/structure/closet/emcloset,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"aoy" = (/turf/simulated/wall,/area/construction/firstdeck/construction1) -"aoz" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) -"aoA" = (/obj/structure/table/steel,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/random/tech_supply,/obj/random/toolbox,/turf/simulated/floor,/area/construction/firstdeck/construction1) -"aoB" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) -"aoC" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) -"aoD" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) -"aoE" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"aoF" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"aoG" = (/turf/simulated/wall,/area/hangar/onecontrol) -"aoH" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"aoI" = (/obj/structure/frame/computer,/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"aoJ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"aoK" = (/obj/structure/disposalpipe/up,/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/up/supply,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aoL" = (/obj/item/weapon/caution/cone,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) -"aoM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aoN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aoO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aoP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) -"aoQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aoR" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"aoS" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"aoT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aoU" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aoV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aoW" = (/obj/structure/cable/cyan,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/computer) -"aoX" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/tcomm/computer) -"aoY" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aoZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/tcomm/computer) -"apa" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/tiled,/area/tcomm/computer) -"apb" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/computer) -"apc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"apd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"ape" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"apf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"apg" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aph" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/weapon/material/shard,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"api" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"apj" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"apk" = (/turf/simulated/wall,/area/hangar/threecontrol) -"apl" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/steel,/area/hangar/threecontrol) -"apm" = (/obj/structure/frame/computer,/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled/monotile,/area/hangar/threecontrol) -"apn" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"apo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/starboard) -"app" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/starboard) -"apq" = (/turf/simulated/wall,/area/construction/firstdeck/construction4) -"apr" = (/obj/item/stack/tile/wood,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor,/area/construction/firstdeck/construction4) -"aps" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction4) -"apt" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"apu" = (/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"apv" = (/obj/random/drinkbottle,/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/drinkbottle,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"apw" = (/obj/structure/closet/emcloset,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"apx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"apy" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"apz" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Escape Pod 2"; dir = 2},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"apA" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"apB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"apC" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"apD" = (/obj/item/weapon/extinguisher,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"apE" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"apF" = (/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"apG" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"apH" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"apI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"apJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"apK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"apL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apM" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"apS" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) -"apT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) -"apU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"apV" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"apW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Hangar Control Room"},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"apX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"apY" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"apZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Control Room"; dir = 8},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"aqa" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aqb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aqc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aqd" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aqe" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aqf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aqg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aqh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aqi" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"aqj" = (/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"aqk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"aql" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqm" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqn" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqo" = (/obj/machinery/light,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqp" = (/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqq" = (/obj/structure/sign/warning/nosmoking_2{pixel_y = -32},/obj/machinery/telecomms/hub/preset/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqr" = (/obj/machinery/telecomms/receiver/preset_right/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqs" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqt" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) -"aqu" = (/obj/structure/cable/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/high_voltage{pixel_y = -32},/turf/simulated/floor/plating,/area/tcomm/computer) -"aqv" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/tcomm/computer) -"aqw" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/item/device/multitool,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aqx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/filingcabinet,/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Main Computer Room"; dir = 1},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aqy" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aqz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/computer) -"aqA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aqB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) -"aqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aqD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Hangar Control Room Access"; req_access = list(12)},/turf/simulated/floor/plating,/area/hangar/threecontrol) -"aqE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"aqF" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/threecontrol) -"aqG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"aqH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{name = "Hangar Control Room"},/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"aqI" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aqJ" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aqK" = (/obj/structure/table,/obj/item/stack/material/steel{amount = 2},/obj/random/maintenance/engineering,/turf/simulated/floor,/area/construction/firstdeck/construction4) -"aqL" = (/obj/item/stack/material/wood{amount = 24},/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"aqM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/construction/firstdeck/construction4) -"aqN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqQ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqR" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqS" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqT" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"aqU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aqV" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aqW" = (/obj/machinery/space_heater,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aqX" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/port) -"aqY" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/port) -"aqZ" = (/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"ara" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"arb" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"arc" = (/obj/structure/table/steel,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) -"ard" = (/obj/machinery/light,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) -"are" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) -"arf" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) -"arg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"arh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"ari" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"arj" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"ark" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"arl" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hangar/onecontrol) -"arm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"arn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aro" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/wall,/area/maintenance/firstdeck/foreport) -"arp" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"arq" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"arr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"ars" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/port) -"art" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/fpcenter) -"aru" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fpcenter) -"arv" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fpcenter) -"arw" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access = list(61)},/turf/simulated/floor/tiled,/area/tcomm/computer) -"arx" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/tcomm/computer) -"ary" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) -"arz" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fscenter) -"arA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) -"arB" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/fscenter) -"arC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/starboard) -"arD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"arE" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"arF" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Control Room"; dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"arG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"arH" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/hangar/threecontrol) -"arI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"arJ" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"arK" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"arL" = (/obj/structure/table/reinforced,/obj/item/stack/tile/wood,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"arM" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"arN" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 4; pixel_y = 5},/obj/item/weapon/reagent_containers/food/drinks/glass2/square,/obj/machinery/light,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) -"arO" = (/obj/item/stack/tile/wood,/turf/simulated/floor,/area/construction/firstdeck/construction4) -"arP" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"arQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"arR" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"arS" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"arT" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"arU" = (/turf/unsimulated/mask,/area/hallway/primary/firstdeck/port) -"arV" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/disposal,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"arW" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"arX" = (/obj/structure/sign/warning/pods,/turf/simulated/wall,/area/hallway/primary/firstdeck/port) -"arY" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_port) -"arZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"asa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) -"asb" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/science{dir = 8},/turf/simulated/wall,/area/construction/firstdeck/construction1) -"asc" = (/obj/structure/sign/directions/security{dir = 8},/turf/simulated/wall,/area/construction/firstdeck/construction1) -"asd" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) -"ase" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"asf" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"asg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"ash" = (/obj/structure/sign/hangar/one,/turf/simulated/wall,/area/hangar/onecontrol) -"asi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"asj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"ask" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"asl" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"asm" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"asn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"aso" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"asp" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"asq" = (/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) -"asr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) -"ass" = (/turf/simulated/wall/r_wall,/area/medical/first_aid_station/firstdeck) -"ast" = (/turf/unsimulated/mask,/area/hallway/primary/firstdeck/elevator) -"asu" = (/turf/simulated/wall/r_wall,/area/tcomm/tcomstorage) -"asv" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor,/area/tcomm/tcomstorage) -"asw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/tcomm/tcomstorage) -"asx" = (/obj/structure/table/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/obj/item/weapon/circuitboard/telecomms/exonet_node,/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Storage"; dir = 2},/turf/simulated/floor,/area/tcomm/tcomstorage) -"asy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/tcomstorage) -"asz" = (/obj/machinery/porta_turret/stationary,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/tcomm/tcomstorage) -"asA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"asB" = (/obj/machinery/porta_turret/stationary,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomstorage) -"asC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"asD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"asE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"asF" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"asG" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/starboard) -"asH" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/hallway/primary/starboard) -"asI" = (/turf/simulated/wall,/area/hallway/primary/starboard) -"asJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"asK" = (/obj/structure/sign/hangar/three,/turf/simulated/wall,/area/hangar/threecontrol) -"asL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"asM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"asN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"asO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction4) -"asP" = (/obj/structure/sign/directions/security{dir = 4},/turf/simulated/wall,/area/construction/firstdeck/construction4) -"asQ" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/turf/simulated/wall,/area/construction/firstdeck/construction4) -"asR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"asS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"asT" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_starboard1) -"asU" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/starboard) -"asV" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/starboard) -"asW" = (/turf/simulated/wall/r_wall,/area/hallway/primary/starboard) -"asX" = (/turf/unsimulated/mask,/area/hallway/primary/starboard) -"asY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"asZ" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"ata" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/port) -"atb" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atc" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atd" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"ate" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atg" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"ath" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"ati" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atl" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atm" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atn" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"ato" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway Two"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atr" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"ats" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/disposalpipe/junction/yjunction{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"att" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/port) -"atw" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"aty" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"atD" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atE" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"atF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/firstdeck) -"atG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/sleep_console{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"atH" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/sleeper{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"atI" = (/obj/machinery/light{dir = 1},/obj/structure/bed/roller,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"atJ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/item/bodybag,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"atK" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/techmaint,/area/medical/first_aid_station/firstdeck) -"atL" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/item/weapon/storage/toolbox/mechanical,/obj/random/powercell,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/medical/first_aid_station/firstdeck) -"atM" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/tcomm/tcomstorage) -"atN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/tcomm/tcomstorage) -"atO" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/tcomm/tcomstorage) -"atP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"atQ" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"atR" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"atS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"atT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"atU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"atV" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"atW" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"atX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"atY" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway One"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"atZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aua" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aub" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/starboard) -"auc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aud" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aue" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"auf" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aug" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"auh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aui" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway Three"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"auj" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"auk" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aul" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aum" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aun" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"auo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aup" = (/obj/structure/sign/deck/first{pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway Four"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"auq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aur" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/starboard) -"aus" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aut" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"auu" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"auv" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/port) -"auw" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"aux" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auH" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"auJ" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/port) -"auK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"auL" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auO" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"auP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"auQ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19,25,27,28,35)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auT" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auU" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auV" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auW" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"auX" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor,/area/tcomm/tcomstorage) -"auY" = (/obj/structure/cable/cyan{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,/area/tcomm/tcomstorage) -"auZ" = (/obj/structure/cable/cyan{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,/area/tcomm/tcomstorage) -"ava" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access = list(61)},/turf/simulated/floor,/area/tcomm/tcomstorage) -"avb" = (/obj/structure/cable/cyan{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,/area/tcomm/tcomstorage) -"avc" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"avd" = (/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"ave" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"avf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avj" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"avl" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/starboard) -"avm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"avn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avo" = (/obj/structure/cable{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/monotile,/area/hallway/primary/starboard) -"avp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avu" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"avz" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"avA" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/starboard) -"avB" = (/obj/machinery/light/small{dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"avC" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"avD" = (/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/industrial/danger{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/port) -"avE" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avG" = (/obj/structure/sign/deck/first{pixel_y = -32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway Four"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avI" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avK" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avL" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avO" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avP" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway Three"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avQ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avT" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avU" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avV" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/port) -"avX" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"avZ" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway One"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"awa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"awb" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"awc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"awd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"awe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"awf" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/paleblue/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"awg" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"awh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/glass,/obj/item/bodybag/cryobag,/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/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"awi" = (/obj/structure/table/glass,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"awj" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Deck One"; dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/roller,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"awk" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"awl" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) -"awm" = (/turf/simulated/floor,/area/tcomm/tcomstorage) -"awn" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/tcomm/tcomstorage) -"awo" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/tcomm/tcomstorage) -"awp" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"awq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"awr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aws" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"awt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awu" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"aww" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awy" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awz" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awA" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awC" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awD" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway Two"; dir = 1},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awF" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awH" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awJ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awK" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awM" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"awO" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/starboard) -"awP" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"awQ" = (/obj/turbolift_map_holder/southern_cross/port,/turf/unsimulated/mask,/area/hallway/primary/firstdeck/port) -"awR" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"awS" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"awT" = (/turf/simulated/wall,/area/maintenance/firstdeck/centralport) -"awU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"awV" = (/turf/simulated/wall,/area/construction/firstdeck/construction2) -"awW" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/turf/simulated/wall,/area/construction/firstdeck/construction2) -"awX" = (/obj/structure/sign/directions/medical{dir = 8},/obj/structure/sign/directions/evac{dir = 8; pixel_y = 10},/turf/simulated/wall,/area/construction/firstdeck/construction2) -"awY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"awZ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axb" = (/turf/simulated/wall,/area/maintenance/firstdeck/aftport) -"axc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"axd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"axe" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"axf" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axg" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axi" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axj" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) -"axk" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) -"axl" = (/obj/turbolift_map_holder/southern_cross/center,/turf/unsimulated/mask,/area/hallway/primary/firstdeck/elevator) -"axm" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/tcomm/tcomstorage) -"axn" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/tcomm/tcomstorage) -"axo" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/tcomm/tcomstorage) -"axp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"axq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"axr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"axs" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"axt" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"axu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"axv" = (/turf/simulated/wall,/area/maintenance/firstdeck/aftstarboard) -"axw" = (/turf/simulated/wall,/area/hangar/twocontrol) -"axx" = (/obj/structure/sign/hangar/two,/turf/simulated/wall,/area/hangar/twocontrol) -"axy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"axz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/starboard) -"axA" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"axB" = (/turf/simulated/wall,/area/construction/firstdeck/construction3) -"axC" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) -"axD" = (/obj/structure/sign/directions/medical{dir = 4},/obj/structure/sign/directions/evac{dir = 4; pixel_y = 10},/turf/simulated/wall,/area/construction/firstdeck/construction3) -"axE" = (/obj/structure/sign/directions/engineering{dir = 4; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 4},/turf/simulated/wall,/area/construction/firstdeck/construction3) -"axF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"axG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"axH" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"axI" = (/obj/structure/sign/warning/pods{dir = 1},/turf/simulated/wall,/area/hallway/primary/starboard) -"axJ" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/starboard) -"axK" = (/obj/turbolift_map_holder/southern_cross/starboard,/turf/unsimulated/mask,/area/hallway/primary/starboard) -"axL" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"axM" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"axN" = (/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"axO" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"axP" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"axQ" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) -"axR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) -"axS" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/weapon/wirecutters,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) -"axT" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"axU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) -"axW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"axX" = (/obj/item/frame/apc,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/maintenance/firstdeck/aftport) -"axY" = (/obj/item/frame,/obj/machinery/light_construct,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/maintenance/firstdeck/aftport) -"axZ" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/maintenance/firstdeck/aftport) -"aya" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"ayb" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"ayc" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"ayd" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aye" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"ayf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"ayg" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 2},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/apcenter) -"ayh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/apcenter) -"ayi" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/apcenter) -"ayj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/apcenter) +"aao" = (/turf/simulated/wall/r_wall,/area/crew_quarters/firstdeck/gym) +"aap" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/firstdeck/gym) +"aaq" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/firstdeck/gym) +"aar" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port2_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1fore_port2_airlock"; name = "exterior access button"; pixel_x = 26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) +"aas" = (/obj/structure/table/bench/standard,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) +"aat" = (/obj/structure/table/bench/standard,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway Five"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) +"aau" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) +"aav" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aaw" = (/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aax" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aay" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Station Gym"; dir = 2},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aaz" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aaA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) +"aaB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) +"aaC" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) +"aaD" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaE" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaH" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaI" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaJ" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaK" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaL" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod1/station) +"aaM" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) +"aaN" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod2/station) +"aaO" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station) +"aaP" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aaQ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/turf/simulated/floor/holofloor/wood,/area/crew_quarters/firstdeck/gym) +"aaR" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/rust,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) +"aaS" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaT" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port2_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockfore) +"aaU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1fore_port2_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) +"aaW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) +"aaX" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) +"aaY" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aaZ" = (/obj/structure/table/glass,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"aba" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_1"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_1_hatch"},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) +"abb" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_2"; pixel_x = -25; pixel_y = 0; tag_door = "escape_pod_2_hatch"},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"abc" = (/obj/structure/lattice,/obj/item/stack/rods,/turf/space,/area/space) +"abd" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1fore_port_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = 0; req_access = list(13)},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless,/area/maintenance/firstdeck/foreport) +"abe" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/firstdeck/foreport) +"abf" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abg" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abh" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abi" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1fore_port2_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(13); tag_airpump = "d1fore_port2_pump"; tag_chamber_sensor = "d1fore_port2_sensor"; tag_exterior_door = "d1fore_port2_outer"; tag_interior_door = "d1fore_port2_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) +"abj" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_port2_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d1fore_port2_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/hallway/primary/firstdeck/auxdockfore) +"abk" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abl" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockfore) +"abn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abo" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abp" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abq" = (/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abr" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod1/station) +"abs" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) +"abt" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) +"abu" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod2/station) +"abv" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"abw" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/firstdeck/forestarboard) +"abx" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1fore_starboard_airlock"; name = "exterior access button"; pixel_x = 26; pixel_y = 0; req_access = list(13)},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/maintenance/firstdeck/forestarboard) +"aby" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"abz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abA" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abB" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abC" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) +"abF" = (/obj/structure/sign/deck/first,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) +"abG" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) +"abH" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"abI" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"abJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) +"abK" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_port_sensor"; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"abL" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1fore_port_airlock"; pixel_x = 26; pixel_y = 0; req_access = list(13); tag_airpump = "d1fore_port_pump"; tag_chamber_sensor = "d1fore_port_sensor"; tag_exterior_door = "d1fore_port_outer"; tag_interior_door = "d1fore_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"abM" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) +"abN" = (/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abT" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"abU" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fore_emergency) +"abV" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"abW" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"abX" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"abY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Auxiliary Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/auxdockfore) +"abZ" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockfore) +"aca" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Auxiliary Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/auxdockfore) +"acb" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acc" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"acd" = (/obj/structure/stairs/east,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"ace" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod1/station) +"acf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod 1 Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) +"acg" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod2/station) +"ach" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_hatch"; locked = 1; name = "Escape Pod 2 Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"aci" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) +"acj" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1fore_starboard_airlock"; pixel_x = -26; pixel_y = 0; req_access = list(13); tag_airpump = "d1fore_starboard_pump"; tag_chamber_sensor = "d1fore_starboard_sensor"; tag_exterior_door = "d1fore_starboard_outer"; tag_interior_door = "d1fore_starboard_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"ack" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_starboard_sensor"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"acl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) +"acm" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) +"acn" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aco" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_port_pump"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"acp" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) +"acq" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"acr" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"acs" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"act" = (/obj/item/weapon/stool/padded,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) +"acu" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"acv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"acw" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"acx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acz" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acA" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway Stairs"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acD" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/fore) +"acE" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod 1"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"acF" = (/obj/structure/sign/warning/pods,/turf/simulated/wall,/area/hallway/primary/firstdeck/fore) +"acG" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_berth_hatch"; locked = 1; name = "Escape Pod 2"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"acH" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) +"acI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_starboard_pump"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"acJ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"acK" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) +"acL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) +"acM" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"acN" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"acO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) +"acP" = (/obj/machinery/door/airlock/glass{name = "Gym"},/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/firstdeck/gym) +"acQ" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/fore_emergency) +"acR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fore_emergency) +"acS" = (/obj/machinery/newscaster,/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fore_emergency) +"acT" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway Four"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"acV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acX" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"acY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"acZ" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) +"ada" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"adb" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_1_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_1_berth_hatch"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"adc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"add" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_2_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_2_berth_hatch"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"ade" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"adf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) +"adg" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"adh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"adi" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/forestarboard) +"adj" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adk" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1fore_port_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adl" = (/turf/simulated/wall,/area/maintenance/firstdeck/foreport) +"adm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ado" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck Aft Hallway - Two"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ads" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"adx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ady" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adD" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adF" = (/turf/simulated/wall,/area/maintenance/firstdeck/forestarboard) +"adG" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1fore_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"adH" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"adI" = (/turf/space,/area/shuttle/syndicate_elite/station) +"adJ" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/item/stack/rods,/turf/space,/area/space) +"adK" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/structure/grille/broken,/turf/space,/area/space) +"adL" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adN" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adQ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adR" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adT" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atm{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adY" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"adZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"aea" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aeb" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aec" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aed" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aee" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/first_deck{c_tag = "First Deck Aft Hallway - Two"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aef" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aeg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aeh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aei" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aej" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ael" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aem" = (/turf/simulated/wall/r_wall,/area/construction/firstdeck/construction5) +"aen" = (/turf/simulated/wall,/area/construction/firstdeck/construction5) +"aeo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"aep" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aeq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aer" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aes" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aet" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"aeu" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aev" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aew" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) +"aex" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fore) +"aey" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"aez" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"aeA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"aeB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"aeC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"aeD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aeE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aeF" = (/turf/simulated/wall/r_wall,/area/hangar/one) +"aeG" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aeI" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aeJ" = (/obj/structure/closet/crate/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/tool,/obj/random/tool,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"aeK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"aeL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"aeM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"aeN" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"aeO" = (/obj/structure/reagent_dispensers/fueltank,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"aeP" = (/turf/simulated/wall,/area/crew_quarters/toilet/firstdeck) +"aeQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/toilet/firstdeck) +"aeR" = (/turf/simulated/wall/r_wall,/area/crew_quarters/toilet/firstdeck) +"aeS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aeT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"aeU" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aeV" = (/obj/structure/cable,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"aeW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"aeX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aeY" = (/obj/structure/ore_box,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aeZ" = (/turf/simulated/wall/r_wall,/area/hangar/three) +"afa" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hangar/one) +"afb" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/turf/simulated/floor/tiled,/area/hangar/one) +"afc" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/hangar/one) +"afd" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/one) +"afe" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aff" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afh" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afi" = (/obj/structure/closet/crate/engineering,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"afj" = (/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"afk" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"afl" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"afm" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afo" = (/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/structure/sink{pixel_y = 16},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afp" = (/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/structure/sink{pixel_y = 16},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afq" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"afr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"afs" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aft" = (/turf/simulated/wall/r_wall,/area/security/nuke_storage) +"afu" = (/obj/machinery/door/airlock/vault/bolted{req_access = list(53)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"afv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"afw" = (/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"afx" = (/obj/item/stack/tile/floor,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) +"afy" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/obj/effect/floor_decal/rust/color_rustedcorner,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel,/area/hangar/three) +"afz" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/hangar/three) +"afA" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled/steel,/area/hangar/three) +"afB" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled/steel,/area/hangar/three) +"afC" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"afD" = (/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"afE" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"afF" = (/turf/simulated/floor/reinforced,/area/hangar/one) +"afG" = (/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle1/start) +"afH" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) +"afI" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) +"afJ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) +"afK" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"afL" = (/turf/simulated/floor/tiled,/area/hangar/one) +"afM" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afN" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afR" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/weapon/toy/xmas_cracker,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afT" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/paicard,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"afU" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/weapon/wirecutters,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"afV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"afZ" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aga" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"agb" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"agc" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/disk/nuclear{name = "authentication disk"},/obj/item/weapon/moneybag/vault,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agd" = (/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"age" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agf" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agg" = (/obj/structure/filingcabinet/security{name = "Security Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agh" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agi" = (/obj/structure/closet/crate,/obj/item/weapon/storage/backpack,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agj" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/item/toy/xmastree,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agk" = (/obj/structure/table/rack,/obj/item/weapon/flame/lighter/random,/obj/random/maintenance/clean,/obj/random/cigarettes,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agl" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) +"agm" = (/turf/simulated/floor/reinforced,/area/hangar/three) +"agn" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/steel,/area/hangar/three) +"ago" = (/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"agp" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"agq" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/shuttle1/start) +"agr" = (/obj/structure/flight_left,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ags" = (/obj/machinery/computer/shuttle_control/web/shuttle1{my_doors = list("expshuttle1_door_L" = "Port Cargo", "shuttle1_outer" = "Airlock Outer", "shuttle1_inner" = "Airlock Inner", "expshuttle1_door_cargo" = "Cargo Hatch"); my_sensors = list("shuttle1sens_exp" = "Exterior Environment", "shuttle1sens_exp_int" = "Cargo Area", "shuttle1sens_exp_psg" = "Passenger Area")},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"agt" = (/obj/structure/flight_right,/obj/machinery/button/remote/airlock{desiredstate = 1; dir = 8; id = "expshuttle1_door_cargo"; name = "Rear Hatch Control"; pixel_x = 26; pixel_y = 0; req_access = list(67); specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"agu" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hangar/one) +"agv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/hangar/one) +"agw" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agC" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"agD" = (/obj/item/weapon/crowbar,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"agE" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"agF" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"agG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"agH" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"agI" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"agJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fore) +"agK" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"agL" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agN" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"agO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/rust,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/hangar/three) +"agV" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) +"agW" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) +"agX" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"agY" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"agZ" = (/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aha" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ahb" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hangar/one) +"ahc" = (/turf/simulated/wall,/area/hangar/one) +"ahd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ahe" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ahf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ahg" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"ahh" = (/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"ahi" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"ahj" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"ahk" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"ahl" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ahm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ahn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aho" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahr" = (/obj/machinery/camera/network/command{c_tag = "COM - Vault"; dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahs" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aht" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/fs_emergency) +"ahu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"ahv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"ahw" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/hangar/three) +"ahx" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel,/area/hangar/three) +"ahy" = (/obj/item/stack/tile/floor,/obj/effect/floor_decal/rust/part_rusted1,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) +"ahz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"ahA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"ahB" = (/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle1/start) +"ahC" = (/obj/machinery/door/airlock/glass_centcom{req_one_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ahD" = (/obj/machinery/shuttle_sensor{id_tag = "shuttle1sens_exp_psg"},/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle1/start) +"ahE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"ahF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"ahG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ahH" = (/obj/machinery/space_heater,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ahI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ahJ" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ahK" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ahL" = (/obj/structure/table/steel,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"ahM" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction/firstdeck/construction5) +"ahN" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/construction/firstdeck/construction5) +"ahO" = (/obj/structure/table/steel,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/random/tech_supply,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/construction/firstdeck/construction5) +"ahP" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) +"ahQ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"ahR" = (/obj/machinery/recharge_station,/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"ahS" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) +"ahT" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ahU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"ahV" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ahW" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet/crate/secure{name = "Silver Crate"; req_access = list(19)},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahX" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/weapon/storage/secure/briefcase/money{desc = "An sleek tidy briefcase."; name = "secure briefcase"},/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahY" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"ahZ" = (/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/structure/closet/crate/secure{name = "Gold Crate"; req_access = list(19)},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aia" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aib" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aic" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aid" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aie" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aif" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hangar/three) +"aig" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aih" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/obj/effect/floor_decal/rust/color_rusted{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"aii" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aij" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"aik" = (/turf/simulated/wall,/area/hangar/three) +"ail" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Fore Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"aim" = (/obj/structure/bed/chair/shuttle,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ain" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Fore Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"aio" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aip" = (/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"aiq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"air" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ais" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ait" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) +"aiu" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aiv" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Fore Hallway One"; dir = 8},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aiw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aix" = (/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/technology_scanner,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aiy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aiz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Fore Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aiA" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"aiB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Fore Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aiC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"aiD" = (/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle1/start) +"aiE" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/closet/walllocker/emerglocker{pixel_x = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aiF" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/closet/walllocker/emerglocker{pixel_x = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aiG" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"aiH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"aiI" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"aiJ" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"aiK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) +"aiL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"aiM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aiN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"aiO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aiP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"aiQ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aiR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"aiS" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) +"aiT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aiU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monofloor{dir = 1},/area/hangar/one) +"aiV" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aiW" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aiX" = (/obj/structure/bed/chair/shuttle{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aiY" = (/obj/structure/bed/chair/shuttle{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aiZ" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"aja" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fp_emergency) +"ajb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) +"ajc" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajd" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aje" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"ajf" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/fs_emergency) +"ajg" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"ajh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monofloor{dir = 1},/area/hangar/three) +"aji" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"ajj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/monofloor,/area/hangar/one) +"ajk" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ajl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monofloor,/area/hangar/one) +"ajm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"ajn" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ajo" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fpcenter) +"ajp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fpcenter) +"ajq" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fpcenter) +"ajr" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajs" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajt" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"aju" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajv" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 2},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/fscenter) +"ajw" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/fscenter) +"ajx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fscenter) +"ajy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"ajz" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) +"ajA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) +"ajB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/monofloor,/area/hangar/three) +"ajC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monofloor,/area/hangar/three) +"ajD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"ajE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"ajF" = (/obj/machinery/shuttle_sensor{dir = 6; id_tag = "shuttle1sens_exp_int"},/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle1/start) +"ajG" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/skipjack,/area/shuttle/shuttle1/start) +"ajH" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/skipjack,/area/shuttle/shuttle1/start) +"ajI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ajJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_shuttle"; pixel_y = 26; tag_airpump = "shuttle1_pump"; tag_chamber_sensor = "shuttle1_sensor"; tag_exterior_door = "shuttle1_outer"; tag_interior_door = "shuttle1_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle1_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ajK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle1_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "shuttle1_sensor"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"ajL" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ajM" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ajN" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ajO" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ajP" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Eight"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ajQ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ajR" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ajS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fpcenter) +"ajT" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajW" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ajX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) +"ajY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"ajZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aka" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center One"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"akb" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"akc" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"akd" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"ake" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"akf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"akg" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/steel,/area/hangar/one) +"akh" = (/obj/machinery/door/airlock/voidcraft/vertical{icon_state = "door_locked"; id_tag = "expshuttle1_door_L"; locked = 1; name = "shuttle side hatch"},/obj/machinery/button/remote/airlock{id = "expshuttle1_door_L"; name = "Side Hatch Control"; pixel_y = -26; req_one_access = null; specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"aki" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle1_inner"; name = "Internal Access"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle1_shuttle"; name = "interior access button"; pixel_x = 0; pixel_y = -26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akk" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akl" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle1_outer"; name = "External Access"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle1_shuttle"; name = "exterior access button"; pixel_x = 0; pixel_y = 26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"akn" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/random/maintenance/cargo,/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) +"ako" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"akr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"aks" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"akt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"aku" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akv" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fpcenter) +"akw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"akx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"aky" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"akz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fore) +"akA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"akB" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fscenter) +"akC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"akD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) +"akE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) +"akF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) +"akG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fscenter) +"akH" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"akI" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"akJ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"akK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"akL" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/centralport) +"akM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Aft Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"akN" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akO" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akP" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle1/start) +"akQ" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle1_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akR" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle1_pump"},/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akS" = (/obj/machinery/shuttle_sensor{dir = 5; id_tag = "shuttle1sens_exp"},/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle1/start) +"akT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Aft Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"akU" = (/obj/structure/closet/crate,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/maintenance/clean,/obj/random/toy,/obj/item/weapon/toy/xmas_cracker,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) +"akV" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akX" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akY" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"akZ" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ala" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"alb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fpcenter) +"alc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ald" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"ale" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"alf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"alg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) +"alh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) +"ali" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"alj" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"alk" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"all" = (/obj/effect/floor_decal/borderfloor,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"alm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aln" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"alo" = (/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/effect/decal/cleanable/molten_item,/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) +"alp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Aft Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"alq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Aft Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"alr" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/centralstarboard) +"als" = (/turf/simulated/floor/airless,/area/maintenance/firstdeck/centralport) +"alt" = (/turf/simulated/shuttle/wall,/area/shuttle/large_escape_pod2/station) +"alu" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/large_escape_pod2/station) +"alv" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) +"alw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/one) +"alx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"aly" = (/obj/machinery/space_heater,/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) +"alz" = (/obj/machinery/door/airlock/multi_tile/metal{icon_state = "door_locked"; id_tag = "expshuttle1_door_cargo"; locked = 1},/obj/machinery/button/remote/airlock{desiredstate = 1; dir = 4; id = "expshuttle1_door_cargo"; name = "Rear Hatch Control"; pixel_x = -26; pixel_y = 0; req_access = list(67); specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"alA" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle1/start) +"alB" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle1/start) +"alC" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8; start_pressure = 740.5},/turf/simulated/shuttle/plating,/area/shuttle/shuttle1/start) +"alD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"alE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/steel,/area/hangar/one) +"alF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"alG" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fpcenter) +"alH" = (/turf/simulated/wall/r_wall,/area/tcomm/chamber) +"alI" = (/turf/simulated/wall/r_wall,/area/tcomm/computer) +"alJ" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fscenter) +"alK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"alL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) +"alM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"alN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"alO" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"alP" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"alQ" = (/turf/simulated/wall,/area/maintenance/firstdeck/centralstarboard) +"alR" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/large_escape_pod2/station) +"alS" = (/obj/structure/bed/chair,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"alT" = (/obj/structure/bed/chair,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"alU" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"alV" = (/obj/machinery/sleep_console{dir = 4},/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"alW" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"alX" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"alY" = (/obj/structure/bed/chair,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"alZ" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/bed/chair,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"ama" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/shuttle/large_escape_pod2/station) +"amb" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) +"amc" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/one) +"amd" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/hangar/one) +"ame" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"amf" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"amg" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fpcenter) +"amh" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fscenter) +"ami" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"amj" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/storage/backpack/satchel/vir,/obj/item/weapon/storage/backpack/virology,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"amk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aml" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"amm" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod2/station) +"amn" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amo" = (/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"amp" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"amq" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/hangar/one) +"amr" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle1/start) +"ams" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle1/start) +"amt" = (/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"amu" = (/obj/item/weapon/storage/bible,/obj/structure/table/rack,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) +"amv" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"amw" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fpcenter) +"amx" = (/turf/simulated/wall,/area/maintenance/substation/firstdeck) +"amy" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amz" = (/obj/machinery/telecomms/server/presets/service/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amA" = (/obj/machinery/telecomms/server/presets/unused,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amB" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amC" = (/obj/machinery/exonet_node{anchored = 1},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amD" = (/obj/machinery/pda_multicaster/prebuilt,/obj/structure/sign/warning/nosmoking_2{pixel_y = 32},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amE" = (/obj/machinery/power/apc/super/critical{dir = 1; is_critical = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amF" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amG" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"amH" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/tcomm/computer) +"amI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1381; id_tag = "server_access_pump"},/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{frequency = 1381; id_tag = "server_access_airlock"; name = "Server Access Airlock"; pixel_x = 0; pixel_y = 25; tag_airpump = "server_access_pump"; tag_chamber_sensor = "server_access_sensor"; tag_exterior_door = "server_access_outer"; tag_exterior_sensor = "server_access_ex_sensor"; tag_interior_door = "server_access_inner"; tag_interior_sensor = "server_access_in_sensor"; tag_secure = 1},/turf/simulated/floor/plating,/area/tcomm/computer) +"amJ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1381; id_tag = "server_access_pump"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "server_access_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plating,/area/tcomm/computer) +"amK" = (/turf/simulated/wall,/area/tcomm/computer) +"amL" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fscenter) +"amM" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"amN" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) +"amO" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/hangar/three) +"amP" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"amQ" = (/obj/random/toolbox,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"amR" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amS" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amT" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "large_escape_pod_2"; pixel_x = 26; pixel_y = -26; tag_door = "large_escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"amV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/random/medical/lite,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amW" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amX" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod2/station) +"amY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"amZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"ana" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"anb" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/hangar/one) +"anc" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"and" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"ane" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/one) +"anf" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ang" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"anh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"ani" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/firstdeck) +"anj" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"ank" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 0; pressure_checks_default = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"anl" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"anm" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"ann" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/airlock_sensor/airlock_interior{frequency = 1381; id_tag = "server_access_in_sensor"; master_tag = "server_access_airlock"; name = "interior sensor"; pixel_x = 25; pixel_y = -25},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"ano" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance_hatch{frequency = 1381; icon_state = "door_locked"; id_tag = "server_access_inner"; locked = 1; name = "Telecoms Server Access"; req_access = list(61)},/turf/simulated/floor/plating,/area/tcomm/computer) +"anp" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/tcomm/computer) +"anq" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/tcomm/computer) +"anr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"ans" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"ant" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"anu" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/hangar/three) +"anv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"anw" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/hangar/three) +"anx" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/hangar/three) +"any" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/three) +"anz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"anA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/three) +"anB" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"anC" = (/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"anD" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_hatch"; locked = 1; name = "Large Escape Pod Hatch 2"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) +"anE" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) +"anF" = (/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/one) +"anG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "hangar_1"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "hangar_1_door"},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/one) +"anP" = (/obj/item/weapon/storage/toolbox/syndicate,/obj/structure/closet,/obj/random/contraband,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) +"anQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"anR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"anS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"anT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"anU" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 8},/obj/structure/cable/green{d1 = 16; d2 = 0; icon_state = "16-0"},/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"anV" = (/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Central Compartment Port"; dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"anW" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"anX" = (/obj/machinery/telecomms/bus/preset_two/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"anY" = (/obj/machinery/telecomms/relay/preset/southerncross/d1,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"anZ" = (/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoa" = (/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aob" = (/obj/machinery/telecomms/bus/preset_four,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoc" = (/obj/machinery/telecomms/processor/preset_four,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aod" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoe" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/tcomm/computer) +"aof" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/maintenance_hatch{frequency = 1381; icon_state = "door_locked"; id_tag = "server_access_outer"; locked = 1; name = "Telecoms Server Access"; req_access = list(61)},/turf/simulated/floor/plating,/area/tcomm/computer) +"aog" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled/dark,/area/tcomm/computer) +"aoh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aoi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aoj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aok" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/firstdeck/forestarboard) +"aol" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/hangar/three) +"aom" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aon" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aoo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aop" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aoq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aor" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aos" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aot" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aou" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/monotile,/area/hangar/three) +"aov" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/three) +"aow" = (/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aox" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_berth_hatch"; locked = 1; name = "Large Escape Pod 2"; req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_port) +"aoy" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_port) +"aoz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{id_tag = "hangar_1_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/one) +"aoA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass_mining{id_tag = "hangar_1_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/one) +"aoB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hangar/one) +"aoC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aoD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aoE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Seven"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"aoF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"aoG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"aoH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Central Substation"; req_one_access = list(11,19,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"aoI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"aoJ" = (/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"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"aoK" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"aoL" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoM" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoN" = (/obj/machinery/telecomms/relay/preset/southerncross/d2,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoO" = (/obj/machinery/telecomms/relay/preset/southerncross/d3,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoP" = (/obj/machinery/telecomms/processor/preset_three,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoQ" = (/obj/machinery/telecomms/bus/preset_three,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoR" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Central Compartment Starboard"; dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aoS" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/computer) +"aoT" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/obj/machinery/airlock_sensor/airlock_exterior{frequency = 1381; id_tag = "server_access_ex_sensor"; master_tag = "server_access_airlock"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/tcomm/computer) +"aoU" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/tiled,/area/tcomm/computer) +"aoV" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/tcomm/computer) +"aoW" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/tcomm/computer) +"aoX" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; set_temperature = 73; use_power = 1},/turf/simulated/floor/tiled,/area/tcomm/computer) +"aoY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aoZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"apa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Two"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"apb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"apc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"apd" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"ape" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hangar/three) +"apf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass_mining{name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/three) +"apg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/three) +"aph" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"api" = (/obj/machinery/door/airlock/glass_external{icon_state = "door_locked"; locked = 1; name = "Large Escape Pod 3"},/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"apj" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"apk" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"apl" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"apm" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"apn" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"apo" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"app" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "large_escape_pod_2_berth"; pixel_x = 0; pixel_y = 26; tag_door = "large_escape_pod_2_berth_hatch"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"apq" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Escape Pod"; dir = 2},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"apr" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aps" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"apt" = (/obj/structure/closet/emcloset,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"apu" = (/turf/simulated/wall,/area/construction/firstdeck/construction1) +"apv" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) +"apw" = (/obj/structure/table/steel,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/random/tech_supply,/obj/random/toolbox,/turf/simulated/floor,/area/construction/firstdeck/construction1) +"apx" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) +"apy" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) +"apz" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) +"apA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"apB" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"apC" = (/turf/simulated/wall,/area/hangar/onecontrol) +"apD" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/communicator,/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"apE" = (/obj/structure/frame/computer,/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"apF" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"apG" = (/obj/structure/disposalpipe/up,/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/up/supply,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"apH" = (/obj/item/weapon/caution/cone,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) +"apI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"apJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"apK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"apL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) +"apM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"apN" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"apO" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"apP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"apQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"apR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"apS" = (/obj/structure/cable/cyan,/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/computer) +"apT" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/tcomm/computer) +"apU" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/computer) +"apV" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/tcomm/computer) +"apW" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/tiled,/area/tcomm/computer) +"apX" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/computer) +"apY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"apZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aqa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"aqb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aqc" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aqd" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/weapon/material/shard,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aqe" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aqf" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aqg" = (/turf/simulated/wall,/area/hangar/threecontrol) +"aqh" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/steel,/area/hangar/threecontrol) +"aqi" = (/obj/structure/frame/computer,/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled/monotile,/area/hangar/threecontrol) +"aqj" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"aqk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/firstdeck/starboard) +"aql" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/firstdeck/starboard) +"aqm" = (/turf/simulated/wall,/area/construction/firstdeck/construction4) +"aqn" = (/obj/item/stack/tile/wood,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor,/area/construction/firstdeck/construction4) +"aqo" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction4) +"aqp" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"aqq" = (/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"aqr" = (/obj/random/drinkbottle,/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/drinkbottle,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"aqs" = (/obj/structure/closet/emcloset,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"aqt" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"aqu" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"aqv" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Escape Pod 2"; dir = 2},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"aqw" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"aqx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"aqy" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aqz" = (/obj/item/weapon/extinguisher,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aqA" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aqB" = (/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aqC" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aqD" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aqE" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aqF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aqG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aqH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqI" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"aqO" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) +"aqP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) +"aqQ" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aqR" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aqS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Hangar Control Room"},/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"aqT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"aqU" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"aqV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/first_deck{c_tag = "Hangar One - Control Room"; dir = 8},/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"aqW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aqX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aqY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aqZ" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ara" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"arb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"arc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"ard" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"are" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) +"arf" = (/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"arg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"arh" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"ari" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"arj" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"ark" = (/obj/machinery/light,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"arl" = (/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"arm" = (/obj/structure/sign/warning/nosmoking_2{pixel_y = -32},/obj/machinery/telecomms/hub/preset/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"arn" = (/obj/machinery/telecomms/receiver/preset_right/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"aro" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"arp" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) +"arq" = (/obj/structure/cable/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/high_voltage{pixel_y = -32},/turf/simulated/floor/plating,/area/tcomm/computer) +"arr" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/tcomm/computer) +"ars" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/item/device/multitool,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/tcomm/computer) +"art" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/filingcabinet,/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Main Computer Room"; dir = 1},/turf/simulated/floor/tiled,/area/tcomm/computer) +"aru" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/tcomm/computer) +"arv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/computer) +"arw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"arx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fscenter) +"ary" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"arz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Hangar Control Room Access"; req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/hangar/threecontrol) +"arA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"arB" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/threecontrol) +"arC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"arD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{name = "Hangar Control Room"},/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"arE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"arF" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"arG" = (/obj/structure/table,/obj/item/stack/material/steel{amount = 2},/obj/random/maintenance/engineering,/turf/simulated/floor,/area/construction/firstdeck/construction4) +"arH" = (/obj/item/stack/material/wood{amount = 24},/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"arI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/construction/firstdeck/construction4) +"arJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arM" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arN" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arO" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arP" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"arQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"arR" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"arS" = (/obj/machinery/space_heater,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"arT" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/port) +"arU" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/port) +"arV" = (/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"arW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"arX" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"arY" = (/obj/structure/table/steel,/obj/item/clothing/gloves/black,/obj/item/device/multitool{pixel_x = 5},/obj/random/tech_supply,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) +"arZ" = (/obj/machinery/light,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction1) +"asa" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) +"asb" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) +"asc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"asd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"ase" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"asf" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"asg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"ash" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/secure_closet/guncabinet{anchored = 1; desc = "It's an immobile card-locked storage unit. For storing weapons and other items when station side."; name = "Secure Locker"; req_one_access = list(67,43,3)},/turf/simulated/floor/tiled,/area/hangar/onecontrol) +"asi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"asj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ask" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/wall,/area/maintenance/firstdeck/foreport) +"asl" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"asm" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"asn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aso" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/port) +"asp" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/fpcenter) +"asq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fpcenter) +"asr" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fpcenter) +"ass" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access = list(61)},/turf/simulated/floor/tiled/steel_grid,/area/tcomm/computer) +"ast" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/tcomm/computer) +"asu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) +"asv" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fscenter) +"asw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/fscenter) +"asx" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/fscenter) +"asy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/starboard) +"asz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"asA" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"asB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Three - Control Room"; dir = 4},/obj/effect/floor_decal/rust,/obj/structure/closet/secure_closet/guncabinet{anchored = 1; desc = "It's an immobile card-locked storage unit. For storing weapons and other items when station side."; name = "Secure Locker"; req_one_access = list(67,43,3)},/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"asC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"asD" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled,/area/hangar/threecontrol) +"asE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"asF" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"asG" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"asH" = (/obj/structure/table/reinforced,/obj/item/stack/tile/wood,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"asI" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"asJ" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 4; pixel_y = 5},/obj/item/weapon/reagent_containers/food/drinks/glass2/square,/obj/machinery/light,/turf/simulated/floor/wood,/area/construction/firstdeck/construction4) +"asK" = (/obj/item/stack/tile/wood,/turf/simulated/floor,/area/construction/firstdeck/construction4) +"asL" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"asM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"asN" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"asO" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"asP" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"asQ" = (/turf/unsimulated/mask,/area/hallway/primary/firstdeck/port) +"asR" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/disposal,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"asS" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"asT" = (/obj/structure/sign/warning/pods,/turf/simulated/wall,/area/hallway/primary/firstdeck/port) +"asU" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_port) +"asV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"asW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_port) +"asX" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/science{dir = 8},/turf/simulated/wall,/area/construction/firstdeck/construction1) +"asY" = (/obj/structure/sign/directions/security{dir = 8},/turf/simulated/wall,/area/construction/firstdeck/construction1) +"asZ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction1) +"ata" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atb" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"atc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atd" = (/obj/structure/sign/hangar/one,/turf/simulated/wall,/area/hangar/onecontrol) +"ate" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"atf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"atg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/flora/pottedplant/tall,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"ath" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"ati" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atl" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atm" = (/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) +"atn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) +"ato" = (/turf/unsimulated/mask,/area/hallway/primary/firstdeck/elevator) +"atp" = (/turf/simulated/wall/r_wall,/area/tcomm/tcomstorage) +"atq" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor,/area/tcomm/tcomstorage) +"atr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/tcomm/tcomstorage) +"ats" = (/obj/structure/table/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/obj/item/weapon/circuitboard/telecomms/exonet_node,/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Storage"; dir = 2},/turf/simulated/floor,/area/tcomm/tcomstorage) +"att" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/tcomstorage) +"atu" = (/obj/machinery/porta_turret/stationary,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/tcomm/tcomstorage) +"atv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"atw" = (/obj/machinery/porta_turret/stationary,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomstorage) +"atx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"aty" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"atz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"atA" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"atB" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/starboard) +"atC" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/starboard) +"atD" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/starboard) +"atE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"atF" = (/obj/structure/sign/hangar/three,/turf/simulated/wall,/area/hangar/threecontrol) +"atG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"atH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"atI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"atJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction4) +"atK" = (/obj/structure/sign/directions/security{dir = 4},/turf/simulated/wall,/area/construction/firstdeck/construction4) +"atL" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/turf/simulated/wall,/area/construction/firstdeck/construction4) +"atM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"atN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"atO" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_starboard1) +"atP" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/starboard) +"atQ" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/starboard) +"atR" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/starboard) +"atS" = (/turf/unsimulated/mask,/area/hallway/primary/firstdeck/starboard) +"atT" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"atU" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"atV" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/port) +"atW" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atY" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"atZ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aua" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aub" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aud" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aue" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aug" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auh" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aui" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"auj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aul" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway Two"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aum" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aun" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/disposalpipe/junction/yjunction{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auo" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aup" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/port) +"aur" = (/turf/simulated/wall/r_wall,/area/medical/first_aid_station/firstdeck) +"aus" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aut" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auw" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aux" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"auy" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auA" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva/pilot) +"auB" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"auC" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/structure/bed/roller,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"auD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/firstdeck) +"auE" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"auF" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"auG" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"auH" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/elevator) +"auI" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/tcomm/tcomstorage) +"auJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/tcomm/tcomstorage) +"auK" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/tcomm/tcomstorage) +"auL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"auM" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"auN" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"auO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"auQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auR" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auS" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auU" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway One"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auW" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/starboard) +"auY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"auZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ava" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avb" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avc" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ave" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway Three"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avf" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avg" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avj" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avl" = (/obj/structure/sign/deck/first{pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway Four"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"avn" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/starboard) +"avo" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"avp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"avq" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"avr" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/port) +"avs" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"avt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avD" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"avF" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/port) +"avG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"avH" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avK" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"avL" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/machinery/sleep_console{dir = 4},/obj/structure/closet/secure_closet/medical_wall{name = "defibrillator closet"; pixel_y = 31},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"avM" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/item/weapon/storage/toolbox/mechanical,/obj/random/powercell,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/medical/first_aid_station/firstdeck) +"avN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"avO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"avP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19,25,27,28,35)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/first_aid_station/firstdeck) +"avQ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"avR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"avS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"avT" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor,/area/tcomm/tcomstorage) +"avU" = (/obj/structure/cable/cyan{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,/area/tcomm/tcomstorage) +"avV" = (/obj/structure/cable/cyan{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,/area/tcomm/tcomstorage) +"avW" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access = list(61)},/turf/simulated/floor,/area/tcomm/tcomstorage) +"avX" = (/obj/structure/cable/cyan{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,/area/tcomm/tcomstorage) +"avY" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"avZ" = (/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"awa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"awb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awf" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"awh" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/starboard) +"awi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"awj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awk" = (/obj/structure/cable{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/monotile,/area/hallway/primary/firstdeck/starboard) +"awl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awq" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"aws" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"awv" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"aww" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/starboard) +"awx" = (/obj/machinery/light/small{dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"awy" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"awz" = (/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/industrial/danger{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/port) +"awA" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awC" = (/obj/structure/sign/deck/first{pixel_y = -32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway Four"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awD" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awE" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awF" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awG" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awK" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awL" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway Three"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awM" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"awP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awQ" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/techmaint,/area/medical/first_aid_station/firstdeck) +"awR" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awS" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awT" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/port) +"awV" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awX" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Port Hallway One"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"awZ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"axa" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"axb" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"axc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"axd" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/paleblue/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"axe" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"axf" = (/obj/structure/table/glass,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"axg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/glass,/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/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"axh" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"axi" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Deck One"; dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/roller,/obj/item/roller,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/firstdeck) +"axj" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled/techmaint,/area/medical/first_aid_station/firstdeck) +"axk" = (/turf/simulated/floor,/area/tcomm/tcomstorage) +"axl" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/tcomm/tcomstorage) +"axm" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/tcomm/tcomstorage) +"axn" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"axo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"axp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"axr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axs" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axu" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axw" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axx" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axy" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axz" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axA" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axB" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Hallway Two"; dir = 1},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axC" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) +"axD" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/structure/closet/medical_wall{pixel_y = -31},/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axF" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axH" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axJ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axK" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axM" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"axO" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/starboard) +"axP" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"axQ" = (/obj/turbolift_map_holder/southern_cross/port,/turf/unsimulated/mask,/area/hallway/primary/firstdeck/port) +"axR" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"axS" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"axT" = (/turf/simulated/wall,/area/maintenance/firstdeck/centralport) +"axU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"axV" = (/turf/simulated/wall,/area/construction/firstdeck/construction2) +"axW" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/turf/simulated/wall,/area/construction/firstdeck/construction2) +"axX" = (/obj/structure/sign/directions/medical{dir = 8},/obj/structure/sign/directions/evac{dir = 8; pixel_y = 10},/turf/simulated/wall,/area/construction/firstdeck/construction2) +"axY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"axZ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aya" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayb" = (/turf/simulated/wall,/area/maintenance/firstdeck/aftport) +"ayc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"ayd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"aye" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"ayf" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayg" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayi" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayj" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) "ayk" = (/turf/simulated/wall,/area/ai_monitored/storage/eva/pilot) -"ayl" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"aym" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"ayn" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/southleft,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"ayo" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/window/southright,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"ayp" = (/obj/structure/table/glass,/obj/machinery/recharger,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"ayq" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"ayr" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/elevator) -"ays" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"ayt" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"ayu" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"ayv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/hatch{name = "Telecoms Hallway"; req_access = list(61)},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) -"ayw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) -"ayx" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/ascenter) -"ayy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) -"ayz" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 2; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/ascenter) -"ayA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"ayB" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"ayC" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"ayD" = (/obj/structure/closet/crate/internals,/obj/random/tank,/obj/random/tank,/obj/random/tank,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"ayE" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"ayF" = (/obj/structure/closet,/obj/item/weapon/lipstick/purple,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"ayG" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Control Room"; dir = 4},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"ayH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"ayI" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"ayJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"ayK" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"ayL" = (/obj/structure/mirror{pixel_y = 25},/turf/simulated/floor,/area/construction/firstdeck/construction3) -"ayM" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/mime,/obj/item/weapon/pen/crayon/mime,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/construction/firstdeck/construction3) -"ayN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) -"ayO" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) -"ayP" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) -"ayQ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"ayR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"ayS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"ayT" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"ayU" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"ayV" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"ayW" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"ayX" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"ayY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) -"ayZ" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"aza" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) -"azb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/maintenance/firstdeck/aftport) -"azc" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"azd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aze" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/apcenter) -"azf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"azg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"azh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"azi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva/pilot) -"azj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"azk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"azl" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"azm" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/landmark/start{name = "Pilot"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"azn" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azo" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azp" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azq" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Elevator Access"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azr" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azs" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azt" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"azu" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/techfloor{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"azv" = (/turf/simulated/wall/r_wall,/area/tcomm/entrance) -"azw" = (/obj/structure/table/standard,/obj/item/weapon/cell,/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"azx" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"azy" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"azz" = (/turf/simulated/wall/r_wall,/area/tcomm/tcomfoyer) -"azA" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/sign/warning/lethal_turrets{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) -"azB" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) -"azC" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Telecommunications"},/obj/machinery/turretid/lethal{ailock = 1; check_synth = 1; control_area = "\improper Telecoms Satellite"; desc = "A firewall prevents AIs from interacting with this device."; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) -"azD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"azE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"azF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"azG" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/ascenter) -"azH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"azI" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"azJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Hangar Control Room Access"; req_access = list(12)},/turf/simulated/floor/plating,/area/hangar/twocontrol) -"azK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"azL" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/twocontrol) -"azM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"azN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{name = "Hangar Control Room"},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"azO" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"azP" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/starboard) -"azQ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/construction/firstdeck/construction3) -"azR" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) -"azS" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) -"azT" = (/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) -"azU" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) -"azV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"azW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"azX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"azY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"azZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aAa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aAb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aAc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aAd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aAe" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aAf" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAg" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAh" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAi" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAj" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAk" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAl" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/clean,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weapon/airlock_electronics,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAm" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) -"aAn" = (/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"aAo" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"aAp" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/construction/firstdeck/construction2) -"aAq" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/table/steel,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) -"aAr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"aAs" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"aAt" = (/turf/simulated/wall/r_wall,/area/quartermaster/mininglockerroom) -"aAu" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aAv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aAw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aAx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/apcenter) -"aAy" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aAz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aAA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aAB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"aAC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"aAD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/start{name = "Pilot"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"aAE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"aAF" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"aAG" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) -"aAH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aAI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aAJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aAK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aAL" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aAM" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"aAN" = (/obj/structure/closet/malf/suits,/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aAO" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aAP" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aAQ" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/tcomfoyer) -"aAR" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) -"aAS" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) -"aAT" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) -"aAU" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aAV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aAW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aAX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/ascenter) -"aAY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aAZ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aBa" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aBb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"aBc" = (/obj/structure/frame/computer,/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled/monotile,/area/hangar/twocontrol) -"aBd" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hangar/twocontrol) -"aBe" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) -"aBf" = (/obj/item/clothing/head/soft/mime,/obj/item/clothing/mask/gas/mime,/obj/item/clothing/shoes/mime,/obj/item/clothing/under/mime,/obj/structure/closet/crate,/turf/simulated/floor,/area/construction/firstdeck/construction3) -"aBg" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) -"aBh" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) -"aBi" = (/obj/structure/closet/emcloset,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aBj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aBk" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aBl" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Escape Pod 1"; dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aBm" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "large_escape_pod_1_berth"; pixel_x = 0; pixel_y = -26; tag_door = "large_escape_pod_1_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aBn" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aBo" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aBp" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aBq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aBr" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) -"aBs" = (/turf/simulated/wall/r_wall,/area/quartermaster/storage) -"aBt" = (/turf/simulated/wall,/area/quartermaster/storage) -"aBu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/storage) -"aBv" = (/turf/simulated/wall/r_wall,/area/quartermaster/hallway) -"aBw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(50)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) -"aBx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/hallway) -"aBy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) -"aBz" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aBA" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aBB" = (/obj/structure/dispenser/oxygen,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aBC" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/mask/breath,/obj/item/weapon/mining_scanner,/obj/item/weapon/rig/industrial/equipped,/obj/machinery/door/window/southleft{name = "Mining Suits"; req_access = list(50)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aBD" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/weapon/mining_scanner,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/head/helmet/space/void/mining,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/southright{name = "Mining Suit"; req_access = list(50)},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aBE" = (/obj/machinery/suit_cycler/mining,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aBF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aBG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aBH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Six"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aBI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aBJ" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aBK" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"aBL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/civilian{c_tag = "CIV - Auxiliary EVA"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet/secure_closet/pilot,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"aBM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/closet/secure_closet/pilot,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"aBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) -"aBO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva/pilot) -"aBP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window/reinforced,/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aBQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/vending/fitness,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aBR" = (/obj/machinery/vending/cigarette,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aBS" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aBT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aBU" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aBV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aBW" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"aBX" = (/obj/structure/closet/malf/suits,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aBY" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aBZ" = (/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/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aCa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/hatch{name = "Power Control"; req_access = list(61)},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) -"aCb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) -"aCc" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) -"aCd" = (/obj/machinery/power/smes/buildable{charge = 2.5e+006; input_attempt = 1; input_level = 50000; inputting = 1; output_level = 250000; RCon_tag = "Telecommunications Satellite"},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/tcomm/tcomfoyer) -"aCe" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aCf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aCg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Three"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aCh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aCi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aCj" = (/turf/simulated/wall/r_wall,/area/hangar/two) -"aCk" = (/turf/simulated/wall,/area/hangar/two) -"aCl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hangar/two) -"aCm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_mining{id_tag = "shuttle_2_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/two) -"aCn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{id_tag = "shuttle_2_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/two) -"aCo" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_1_berth_hatch"; locked = 1; name = "Large Escape Pod 1"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_starboard2) -"aCp" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCq" = (/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aCr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aCs" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aCt" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/status_display/supply_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCv" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCw" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCy" = (/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCz" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCA" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCB" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/closet/crate/freezer,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCC" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCD" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/accessory/armband/cargo,/obj/item/device/retail_scanner/cargo,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCE" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/cargo,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aCF" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/quartermaster/hallway) -"aCG" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aCH" = (/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aCI" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aCJ" = (/obj/machinery/status_display,/turf/simulated/wall,/area/quartermaster/mininglockerroom) -"aCK" = (/obj/structure/closet/secure_closet/miner,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aCL" = (/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aCM" = (/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aCN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aCO" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aCP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aCQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aCR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aCS" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aCT" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva/pilot) -"aCU" = (/obj/structure/stairs/north,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aCV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/lapvend,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aCW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/item/device/paicard,/obj/item/clothing/head/soft/grey,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aCX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/item/device/communicator,/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aCY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aCZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aDa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aDb" = (/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/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"aDc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Telecommunications"; req_access = list(61)},/turf/simulated/floor/tiled/steel_grid,/area/tcomm/entrance) -"aDd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aDe" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aDf" = (/obj/structure/sign/warning/high_voltage{pixel_x = 32},/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Entrance"; dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aDg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Tcoms - SMES Room"; dir = 1},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) -"aDh" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) -"aDi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aDj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aDk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aDl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aDm" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aDn" = (/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aDo" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "hangar_2"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 26; tag_door = "hangar_2_door"},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aDx" = (/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aDy" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) -"aDz" = (/turf/simulated/shuttle/wall,/area/shuttle/large_escape_pod1/station) -"aDA" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/large_escape_pod1/station) -"aDB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_1_hatch"; locked = 1; name = "Large Escape Pod Hatch 1"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"aDC" = (/obj/structure/sign/greencross{name = "Medical Pod"},/turf/simulated/shuttle/wall/no_join,/area/shuttle/large_escape_pod1/station) -"aDD" = (/turf/simulated/floor/airless,/area/maintenance/firstdeck/centralstarboard) -"aDE" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDF" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDP" = (/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDQ" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDR" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aDS" = (/turf/simulated/wall,/area/quartermaster/hallway) -"aDT" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aDU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aDV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aDW" = (/turf/simulated/wall,/area/quartermaster/mininglockerroom) -"aDX" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aDY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aDZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aEa" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aEb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access = list(48)},/turf/simulated/floor/plating,/area/quartermaster/mininglockerroom) -"aEc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aEd" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aEe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aEf" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aEg" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) -"aEh" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/elevator) -"aEi" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/elevator) -"aEj" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) -"aEk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aEl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aEm" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"aEn" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/tcomm/entrance) -"aEo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aEp" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aEq" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aEr" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/ascenter) -"aEs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aEt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aEu" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aEv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aEw" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/aftstarboard) -"aEx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aEy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aEz" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/turf/simulated/floor/tiled,/area/hangar/two) -"aEA" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/hangar/two) -"aEB" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) -"aEC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aED" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aEE" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) -"aEF" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/airless,/area/shuttle/large_escape_pod1/station) -"aEG" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aEH" = (/obj/structure/bed/roller,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aEI" = (/obj/structure/bed/roller,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aEJ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "large_escape_pod_1"; pixel_x = -26; pixel_y = 26; tag_door = "large_escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"aEK" = (/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"aEL" = (/obj/structure/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aEM" = (/obj/structure/bed/chair,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aEN" = (/obj/structure/bed/chair,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aEO" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/large_escape_pod1/station) -"aEP" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aEQ" = (/turf/simulated/floor/reinforced,/area/quartermaster/storage) -"aER" = (/turf/simulated/floor/reinforced,/area/supply/station) -"aES" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aET" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aEV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aEW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/hallway) -"aEX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aEY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aEZ" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aFa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/mining{name = "Mining Locker Room"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/mininglockerroom) -"aFb" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFe" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aFf" = (/obj/machinery/computer/security/mining,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aFg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aFh" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) -"aFi" = (/obj/structure/sign/deck/first{pixel_x = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFk" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFl" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFo" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"aFp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aFq" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/tcomm/entrance) -"aFr" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/obj/item/device/aicard,/obj/item/device/multitool,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"aFs" = (/turf/simulated/wall,/area/tcomm/tcomfoyer) -"aFt" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/ascenter) -"aFu" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aFv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aFw" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aFx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aFy" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aFz" = (/turf/simulated/floor/reinforced,/area/hangar/two) -"aFA" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle2/start) -"aFB" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle2/start) -"aFC" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aFD" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aFE" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"aFF" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aFG" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod1/station) -"aFH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aFI" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aFJ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aFK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aFL" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aFM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/mininglockerroom) -"aFN" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/belt/utility,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFO" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/cargo{c_tag = "CRG - Mining Locker Room"; dir = 1; name = "security camera"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFP" = (/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{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFQ" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Shaft Miner"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) -"aFR" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aFS" = (/obj/structure/table/steel,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = -32},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) -"aFT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aFU" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) -"aFV" = (/obj/machinery/newscaster,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/elevator) -"aFW" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/elevator) -"aFX" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aFZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aGa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) -"aGb" = (/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) -"aGc" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/tcomm/entrance) -"aGd" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"aGe" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"aGf" = (/obj/machinery/teleport/hub,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) -"aGg" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/ascenter) -"aGh" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aGi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aGj" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aGk" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/maintenance/firstdeck/aftstarboard) -"aGl" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aGm" = (/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle2/start) -"aGn" = (/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle2/start) -"aGo" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aGp" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aGq" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/wrench,/obj/random/medical/lite,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aGr" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aGs" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"aGt" = (/obj/machinery/sleep_console,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) -"aGu" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aGv" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aGw" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) -"aGx" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aGy" = (/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/industrial/danger{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aGz" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aGA" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aGB" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aGC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aGD" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aGE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/mining{name = "Mining Locker Room"; req_access = list(50)},/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,/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/mininglockerroom) -"aGF" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aGG" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/apcenter) -"aGH" = (/obj/structure/table/bench/standard,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) -"aGI" = (/obj/structure/sign/directions/evac{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/apcenter) -"aGJ" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/elevator) -"aGK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/elevator) -"aGL" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/elevator) -"aGM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/elevator) -"aGN" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/elevator) -"aGO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aGP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aGQ" = (/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle2/start) -"aGR" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) -"aGS" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/shuttle2/start) -"aGT" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle2/start) -"aGU" = (/obj/machinery/door/blast/regular{dir = 4; id = "shuttle2hatch"; layer = 3.3; name = "Rear Hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aGV" = (/obj/machinery/button/remote/blast_door{id = "shuttle2hatch"; name = "Rear Hatch Control"; pixel_x = 26; pixel_y = 0; req_access = list(67)},/obj/machinery/door/blast/regular{dir = 4; id = "shuttle2hatch"; layer = 3.3; name = "Rear Hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aGW" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/shuttle2/start) -"aGX" = (/obj/machinery/space_heater,/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) -"aGY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aGZ" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aHa" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) -"aHb" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"aHc" = (/obj/effect/floor_decal/industrial/loading{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHd" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHe" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHg" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHh" = (/obj/structure/stairs/west,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHi" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aHk" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aHl" = (/obj/structure/table/rack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aHm" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aHn" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aHo" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aHp" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aHq" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aHr" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aHs" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aHt" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aHu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aHv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) -"aHw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aHx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aHy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aHz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aHA" = (/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aHB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Fore Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aHC" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aHD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle2_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aHE" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle2/start) -"aHF" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aHG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aHH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Fore Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aHI" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHJ" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHK" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHM" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aHN" = (/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/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) -"aHO" = (/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/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHR" = (/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,/area/quartermaster/hallway) -"aHS" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHT" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aHU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/hallway) -"aHV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aHW" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aHX" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aHY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aHZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aIa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aIb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) -"aIc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aId" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/apcenter) -"aIe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aIf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aIg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aIh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aIi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aIj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/ascenter) -"aIk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aIl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aIm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aIn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aIo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) -"aIp" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aIq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aIr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aIs" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle2_outer"; name = "External Access"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle2"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aIt" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aIu" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aIv" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle2_inner"; name = "Internal Access"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle2"; name = "interior access button"; pixel_x = 0; pixel_y = 26; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aIw" = (/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aIx" = (/obj/machinery/button/remote/airlock{id = "shuttle2hatchside"; name = "Side Hatch Control"; pixel_y = 26; req_one_access = null; specialfunctions = 4},/obj/machinery/door/airlock/voidcraft/vertical{icon_state = "door_locked"; id_tag = "shuttle2hatchside"; locked = 1; name = "shuttle side hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aIy" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aIz" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Bay Port"; dir = 4; name = "security camera"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aIA" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aIB" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aIC" = (/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aID" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aIE" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/hallway) -"aIF" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aIG" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Hallway"; dir = 1; name = "security camera"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aIH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aII" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aIJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aIK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aIL" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) -"aIM" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aIN" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aIO" = (/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/toolbox,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aIP" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aIQ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aIR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Five"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aIS" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) -"aIT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aIU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aIV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aIW" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aIX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) -"aIY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aIZ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aJa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Four"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aJb" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aJc" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) -"aJd" = (/obj/item/inflatable/door/torn,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/maintenance/firstdeck/aftstarboard) -"aJe" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aJf" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "shuttle2_sensor"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle2_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJg" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_shuttle"; pixel_y = -26; tag_airpump = "shuttle2_pump"; tag_chamber_sensor = "shuttle2_sensor"; tag_exterior_door = "shuttle2_outer"; tag_interior_door = "shuttle2_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle2_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJh" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) -"aJi" = (/obj/structure/lattice,/obj/structure/grille/broken,/obj/item/stack/rods,/turf/space,/area/space) -"aJj" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aJk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Bay Starboard"; dir = 8; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aJl" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/firstdeck/cargo) -"aJm" = (/turf/simulated/wall,/area/maintenance/substation/firstdeck/cargo) -"aJn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(50)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aJo" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aJp" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aJq" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aJr" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aJs" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aJt" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aJu" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/as_emergency) -"aJv" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/as_emergency) -"aJw" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aJx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aJy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aJz" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aJB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aJC" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"aJD" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aJE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "cargo_bay"; name = "cargo bay hatch controller"; pixel_x = 30; pixel_y = 0; req_one_access = list(13,31); tag_door = "cargo_bay_door"},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aJF" = (/turf/unsimulated/mask,/area/quartermaster/storage) -"aJG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aJH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aJI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aJJ" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aJK" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aJL" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aJM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/aft) -"aJN" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aJO" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aJP" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aJQ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aJR" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aJS" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aJT" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aJU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aJV" = (/obj/structure/bed/chair/shuttle,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJW" = (/obj/structure/bed/chair/shuttle,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJX" = (/obj/machinery/sleep_console{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJY" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJZ" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/storage) -"aKa" = (/obj/machinery/light/small{dir = 8},/obj/structure/ore_box,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKb" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKd" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/stack/cable_coil/random,/obj/machinery/light_construct,/obj/machinery/light_construct,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aKe" = (/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aKf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aKg" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aKh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aKi" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aKj" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aKk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aKl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aKm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aKn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aKo" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aKp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aKq" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aKr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aKs" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aKt" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aKu" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aKv" = (/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aKw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aKx" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/storage) -"aKy" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKA" = (/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 1},/obj/structure/cable/green,/obj/structure/cable/green{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKB" = (/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aKC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aKD" = (/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aKE" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aKF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) -"aKG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) -"aKH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) -"aKI" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) -"aKJ" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/aft) -"aKK" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway One"; dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aKL" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aKM" = (/turf/simulated/wall/r_wall,/area/engineering/auxiliary_engineering) -"aKN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aKO" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aKP" = (/obj/machinery/space_heater,/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aKQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Aft Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aKR" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/steel,/area/hangar/two) -"aKS" = (/obj/structure/bed/chair/shuttle{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aKT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Aft Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aKU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aKV" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/storage) -"aKW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) -"aKX" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aKY" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aKZ" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/glass/bucket,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aLa" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/aftport) -"aLb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aLc" = (/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aLd" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aLe" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) -"aLf" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/tiled/dark,/area/storage/tech) -"aLg" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/weapon/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Secure Technical Storage"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/storage/tech) -"aLh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/storage/tech) -"aLi" = (/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aLj" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aLk" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/engineering/auxiliary_engineering) -"aLl" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLm" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLn" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLo" = (/obj/machinery/computer/security/engineering,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLp" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLq" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLr" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLs" = (/obj/machinery/atmospherics/binary/pump/high_power/on{dir = 4; name = "Pump station in"; target_pressure = 4500},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLt" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLu" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLv" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aLw" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aLx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aLy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aLz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aLA" = (/obj/machinery/door/airlock/glass_centcom{req_one_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aLB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aLC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aLD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aLE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aLF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aLG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aLH" = (/obj/turbolift_map_holder/southern_cross/cargo,/turf/unsimulated/mask,/area/quartermaster/storage) -"aLI" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aLJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) -"aLK" = (/turf/simulated/wall/r_wall,/area/storage/tech) -"aLL" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/storage/tech) -"aLM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/storage/tech) -"aLN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/storage/tech) -"aLO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/storage/tech) -"aLP" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/storage/tech) -"aLQ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aLR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aLS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLT" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLU" = (/obj/machinery/computer/station_alert,/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aLW" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLX" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLY" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aLZ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMa" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/obj/machinery/meter,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) -"aMc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aMd" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) -"aMe" = (/turf/simulated/floor/tiled/monotile,/area/hangar/two) -"aMf" = (/obj/structure/table/reinforced,/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aMg" = (/obj/structure/bed/chair/comfy/blue,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aMh" = (/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aMi" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aMj" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aMk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aMr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMs" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMt" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aMu" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMv" = (/obj/effect/decal/cleanable/generic,/obj/structure/table/rack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMB" = (/obj/structure/closet/crate/large,/obj/random/tank,/obj/random/tank,/obj/random/tank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aMC" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/tech) -"aMD" = (/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) -"aME" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) -"aMF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) -"aMG" = (/turf/simulated/wall,/area/storage/tech) -"aMH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access = list(19,23)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) -"aMI" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) -"aMJ" = (/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) -"aMK" = (/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) -"aML" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/aft) -"aMM" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/aft) -"aMN" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) -"aMO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMP" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/structure/table/steel,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMR" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aMS" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8; target_pressure = 4500},/obj/machinery/camera/network/engineering{c_tag = "ENG - Auxiliary Engineering Station"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMT" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMV" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMW" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aMX" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aMY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aMZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/hangar/two) -"aNe" = (/turf/simulated/floor/tiled,/area/hangar/two) -"aNf" = (/obj/structure/flight_right{dir = 1},/obj/machinery/button/remote/blast_door{id = "shuttle2hatch"; name = "Rear Hatch Control"; pixel_x = -26; pixel_y = 0; req_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aNg" = (/obj/machinery/computer/shuttle_control/web/shuttle2{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aNh" = (/obj/structure/flight_left{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aNi" = (/obj/machinery/light/spot,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aNj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) -"aNk" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aNl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/status_display/supply_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aNm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aNn" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aNo" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/storage) -"aNp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aNq" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aNr" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aNs" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aNt" = (/obj/structure/mopbucket,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aNu" = (/turf/simulated/floor,/area/storage/tech) -"aNv" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/tech) -"aNw" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"aNx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/storage/tech) -"aNy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/storage/tech) -"aNz" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor,/area/storage/tech) -"aNA" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/security/mining,/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"aNB" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor,/area/storage/tech) -"aNC" = (/obj/structure/table/steel,/obj/item/device/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/device/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) -"aND" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aNE" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aNF" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) -"aNG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Auxiliary Engineering Station"; req_one_access = list(11,24)},/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) -"aNK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNL" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aNM" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNN" = (/obj/machinery/atmospherics/tvalve/mirrored/bypass{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNO" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aNQ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNS" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNU" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNV" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aNW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aNX" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) -"aNY" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) -"aNZ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) -"aOa" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aOb" = (/obj/structure/closet,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aOc" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aOd" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/storage/tech) -"aOe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tech) -"aOf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/storage/tech) -"aOg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) -"aOh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/storage/tech) -"aOi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/storage/tech) -"aOj" = (/obj/structure/table/steel,/obj/item/weapon/storage/bag/circuits/basic,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/storage/tech) -"aOk" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aOl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aOm" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aOn" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) -"aOo" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOq" = (/obj/structure/table/steel,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aOs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOv" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOw" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOx" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOy" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aOz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aOA" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aOB" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aOC" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/aftstarboard) -"aOD" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) -"aOE" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) -"aOF" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) -"aOG" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) -"aOH" = (/obj/structure/table/steel,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/storage/tech) -"aOI" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/skills{pixel_x = 4; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"aOJ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/unary_atmos/heater,/obj/item/weapon/circuitboard/unary_atmos/cooler{pixel_x = 3; pixel_y = -3},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) -"aOK" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert_engineering{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/security/engineering,/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"aOL" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/storage/tech) -"aOM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/storage/tech) -"aON" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/camera/network/engineering{c_tag = "ENG - Technical Storage"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/storage/tech) -"aOO" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"aOP" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) -"aOQ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/analyzer/plant_analyzer,/obj/item/device/healthanalyzer,/obj/item/device/analyzer,/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/storage/tech) -"aOR" = (/obj/machinery/newscaster,/turf/simulated/wall/r_wall,/area/storage/tech) -"aOS" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aOT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aOU" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOW" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOX" = (/obj/machinery/power/breakerbox{RCon_tag = "Auxiliary Bypass"},/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aOY" = (/obj/structure/table/steel,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = -2; pixel_y = -2},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Auxiliary Subgrid"; name_tag = "Auxiliary Subgrid"},/obj/machinery/light,/turf/simulated/floor/tiled/techmaint,/area/engineering/auxiliary_engineering) -"aOZ" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 0; input_level = 500000; output_level = 500000; RCon_tag = "Auxiliary - Main"},/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aPa" = (/obj/item/stack/cable_coil/yellow,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) -"aPb" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aPc" = (/obj/structure/closet/firecloset,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aPd" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPf" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPg" = (/obj/machinery/light/small{dir = 4},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) -"aPh" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/storage/tech) -"aPi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access = list(23)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) -"aPj" = (/obj/machinery/status_display,/turf/simulated/wall,/area/storage/tech) -"aPk" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPl" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPm" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPn" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPo" = (/turf/simulated/wall,/area/engineering/auxiliary_engineering) -"aPp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Auxiliary Engineering Station"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/auxiliary_engineering) -"aPq" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/engineering/auxiliary_engineering) -"aPr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aPu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aPv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aPw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPG" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aPH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Two"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPY" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aPZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQf" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aQg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Three"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQp" = (/obj/structure/sign/warning/pods{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQs" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQt" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aQu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aQv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aQw" = (/turf/simulated/wall,/area/security/checkpoint3) -"aQx" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQz" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQA" = (/obj/structure/sign/warning/pods{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQB" = (/turf/simulated/floor/airless,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQC" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod3/station) -"aQD" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod3/station) -"aQE" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod3/station) -"aQF" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aQI" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aQJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aQK" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aQL" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/aft) -"aQM" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQN" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Four"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aQO" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aQP" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aQQ" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aQR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQT" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQU" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod5/station) -"aQV" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod5/station) -"aQW" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod5/station) -"aQX" = (/turf/simulated/floor/airless,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aQY" = (/turf/space,/area/skipjack_station/firstdeck) -"aQZ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) -"aRa" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"aRb" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"aRc" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"aRd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod Hatch 3"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"aRe" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod 3"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_3_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRg" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRh" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aRi" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aRj" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aRk" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) -"aRl" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aRm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aRn" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aRo" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aRp" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aRq" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aRr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aRs" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aRt" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch 5"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"aRu" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"aRv" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"aRw" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"aRx" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) -"aRy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRz" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRA" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aRB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aRC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aRD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aRE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security Checkpoint"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/security/checkpoint3) -"aRF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aRG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aRH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/security{c_tag = "SEC - Auxiliary Checkpoint"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aRI" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aRJ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aRK" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aRN" = (/obj/structure/flora/pottedplant/stoutbush,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aRO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/table/glass,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aRP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aRQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aRR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/aft) -"aRS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aRT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aRU" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aRV" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aRW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/checkpoint3) -"aRX" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/crowbar,/obj/item/weapon/pen,/obj/item/device/flash,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aRY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aRZ" = (/obj/machinery/computer/secure_data,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aSa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSb" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSc" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSd" = (/turf/space,/area/ninja_dojo/arrivals_dock) -"aSe" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod4/station) -"aSf" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod4/station) -"aSg" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod4/station) -"aSh" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/hologram/holopad,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aSi" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Port Escape Pods"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aSj" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aSk" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Stairs"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSl" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aSn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) -"aSp" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aSq" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aSr" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aSs" = (/obj/machinery/computer/card,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aSt" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSu" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Starboard Escape Pods"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/hologram/holopad,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSw" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod6/station) -"aSx" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod6/station) -"aSy" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod6/station) -"aSz" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod4/station) -"aSA" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_4"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_4_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) -"aSB" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) -"aSC" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) -"aSD" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_4_hatch"; locked = 1; name = "Escape Pod Hatch 4"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) -"aSE" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_4_berth_hatch"; locked = 1; name = "Escape Pod 4"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aSF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_4_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_4_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aSG" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aSH" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSN" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aSO" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aSP" = (/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) -"aSQ" = (/obj/machinery/computer/security,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aSR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_6_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_6_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aST" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_berth_hatch"; locked = 1; name = "Escape Pod 6"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aSU" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_hatch"; locked = 1; name = "Escape Pod Hatch 6"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) -"aSV" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) -"aSW" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) -"aSX" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_6"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_6_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) -"aSY" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod6/station) -"aSZ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aTa" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aTb" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) -"aTc" = (/obj/structure/stairs/east,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"aTd" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) -"aTe" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) -"aTf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Auxiliary Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/auxdockaft) -"aTg" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockaft) -"aTh" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) -"aTi" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aTj" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aTk" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/checkpoint3) -"aTl" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aTm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aTn" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockaft) -"aTo" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockaft) -"aTp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) -"aTq" = (/obj/structure/sign/deck/first,/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) -"aTr" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTs" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTu" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aTw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aTx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) -"aTy" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aTz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1aft_port_airlock"; pixel_x = 0; pixel_y = 26; req_access = list(13); tag_airpump = "d1aft_port_pump"; tag_chamber_sensor = "d1aft_port_sensor"; tag_exterior_door = "d1aft_port_outer"; tag_interior_door = "d1aft_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1aft_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTB" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTC" = (/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Auxiliary Docking 1"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTF" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/white/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTT" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Auxiliary Docking 3"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTV" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTW" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "ninja_shuttle_dock_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTY" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "ninja_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 26; req_access = list(0); req_one_access = list(13); tag_airpump = "ninja_shuttle_dock_pump"; tag_chamber_sensor = "ninja_shuttle_dock_sensor"; tag_exterior_door = "ninja_shuttle_dock_outer"; tag_interior_door = "ninja_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "ninja_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aTZ" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_port_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1aft_port_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUa" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUb" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_port_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUd" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1aft_port_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUe" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUg" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUi" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "skipjack_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUj" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockaft) -"aUn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUo" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1aft_starboard_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUq" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUr" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "ninja_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "ninja_shuttle_dock_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUu" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUv" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "ninja_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUw" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "ninja_shuttle_dock_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "ninja_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -28; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUx" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aUy" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockaft) -"aUz" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "skipjack_shuttle_dock_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUA" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUC" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockaft) -"aUD" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUE" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUF" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_starboard_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUG" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aUH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUI" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aUK" = (/obj/structure/table/bench/standard,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUL" = (/obj/structure/table/bench/standard,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Auxiliary Docking 2"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUM" = (/obj/structure/table/bench/standard,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUO" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aUQ" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "skipjack_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUR" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "skipjack_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "skipjack_shuttle_dock_pump"; tag_chamber_sensor = "skipjack_shuttle_dock_sensor"; tag_exterior_door = "skipjack_shuttle_dock_outer"; tag_interior_door = "skipjack_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) -"aUT" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1aft_starboard_airlock"; pixel_x = -26; pixel_y = 0; req_access = list(13); tag_airpump = "d1aft_starboard_pump"; tag_chamber_sensor = "d1aft_starboard_sensor"; tag_exterior_door = "d1aft_starboard_outer"; tag_interior_door = "d1aft_starboard_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUU" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1aft_starboard_sensor"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aUV" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "skipjack_shuttle_dock_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUW" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "skipjack_shuttle_dock_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "skipjack_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = 0; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUX" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_starboard_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1aft_starboard_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUY" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_starboard_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) -"aUZ" = (/turf/space,/area/skipjack_station/arrivals_dock) -"aVa" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/ninja_dojo/arrivals_dock) -"aVb" = (/turf/space,/area/ninja_dojo/firstdeck) -"aVc" = (/turf/space,/area/ninja_dojo/seconddeck) -"aVd" = (/turf/space,/area/shuttle/shuttle1/seconddeck) -"aVe" = (/turf/space,/area/syndicate_station/seconddeck) -"aVf" = (/obj/structure/lattice,/obj/machinery/camera/network/security{c_tag = "SEC - Armory Exterior"; dir = 1},/turf/space,/area/space) -"aVg" = (/turf/simulated/wall/r_wall,/area/security/armoury) -"aVh" = (/turf/simulated/wall/r_wall,/area/security/tactical) -"aVi" = (/turf/simulated/wall/r_wall,/area/space) -"aVj" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/security/armoury) -"aVk" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/security/armoury) -"aVl" = (/turf/simulated/wall/r_wall,/area/rnd/test_area) -"aVm" = (/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aVn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/rnd/test_area) -"aVo" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/southleft{name = "Riot Armor"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVp" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/window/brigdoor/southright{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVq" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/security,/obj/item/clothing/head/helmet/space/void/security,/obj/item/device/suit_cooling_unit,/obj/item/weapon/tank/oxygen,/obj/effect/floor_decal/corner/white{tag = "icon-corner_white (NORTH)"; icon_state = "corner_white"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor/southleft{name = "EVA Suit"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVr" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/southleft{name = "Riot Armor"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVs" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/window/brigdoor/southright{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVt" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Test Chamber Fore"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aVu" = (/turf/simulated/wall/r_wall,/area/security/prison) -"aVv" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/security/prison) -"aVw" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aVx" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aVy" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aVz" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aVA" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/machinery/door/window/brigdoor/southleft{name = "Energy"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVB" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/blue{dir = 5},/obj/item/weapon/gun/energy/ionrifle{pixel_y = -3},/obj/item/weapon/gun/energy/ionrifle{pixel_x = -2; pixel_y = -5},/obj/machinery/door/window/brigdoor/southright{name = "Energy"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVC" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/green/full{dir = 1},/obj/item/weapon/gun/projectile/shotgun/pump{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/projectile/shotgun/pump,/obj/machinery/door/window/brigdoor/southleft{name = "Ballistics"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVD" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVF" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVG" = (/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aVI" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table/steel,/obj/item/weapon/cell/device/weapon{pixel_x = 4; pixel_y = 4},/obj/item/weapon/cell/device/weapon{pixel_x = 2; pixel_y = 2},/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aVJ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/door/window/brigdoor/southleft{name = "Energy"; req_access = list(1)},/obj/random/energy/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aVK" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/door/window/brigdoor/southright{name = "Energy"},/obj/random/energy/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aVL" = (/turf/simulated/wall/r_wall,/area/security/security_restroom) -"aVM" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_lockerroom) -"aVN" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_lockerroom) -"aVO" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_lockerroom) -"aVP" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/security/range) -"aVQ" = (/turf/simulated/wall/r_wall,/area/security/range) -"aVR" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aVS" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) -"aVT" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aVU" = (/obj/structure/table/steel,/obj/machinery/microwave,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aVV" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aVW" = (/obj/structure/table/steel,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aVX" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aVY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aVZ" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aWa" = (/turf/simulated/wall,/area/security/prison) -"aWb" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aWc" = (/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aWd" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/item/clothing/gloves/arm_guard/laserproof,/obj/item/clothing/shoes/leg_guard/laserproof,/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/laserproof,/obj/machinery/door/window/brigdoor/eastleft{name = "Laser Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWi" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWj" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWl" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/security/tactical) -"aWm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWo" = (/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWp" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/yellow/full{dir = 1},/obj/item/clothing/gloves/arm_guard/combat,/obj/item/clothing/shoes/leg_guard/combat,/obj/item/clothing/suit/armor/combat,/obj/item/clothing/head/helmet/combat,/obj/machinery/door/window/brigdoor/westright{name = "Combat Armor"},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWq" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aWr" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aWs" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aWt" = (/turf/simulated/wall,/area/security/security_restroom) -"aWu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aWv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aWw" = (/obj/structure/closet/secure_closet/security,/obj/item/clothing/glasses/hud/security,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aWx" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"aWy" = (/turf/simulated/floor/tiled,/area/security/range) -"aWz" = (/obj/random/junk,/turf/space,/area/space) -"aWA" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aWB" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/prison) -"aWC" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aWD" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aWE" = (/turf/simulated/floor/tiled,/area/security/prison) -"aWF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) -"aWG" = (/obj/machinery/seed_storage/garden,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aWH" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aWI" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 9},/obj/item/clothing/gloves/arm_guard/laserproof,/obj/item/clothing/shoes/leg_guard/laserproof,/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/laserproof,/obj/machinery/door/window/brigdoor/eastright{name = "Laser Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWJ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWK" = (/obj/machinery/camera/network/security{c_tag = "SEC - Armory"; dir = 1},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWL" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/empslite{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"aWN" = (/obj/structure/table/standard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/handcuffs{pixel_x = 8; pixel_y = 6},/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aWP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Armoury Tactical Equipment"; req_access = list(3)},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWQ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWR" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWS" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/item/clothing/gloves/arm_guard/combat,/obj/item/clothing/shoes/leg_guard/combat,/obj/item/clothing/suit/armor/combat,/obj/item/clothing/head/helmet/combat,/obj/machinery/door/window/brigdoor/westleft{name = "Combat Armor"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aWT" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aWU" = (/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aWV" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aWW" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/tape,/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aWX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aWY" = (/obj/structure/closet/secure_closet/security,/obj/item/clothing/glasses/hud/security,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aWZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/target_stake,/turf/simulated/floor/tiled,/area/security/range) -"aXa" = (/obj/machinery/magnetic_module,/turf/simulated/floor/tiled,/area/security/range) -"aXb" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"aXc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/range) -"aXd" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aXe" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aXf" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/random/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aXg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) -"aXh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Dormitories"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aXi" = (/obj/structure/table/steel,/obj/structure/bedsheetbin,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aXj" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aXk" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aXl" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/soap/nanotrasen,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aXm" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/bulletproof,/obj/item/clothing/shoes/leg_guard/bulletproof,/obj/item/clothing/suit/armor/bulletproof/alt,/obj/item/clothing/head/helmet/bulletproof,/obj/machinery/door/window/brigdoor/eastleft{name = "Ballistic Armor"},/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXo" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/stunshells,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/window/brigdoor/westright{name = "Ammo"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/security/armoury) -"aXq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/security/tactical) -"aXw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Armory Tactical"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aXx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aXy" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/machinery/door/window/brigdoor/westleft{name = "Ammo"; req_access = list(1)},/obj/item/ammo_magazine/s45,/obj/item/ammo_magazine/s45,/obj/item/ammo_magazine/s45,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aXz" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aXA" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aXB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aXC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aXD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aXE" = (/obj/structure/closet/wardrobe/red,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Locker Room"; dir = 4},/obj/item/clothing/suit/storage/hazardvest/green,/obj/item/clothing/suit/storage/hazardvest/green,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aXF" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/security_lockerroom) -"aXG" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/clothing/glasses/hud/security,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aXH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aXI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/prison) -"aXJ" = (/obj/machinery/computer/arcade,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aXK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/security/prison) -"aXL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aXM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) -"aXN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aXO" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aXP" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aXQ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/security/prison) -"aXR" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/bulletproof,/obj/item/clothing/shoes/leg_guard/bulletproof,/obj/item/clothing/suit/armor/bulletproof/alt,/obj/item/clothing/head/helmet/bulletproof,/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXS" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXT" = (/obj/effect/floor_decal/industrial/warning,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_x = 32; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXU" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/machinery/door/window/brigdoor/westleft{name = "Ammo"; req_access = list(1)},/obj/item/ammo_magazine/s45/rubber,/obj/item/ammo_magazine/s45/rubber,/obj/item/ammo_magazine/s45/rubber,/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXV" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Emergency Access"; pixel_x = 0; pixel_y = -24; req_access = list(3)},/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aXW" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled/techmaint,/area/security/armoury) -"aXX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning,/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,/turf/simulated/floor/tiled/techmaint,/area/security/armoury) -"aXY" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/security/armoury) -"aXZ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/recharger/wallcharger{pixel_x = 34; pixel_y = -4},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aYa" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_x = 32; pixel_y = -21},/obj/structure/cable/green,/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aYb" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green/full,/obj/machinery/door/window/brigdoor/northleft{name = "Ballistics"; req_access = list(2)},/obj/random/projectile/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aYc" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/machinery/door/window/brigdoor/northright{name = "Ballistics"},/obj/random/projectile/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) -"aYd" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYe" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Security Restroom"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_restroom) -"aYg" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aYh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aYi" = (/obj/structure/closet/secure_closet/security,/obj/item/clothing/glasses/hud/security,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aYj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"aYk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/security/range) -"aYl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"aYm" = (/obj/machinery/door/airlock/glass{name = "Brig Dormitories"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"aYn" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aYo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/security/prison) -"aYp" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/prison) -"aYq" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) -"aYr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"aYs" = (/obj/structure/sign/warning/secure_area/armory,/turf/simulated/wall/r_wall,/area/security/armoury) -"aYt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Secure Armoury Section"; req_access = list(3)},/turf/simulated/floor/tiled/techmaint,/area/security/armoury) -"aYu" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{id = "Armoury"; name = "Emergency Access"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aYv" = (/obj/effect/floor_decal/industrial/hatch/yellow,/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/machinery/door/blast/regular{id = "Armoury"; name = "Emergency Access"},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"aYw" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYx" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYy" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYz" = (/obj/structure/table/standard,/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aYB" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) -"aYC" = (/obj/structure/closet/secure_closet/security,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/item/clothing/glasses/hud/security,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aYD" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"aYE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"aYF" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"aYG" = (/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Test Chamber Port"; dir = 4; network = list("Research","Toxins Test Area")},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aYH" = (/obj/item/device/radio/beacon,/turf/simulated/floor/airless,/area/rnd/test_area) -"aYI" = (/obj/machinery/light{dir = 4},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Test Chamber Starboard"; dir = 8; network = list("Research","Toxins Test Area")},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aYJ" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aYK" = (/obj/structure/table/steel,/obj/item/weapon/newspaper,/obj/item/device/tape,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aYL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) -"aYM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aYN" = (/obj/machinery/vending/wallmed1{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aYO" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aYP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/steel,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/security/prison) -"aYQ" = (/obj/structure/table/steel,/obj/item/device/communicator,/obj/item/device/communicator,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/prison) -"aYR" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/security/prison) -"aYS" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled/dark,/area/security/prison) -"aYT" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/tiled/dark,/area/security/prison) -"aYU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/security/prison) -"aYV" = (/obj/structure/cryofeed{dir = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig 2"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/security/prison) -"aYW" = (/turf/simulated/wall/r_wall,/area/security/security_equiptment_storage) -"aYX" = (/obj/machinery/flasher/portable,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aYY" = (/obj/machinery/flasher/portable,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/security{c_tag = "SEC - Equipment Storage"},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aYZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZb" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZc" = (/turf/simulated/wall,/area/security/security_equiptment_storage) -"aZd" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled/techmaint,/area/security/brig) -"aZe" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/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,/turf/simulated/floor/tiled/techmaint,/area/security/brig) -"aZf" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Emergency Access"; pixel_x = 24; pixel_y = 0; req_access = list(3)},/turf/simulated/floor/tiled/techmaint,/area/security/brig) -"aZg" = (/turf/simulated/wall,/area/security/evidence_storage) -"aZh" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZi" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZj" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZk" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZl" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZm" = (/turf/simulated/wall/r_wall,/area/security/evidence_storage) -"aZn" = (/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/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Security Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/security/security_restroom) -"aZo" = (/turf/simulated/wall,/area/security/security_lockerroom) -"aZp" = (/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/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security Locker Room"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_lockerroom) -"aZq" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/camera/network/security{c_tag = "SEC - Firing Range"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"aZr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/range) -"aZs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/range) -"aZt" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"aZu" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aZv" = (/turf/simulated/floor/airless,/area/rnd/test_area) -"aZw" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"aZx" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"aZy" = (/obj/structure/table/steel,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/dice,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"aZz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/security/prison) -"aZA" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) -"aZB" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aZC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/prison) -"aZD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aZE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aZF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/prison) -"aZG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"aZH" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"aZI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/security/prison) -"aZJ" = (/obj/machinery/cryopod{dir = 2},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/security/prison) -"aZK" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZL" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/range) -"aZP" = (/obj/machinery/door/firedoor/border_only,/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/airlock/security{name = "Equipment Storage"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"aZR" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) -"aZS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/security/evidence_storage) -"aZT" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"aZU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZX" = (/obj/machinery/camera/network/security{c_tag = "SEC - Evidence Storage"; dir = 8},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"aZY" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/main) -"aZZ" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/main) -"baa" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/main) -"bab" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"bac" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/camera/network/security{c_tag = "SEC - Briefing"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/main) -"bad" = (/obj/structure/sign/goldenplaque{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/main) -"bae" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/main) -"baf" = (/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/main) -"bag" = (/turf/simulated/wall,/area/security/range) -"bah" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"bai" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/range) -"baj" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"bak" = (/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"bal" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"bam" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/security/prison) -"ban" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/prison) -"bao" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/prison) -"bap" = (/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig 1"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"baq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"bar" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"bas" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/security/prison) -"bat" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"bau" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) -"bav" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"baw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) -"bax" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) -"bay" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom/department/security{dir = 1; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"baz" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"baA" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"baB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) -"baC" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_equiptment_storage) -"baD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"baE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) -"baF" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) -"baG" = (/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"baH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"baI" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/main) -"baJ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"baK" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"baL" = (/turf/simulated/floor/tiled,/area/security/main) -"baM" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/security/main) -"baN" = (/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/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) -"baO" = (/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,/area/security/main) -"baP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) -"baQ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/security/main) -"baR" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/main) -"baS" = (/obj/structure/sign/warning/caution{name = "\improper CAUTION: FIRING RANGE"},/turf/simulated/wall,/area/security/range) -"baT" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/range) -"baU" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/security/range) -"baV" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/range) -"baW" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"baX" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"baY" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) -"baZ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"bba" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/blast/regular{dir = 1; id = "Cell 2"; name = "Cell 2 Door"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) -"bbb" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) -"bbc" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"bbd" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/blast/regular{dir = 1; id = "Cell 1"; name = "Cell 1 Door"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) -"bbe" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"bbf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"bbg" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access = list(2)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"bbh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/security/brig) -"bbi" = (/turf/simulated/wall,/area/security/warden) -"bbj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access = list(3)},/turf/simulated/floor/tiled/techmaint,/area/security/warden) -"bbk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"bbl" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"bbm" = (/obj/machinery/status_display,/turf/simulated/wall,/area/security/warden) -"bbn" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bbo" = (/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/tiled,/area/security/brig) -"bbp" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bbq" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/evidence_storage) -"bbr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"bbs" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"bbt" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) -"bbu" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/clothing/glasses/hud/security,/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,/turf/simulated/floor/tiled/red,/area/security/main) -"bbv" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/tiled/red,/area/security/main) -"bbw" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) -"bbx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/main) -"bby" = (/obj/machinery/light{dir = 4},/obj/structure/table/standard,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/main) -"bbz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"bbA" = (/obj/machinery/door/window/northleft{name = "Range Access"},/obj/effect/floor_decal/industrial/loading{dir = 1},/turf/simulated/floor/tiled,/area/security/range) -"bbB" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/laser/practice,/turf/simulated/floor/tiled,/area/security/range) -"bbC" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/gun/energy/laser/practice,/turf/simulated/floor/tiled,/area/security/range) -"bbD" = (/obj/structure/lattice,/obj/structure/grille/broken,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) -"bbE" = (/turf/simulated/wall/r_wall,/area/security/security_cell_hallway) -"bbF" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"bbG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bbH" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Cell 2"; dir = 8},/obj/item/device/radio/headset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bbI" = (/turf/simulated/wall,/area/security/security_cell_hallway) -"bbJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"bbK" = (/obj/structure/closet/secure_closet/brig{id = "Cell 1"; name = "Cell 1 Locker"},/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Cell 1"; dir = 8},/obj/item/device/radio/headset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bbL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) -"bbM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Enterance"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) -"bbN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "visit_blast"; name = "Privacy Shutters"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) -"bbO" = (/obj/machinery/door/airlock{id_tag = "visitdoor"; name = "Visitation Area"; req_access = list(63)},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"bbP" = (/obj/machinery/computer/prisoner,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bbQ" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/camera/network/security{c_tag = "SEC - Warden's Office"},/obj/item/device/radio/intercom/department/security{pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden) +"ayl" = (/obj/structure/table/glass,/obj/machinery/recharger,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aym" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"ayn" = (/obj/turbolift_map_holder/southern_cross/center,/turf/unsimulated/mask,/area/hallway/primary/firstdeck/elevator) +"ayo" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/tcomm/tcomstorage) +"ayp" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/item/weapon/stock_parts/subspace/sub_filter,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/tcomm/tcomstorage) +"ayq" = (/obj/structure/table/standard,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/tcomm/tcomstorage) +"ayr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ays" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ayt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ayu" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ayv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/flora/pottedplant/shoot,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/starboard) +"ayw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"ayx" = (/turf/simulated/wall,/area/maintenance/firstdeck/aftstarboard) +"ayy" = (/turf/simulated/wall,/area/hangar/twocontrol) +"ayz" = (/obj/structure/sign/hangar/two,/turf/simulated/wall,/area/hangar/twocontrol) +"ayA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ayB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/starboard) +"ayC" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"ayD" = (/turf/simulated/wall,/area/construction/firstdeck/construction3) +"ayE" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) +"ayF" = (/obj/structure/sign/directions/medical{dir = 4},/obj/structure/sign/directions/evac{dir = 4; pixel_y = 10},/turf/simulated/wall,/area/construction/firstdeck/construction3) +"ayG" = (/obj/structure/sign/directions/engineering{dir = 4; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 4},/turf/simulated/wall,/area/construction/firstdeck/construction3) +"ayH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"ayI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"ayJ" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"ayK" = (/obj/structure/sign/warning/pods{dir = 1},/turf/simulated/wall,/area/hallway/primary/firstdeck/starboard) +"ayL" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/starboard) +"ayM" = (/obj/turbolift_map_holder/southern_cross/starboard,/turf/unsimulated/mask,/area/hallway/primary/firstdeck/starboard) +"ayN" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"ayO" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"ayP" = (/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"ayQ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"ayR" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"ayS" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) +"ayT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) +"ayU" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/weapon/wirecutters,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) +"ayV" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"ayW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/port) +"ayY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"ayZ" = (/obj/item/frame/apc,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/maintenance/firstdeck/aftport) +"aza" = (/obj/item/frame,/obj/machinery/light_construct,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/maintenance/firstdeck/aftport) +"azb" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/maintenance/firstdeck/aftport) +"azc" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"azd" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aze" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"azf" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"azg" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"azh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"azi" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 2},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/apcenter) +"azj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/apcenter) +"azk" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/apcenter) +"azl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/apcenter) +"azm" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"azn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"azo" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/southleft,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"azp" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/window/southright,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"azq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"azr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"azs" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"azt" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"azu" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"azv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/tcomm/tcomstorage) +"azw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) +"azx" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/ascenter) +"azy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) +"azz" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 2; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/ascenter) +"azA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"azB" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"azC" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"azD" = (/obj/structure/closet/crate/internals,/obj/random/tank,/obj/random/tank,/obj/random/tank,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"azE" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"azF" = (/obj/structure/closet,/obj/item/weapon/lipstick/purple,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"azG" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Control Room"; dir = 4},/obj/structure/closet/secure_closet/guncabinet{anchored = 1; desc = "It's an immobile card-locked storage unit. For storing weapons and other items when station side."; name = "Secure Locker"; req_one_access = list(67,43,3)},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"azH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"azI" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"azJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"azK" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"azL" = (/obj/structure/mirror{pixel_y = 25},/turf/simulated/floor,/area/construction/firstdeck/construction3) +"azM" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/mime,/obj/item/weapon/pen/crayon/mime,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/construction/firstdeck/construction3) +"azN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) +"azO" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) +"azP" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) +"azQ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"azR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"azS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"azT" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"azU" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"azV" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"azW" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"azX" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"azY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/construction/firstdeck/construction2) +"azZ" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aAa" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/port) +"aAb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/maintenance/firstdeck/aftport) +"aAc" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aAd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aAe" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/apcenter) +"aAf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aAg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aAh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aAi" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/landmark/start{name = "Pilot"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"aAj" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"aAk" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Elevator Access"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAl" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/hatch{name = "Telecoms Hallway"; req_access = list(61)},/turf/simulated/floor/tiled/steel_grid,/area/tcomm/tcomstorage) +"aAm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/start{name = "Pilot"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"aAn" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAo" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAp" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"aAr" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAs" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAt" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aAu" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/techfloor{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aAv" = (/turf/simulated/wall/r_wall,/area/tcomm/entrance) +"aAw" = (/obj/structure/table/standard,/obj/item/weapon/cell,/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aAx" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aAy" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aAz" = (/turf/simulated/wall/r_wall,/area/tcomm/tcomfoyer) +"aAA" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/sign/warning/lethal_turrets{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) +"aAB" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) +"aAC" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Telecommunications"},/obj/machinery/turretid/lethal{ailock = 1; check_synth = 1; control_area = "\improper Telecomms Storage"; desc = "A firewall prevents AIs from interacting with this device."; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) +"aAD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aAE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aAF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aAG" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/ascenter) +"aAH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aAI" = (/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aAJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Hangar Control Room Access"; req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/hangar/twocontrol) +"aAK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"aAL" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/twocontrol) +"aAM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"aAN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{name = "Hangar Control Room"},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"aAO" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"aAP" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/starboard) +"aAQ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/construction/firstdeck/construction3) +"aAR" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) +"aAS" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) +"aAT" = (/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) +"aAU" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) +"aAV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aAW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aAX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aAY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aAZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aBa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aBb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aBc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aBd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aBe" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aBf" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBg" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBh" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBi" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBj" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBk" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBl" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/clean,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weapon/airlock_electronics,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBm" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralport) +"aBn" = (/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"aBo" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"aBp" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tool/powermaint,/turf/simulated/floor,/area/construction/firstdeck/construction2) +"aBq" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/table/steel,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/construction/firstdeck/construction2) +"aBr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"aBs" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) +"aBt" = (/turf/simulated/wall/r_wall,/area/quartermaster/mininglockerroom) +"aBu" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aBv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aBw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aBx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/apcenter) +"aBy" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aBz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aBA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aBB" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"aBC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva/pilot) +"aBD" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Pilot EVA Storage"},/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/eva/pilot) +"aBE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aBF" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aBG" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass{name = "Pilot EVA Storage"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/eva/pilot) +"aBH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aBI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aBJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aBK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aBL" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"aBM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/civilian{c_tag = "CIV - Auxiliary EVA"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/closet/secure_closet/pilot,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"aBN" = (/obj/structure/closet/malf/suits,/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aBO" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aBP" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aBQ" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/tcomm/tcomfoyer) +"aBR" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) +"aBS" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) +"aBT" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) +"aBU" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aBV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aBW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aBX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/ascenter) +"aBY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aBZ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aCa" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aCb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"aCc" = (/obj/structure/frame/computer,/obj/effect/floor_decal/steeldecal/steel_decals_central6,/turf/simulated/floor/tiled/monotile,/area/hangar/twocontrol) +"aCd" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hangar/twocontrol) +"aCe" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) +"aCf" = (/obj/item/clothing/head/soft/mime,/obj/item/clothing/mask/gas/mime,/obj/item/clothing/shoes/mime,/obj/item/clothing/under/mime,/obj/structure/closet/crate,/turf/simulated/floor,/area/construction/firstdeck/construction3) +"aCg" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction3) +"aCh" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/firstdeck/construction3) +"aCi" = (/obj/structure/closet/emcloset,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aCj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aCk" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aCl" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Starboard Escape Pod 1"; dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aCm" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "large_escape_pod_1_berth"; pixel_x = 0; pixel_y = -26; tag_door = "large_escape_pod_1_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aCn" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aCo" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aCp" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aCq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aCr" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/centralstarboard) +"aCs" = (/turf/simulated/wall/r_wall,/area/quartermaster/storage) +"aCt" = (/turf/simulated/wall,/area/quartermaster/storage) +"aCu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(31)},/turf/simulated/floor/plating,/area/quartermaster/storage) +"aCv" = (/turf/simulated/wall/r_wall,/area/quartermaster/hallway) +"aCw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(50)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) +"aCx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/hallway) +"aCy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Cargo Hallway"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) +"aCz" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aCA" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aCB" = (/obj/structure/dispenser/oxygen,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aCC" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/mask/breath,/obj/item/weapon/mining_scanner,/obj/item/weapon/rig/industrial/equipped,/obj/machinery/door/window/southleft{name = "Mining Suits"; req_access = list(50)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aCD" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/weapon/mining_scanner,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/head/helmet/space/void/mining,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/southright{name = "Mining Suit"; req_access = list(50)},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aCE" = (/obj/machinery/suit_cycler/mining,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aCF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aCG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aCH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Six"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aCI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aCJ" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aCK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/closet/crate/secure/gear{name = "parachute crate"; req_access = list(67)},/obj/item/weapon/storage/backpack/parachute,/obj/item/weapon/storage/backpack/parachute,/obj/item/weapon/storage/backpack/parachute,/obj/item/weapon/storage/backpack/parachute,/obj/item/weapon/storage/backpack/parachute,/obj/item/weapon/storage/backpack/parachute,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"aCL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva/pilot) +"aCM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aCN" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva/pilot) +"aCO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/storage) +"aCP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window/reinforced,/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aCQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/vending/fitness,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aCR" = (/obj/machinery/vending/cigarette,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aCS" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aCT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aCU" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aCV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aCW" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aCX" = (/obj/structure/closet/malf/suits,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aCY" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aCZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/closet/secure_closet/pilot,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/eva/pilot) +"aDa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/hatch{name = "Power Control"; req_access = list(61)},/turf/simulated/floor/tiled/steel_grid,/area/tcomm/tcomfoyer) +"aDb" = (/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/manifold/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aDc" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) +"aDd" = (/obj/machinery/power/smes/buildable{charge = 2.5e+006; input_attempt = 1; input_level = 50000; inputting = 1; output_level = 250000; RCon_tag = "Telecommunications Satellite"},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/tcomm/tcomfoyer) +"aDe" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aDf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aDg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Three"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aDh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aDi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aDj" = (/turf/simulated/wall/r_wall,/area/hangar/two) +"aDk" = (/turf/simulated/wall,/area/hangar/two) +"aDl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hangar/two) +"aDm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_mining{id_tag = "shuttle_2_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/two) +"aDn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_mining{id_tag = "shuttle_2_door"; name = "Hangar Bay"},/turf/simulated/floor/tiled/steel_grid,/area/hangar/two) +"aDo" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_1_berth_hatch"; locked = 1; name = "Large Escape Pod 1"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_starboard2) +"aDp" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDq" = (/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aDr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aDs" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aDt" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/status_display/supply_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDv" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDw" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDy" = (/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDz" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDA" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDB" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/closet/crate/freezer,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDC" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDD" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/accessory/armband/cargo,/obj/item/device/retail_scanner/cargo,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDE" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/cargo,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aDF" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/quartermaster/hallway) +"aDG" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aDH" = (/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aDI" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aDJ" = (/obj/machinery/status_display,/turf/simulated/wall,/area/quartermaster/mininglockerroom) +"aDK" = (/obj/structure/closet/secure_closet/miner,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aDL" = (/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aDM" = (/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aDN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aDO" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aDP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aDQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aDR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/quartermaster/storage) +"aDS" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aDT" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/elevator) +"aDU" = (/obj/structure/stairs/north,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/lapvend,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aDW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/item/device/paicard,/obj/item/clothing/head/soft/grey,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aDX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/item/device/communicator,/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aDY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aDZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aEa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aEb" = (/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/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aEc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Telecommunications"; req_access = list(61)},/turf/simulated/floor/tiled/steel_grid,/area/tcomm/entrance) +"aEd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aEe" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aEf" = (/obj/structure/sign/warning/high_voltage{pixel_x = 32},/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Entrance"; dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aEg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Tcoms - SMES Room"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) +"aEh" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/tcomm/tcomfoyer) +"aEi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aEj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aEk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aEl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aEm" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aEn" = (/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aEo" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "hangar_2"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 26; tag_door = "hangar_2_door"},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aEx" = (/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aEy" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) +"aEz" = (/turf/simulated/shuttle/wall,/area/shuttle/large_escape_pod1/station) +"aEA" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/large_escape_pod1/station) +"aEB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_1_hatch"; locked = 1; name = "Large Escape Pod Hatch 1"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"aEC" = (/obj/structure/sign/greencross{name = "Medical Pod"},/turf/simulated/shuttle/wall/no_join,/area/shuttle/large_escape_pod1/station) +"aED" = (/turf/simulated/floor/airless,/area/maintenance/firstdeck/centralstarboard) +"aEE" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEF" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEP" = (/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aEQ" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aER" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aES" = (/turf/simulated/wall,/area/quartermaster/hallway) +"aET" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aEV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aEW" = (/turf/simulated/wall,/area/quartermaster/mininglockerroom) +"aEX" = (/obj/structure/closet/secure_closet/miner,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aEY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aEZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aFa" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aFb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access = list(48)},/turf/simulated/floor/plating,/area/quartermaster/mininglockerroom) +"aFc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aFd" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aFe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aFf" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aFg" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) +"aFh" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/elevator) +"aFi" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/elevator) +"aFj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aFk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aFl" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aFm" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/tcomm/entrance) +"aFn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aFo" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aFp" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aFq" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/ascenter) +"aFr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aFs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aFt" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aFu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aFv" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/aftstarboard) +"aFw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aFx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aFy" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/turf/simulated/floor/tiled,/area/hangar/two) +"aFz" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/hangar/two) +"aFA" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) +"aFB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aFC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aFD" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) +"aFE" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/airless,/area/shuttle/large_escape_pod1/station) +"aFF" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aFG" = (/obj/structure/bed/roller,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aFH" = (/obj/structure/bed/roller,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aFI" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "large_escape_pod_1"; pixel_x = -26; pixel_y = 26; tag_door = "large_escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"aFJ" = (/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"aFK" = (/obj/structure/bed/chair,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aFL" = (/obj/structure/bed/chair,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aFM" = (/obj/structure/bed/chair,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aFN" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/large_escape_pod1/station) +"aFO" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aFP" = (/turf/simulated/floor/reinforced,/area/quartermaster/storage) +"aFQ" = (/turf/simulated/floor/reinforced,/area/supply/station) +"aFR" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aFS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aFT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aFU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aFV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/hallway) +"aFW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aFX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aFY" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aFZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/mining{name = "Mining Locker Room"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/mininglockerroom) +"aGa" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGd" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aGe" = (/obj/machinery/computer/security/mining,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aGf" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aGg" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) +"aGh" = (/obj/structure/sign/deck/first{pixel_x = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGj" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGk" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGn" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aGo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aGp" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/tcomm/entrance) +"aGq" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/obj/item/device/aicard,/obj/item/device/multitool,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aGr" = (/turf/simulated/wall,/area/tcomm/tcomfoyer) +"aGs" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/ascenter) +"aGt" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aGu" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aGv" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aGw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aGx" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aGy" = (/turf/simulated/floor/reinforced,/area/hangar/two) +"aGz" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle2/start) +"aGA" = (/turf/simulated/floor/reinforced,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/shuttle2/start) +"aGB" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aGC" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/hangar/two) +"aGD" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"aGE" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aGF" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod1/station) +"aGG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aGH" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aGI" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aGJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aGK" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aGL" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/mininglockerroom) +"aGM" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/belt/utility,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGN" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/cargo{c_tag = "CRG - Mining Locker Room"; dir = 1; name = "security camera"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGO" = (/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{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGP" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Shaft Miner"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/mininglockerroom) +"aGQ" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aGR" = (/obj/structure/table/steel,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = -32},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled/steel,/area/quartermaster/mininglockerroom) +"aGS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aGT" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) +"aGU" = (/obj/machinery/newscaster,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/elevator) +"aGV" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/elevator) +"aGW" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGX" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/elevator) +"aGZ" = (/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/firstdeck/elevator) +"aHa" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/tcomm/entrance) +"aHb" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aHc" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aHd" = (/obj/machinery/teleport/hub,/turf/simulated/floor/tiled/dark,/area/tcomm/entrance) +"aHe" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/ascenter) +"aHf" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aHg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aHh" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aHi" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/maintenance/firstdeck/aftstarboard) +"aHj" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/hangar/two) +"aHk" = (/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle2/start) +"aHl" = (/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle2/start) +"aHm" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/steel,/area/hangar/two) +"aHn" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aHo" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/item/weapon/wrench,/obj/random/medical/lite,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aHp" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aHq" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"aHr" = (/obj/machinery/sleep_console,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) +"aHs" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aHt" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aHu" = (/obj/structure/bed/chair{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/shuttle/floor/white,/area/shuttle/large_escape_pod1/station) +"aHv" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aHw" = (/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/industrial/danger{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aHx" = (/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aHy" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aHz" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aHA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aHB" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aHC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/mining{name = "Mining Locker Room"; req_access = list(50)},/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,/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/mininglockerroom) +"aHD" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aHE" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/apcenter) +"aHF" = (/obj/structure/table/bench/standard,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/apcenter) +"aHG" = (/obj/structure/sign/directions/evac{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/apcenter) +"aHH" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/elevator) +"aHI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/elevator) +"aHJ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/elevator) +"aHK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/elevator) +"aHL" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/elevator) +"aHM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aHN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aHO" = (/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle2/start) +"aHP" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) +"aHQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/shuttle2/start) +"aHR" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle2/start) +"aHS" = (/obj/machinery/door/airlock/multi_tile/metal{icon_state = "door_locked"; id_tag = "expshuttle2_door_cargo"; locked = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aHT" = (/obj/machinery/button/remote/airlock{desiredstate = 1; dir = 8; id = "expshuttle2_door_cargo"; name = "Rear Hatch Control"; pixel_x = 26; pixel_y = 0; req_access = list(67); specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aHU" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/shuttle/shuttle2/start) +"aHV" = (/obj/machinery/space_heater,/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) +"aHW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aHX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/steel,/area/hangar/two) +"aHY" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod1/station) +"aHZ" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage) +"aIa" = (/obj/effect/floor_decal/industrial/loading{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aIb" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aIc" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aId" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIe" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIf" = (/obj/structure/stairs/west,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIg" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aIi" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aIj" = (/obj/structure/table/rack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aIk" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aIl" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aIm" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aIn" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aIo" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aIp" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aIq" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aIr" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aIs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aIt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) +"aIu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aIv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aIw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aIx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aIy" = (/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aIz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Fore Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aIA" = (/obj/machinery/shuttle_sensor{dir = 10; id_tag = "shuttle2sens_exp"},/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle2/start) +"aIB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle2_pump"},/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aIC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle2_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aID" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle2/start) +"aIE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aIF" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aIG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Fore Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aIH" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aII" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aIJ" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aIK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aIL" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aIM" = (/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/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/hallway) +"aIN" = (/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/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIQ" = (/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,/area/quartermaster/hallway) +"aIR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIS" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aIT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/hallway) +"aIU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aIV" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aIW" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aIX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aIY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aIZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aJa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/apcenter) +"aJb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aJc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/apcenter) +"aJd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aJe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aJf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aJg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aJh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aJi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/ascenter) +"aJj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aJk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aJl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aJm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aJn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/ascenter) +"aJo" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aJp" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aJq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aJr" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aJs" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle2_outer"; name = "External Access"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle2"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJt" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJu" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJv" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle2_inner"; name = "Internal Access"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle2"; name = "interior access button"; pixel_x = 0; pixel_y = 26; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJw" = (/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJx" = (/obj/machinery/button/remote/airlock{id = "expshuttle2_door_L"; name = "Side Hatch Control"; pixel_y = 26; req_one_access = null; specialfunctions = 4},/obj/machinery/door/airlock/voidcraft/vertical{icon_state = "door_locked"; id_tag = "expshuttle2_door_L"; locked = 1; name = "shuttle side hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJy" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aJz" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Bay Port"; dir = 4; name = "security camera"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aJA" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aJB" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aJC" = (/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aJD" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aJE" = (/obj/machinery/status_display/supply_display,/turf/simulated/wall,/area/quartermaster/hallway) +"aJF" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJG" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Hallway"; dir = 1; name = "security camera"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJI" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJL" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/hallway) +"aJM" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aJN" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aJO" = (/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/toolbox,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aJP" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aJQ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aJR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Five"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aJS" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/apcenter) +"aJT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aJU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aJV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aJW" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aJX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/ascenter) +"aJY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aJZ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aKa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Center Four"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aKb" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aKc" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/ascenter) +"aKd" = (/obj/item/inflatable/door/torn,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/maintenance/firstdeck/aftstarboard) +"aKe" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aKf" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "shuttle2_sensor"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle2_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aKg" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_shuttle"; pixel_y = -26; tag_airpump = "shuttle2_pump"; tag_chamber_sensor = "shuttle2_sensor"; tag_exterior_door = "shuttle2_outer"; tag_interior_door = "shuttle2_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle2_pump"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aKh" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) +"aKi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aKj" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/skipjack,/area/shuttle/shuttle2/start) +"aKk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/skipjack,/area/shuttle/shuttle2/start) +"aKl" = (/obj/machinery/shuttle_sensor{dir = 9; id_tag = "shuttle2sens_exp_int"},/turf/simulated/shuttle/wall/voidcraft/blue,/area/shuttle/shuttle2/start) +"aKm" = (/obj/structure/lattice,/obj/structure/grille/broken,/obj/item/stack/rods,/turf/space,/area/space) +"aKn" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aKo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Bay Starboard"; dir = 8; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aKp" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/firstdeck/cargo) +"aKq" = (/turf/simulated/wall,/area/maintenance/substation/firstdeck/cargo) +"aKr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(50)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aKs" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aKt" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aKu" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aKv" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aKw" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aKx" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aKy" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/firstdeck/as_emergency) +"aKz" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/as_emergency) +"aKA" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aKB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aKC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monofloor{dir = 1},/area/hangar/two) +"aKD" = (/obj/machinery/door/airlock/centcom,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aKE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monofloor{dir = 1},/area/hangar/two) +"aKF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aKG" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage) +"aKH" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aKI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "cargo_bay"; name = "cargo bay hatch controller"; pixel_x = 30; pixel_y = 0; req_one_access = list(13,31); tag_door = "cargo_bay_door"},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aKJ" = (/turf/unsimulated/mask,/area/quartermaster/storage) +"aKK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aKL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aKM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aKN" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aKO" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aKP" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aKQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/aft) +"aKR" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aKS" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aKT" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aKU" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aKV" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aKW" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aKX" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aKY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monofloor,/area/hangar/two) +"aKZ" = (/obj/structure/bed/chair/shuttle,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLa" = (/obj/structure/bed/chair/shuttle,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLb" = (/obj/machinery/sleep_console{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLc" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLd" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/storage) +"aLe" = (/obj/machinery/light/small{dir = 8},/obj/structure/ore_box,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aLf" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aLg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aLh" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/stack/cable_coil/random,/obj/machinery/light_construct,/obj/machinery/light_construct,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aLi" = (/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aLj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aLk" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aLl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aLm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aLn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/tropical,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aLo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aLp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aLq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aLr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aLs" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aLt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aLu" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aLv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aLw" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aLx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aLy" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/closet/walllocker/emerglocker{pixel_x = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLz" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/closet/walllocker/emerglocker{pixel_x = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLA" = (/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aLB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aLC" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/storage) +"aLD" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aLE" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aLF" = (/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 1},/obj/structure/cable/green,/obj/structure/cable/green{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aLG" = (/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aLH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aLI" = (/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aLJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aLK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) +"aLL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) +"aLM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) +"aLN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) +"aLO" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/aft) +"aLP" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway One"; dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aLQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aLR" = (/turf/simulated/wall/r_wall,/area/engineering/auxiliary_engineering) +"aLS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aLT" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aLU" = (/obj/machinery/space_heater,/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aLV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 8},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Aft Port"; dir = 4},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aLW" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/steel,/area/hangar/two) +"aLX" = (/obj/structure/bed/chair/shuttle{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aLY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/spot{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "Hangar Two - Aft Starboard"; dir = 8},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aLZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aMa" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/storage) +"aMb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck/cargo) +"aMc" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aMd" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aMe" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/glass/bucket,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aMf" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/aftport) +"aMg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aMh" = (/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aMi" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aMj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) +"aMk" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"aMl" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/weapon/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Secure Technical Storage"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"aMm" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"aMn" = (/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aMo" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aMp" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/engineering/auxiliary_engineering) +"aMq" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMr" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMs" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMt" = (/obj/machinery/computer/security/engineering,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMu" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMw" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMx" = (/obj/machinery/atmospherics/binary/pump/high_power/on{dir = 4; name = "Pump station in"; target_pressure = 4500},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMy" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMz" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMA" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aMB" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aMC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aMD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aME" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aMF" = (/obj/machinery/shuttle_sensor{dir = 1; id_tag = "shuttle2sens_exp_psg"},/turf/simulated/shuttle/wall/voidcraft,/area/shuttle/shuttle2/start) +"aMG" = (/obj/machinery/door/airlock/glass_centcom{req_one_access = list(67)},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aMH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aMI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aMJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aMK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aML" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aMM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aMN" = (/obj/turbolift_map_holder/southern_cross/cargo,/turf/unsimulated/mask,/area/quartermaster/storage) +"aMO" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aMP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/ap_emergency) +"aMQ" = (/turf/simulated/wall/r_wall,/area/storage/tech) +"aMR" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/storage/tech) +"aMS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/storage/tech) +"aMT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/storage/tech) +"aMU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/storage/tech) +"aMV" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/storage/tech) +"aMW" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aMX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aMY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aMZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNa" = (/obj/machinery/computer/station_alert,/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aNc" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNd" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNe" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNf" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNg" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/obj/machinery/meter,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/as_emergency) +"aNi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aNj" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) +"aNk" = (/turf/simulated/floor/tiled/monotile,/area/hangar/two) +"aNl" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aNm" = (/obj/structure/bed/chair/comfy/blue,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aNn" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aNo" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aNp" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aNq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aNx" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNy" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNz" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aNA" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNB" = (/obj/effect/decal/cleanable/generic,/obj/structure/table/rack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aND" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNH" = (/obj/structure/closet/crate/large,/obj/random/tank,/obj/random/tank,/obj/random/tank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aNI" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/tech) +"aNJ" = (/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) +"aNK" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) +"aNL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/storage/tech) +"aNM" = (/turf/simulated/wall,/area/storage/tech) +"aNN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access = list(19,23)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) +"aNO" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) +"aNP" = (/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) +"aNQ" = (/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) +"aNR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/aft) +"aNS" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/aft) +"aNT" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) +"aNU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNV" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNW" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/structure/table/steel,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNX" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aNY" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 8; target_pressure = 4500},/obj/machinery/camera/network/engineering{c_tag = "ENG - Auxiliary Engineering Station"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aNZ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOa" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOb" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOc" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/hangar/two) +"aOk" = (/turf/simulated/floor/tiled,/area/hangar/two) +"aOl" = (/obj/structure/flight_right{dir = 1},/obj/machinery/button/remote/airlock{desiredstate = 1; dir = 4; id = "expshuttle2_door_cargo"; name = "Rear Hatch Control"; pixel_x = -26; pixel_y = 0; req_access = list(67); specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aOm" = (/obj/machinery/computer/shuttle_control/web/shuttle2{dir = 1; my_doors = list("expshuttle2_door_L" = "Port Cargo", "shuttle2_outer" = "Airlock Outer", "shuttle2_inner" = "Airlock Inner", "expshuttle2_door_cargo" = "Cargo Hatch"); my_sensors = list("shuttle2sens_exp" = "Exterior Environment", "shuttle2sens_exp_int" = "Cargo Area", "shuttle2sens_exp_psg" = "Passenger Area")},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aOn" = (/obj/structure/flight_left{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aOo" = (/obj/machinery/light/spot,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aOp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/steel,/area/quartermaster/storage) +"aOq" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aOr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/status_display/supply_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aOs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aOt" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aOu" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/storage) +"aOv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aOw" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aOx" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aOy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aOz" = (/obj/structure/mopbucket,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aOA" = (/turf/simulated/floor,/area/storage/tech) +"aOB" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/tech) +"aOC" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"aOD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/storage/tech) +"aOE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/storage/tech) +"aOF" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor,/area/storage/tech) +"aOG" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/security/mining,/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"aOH" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/circuitboard/autolathe,/turf/simulated/floor,/area/storage/tech) +"aOI" = (/obj/structure/table/steel,/obj/item/device/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/device/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) +"aOJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aOK" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aOL" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) +"aOM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aON" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Auxiliary Engineering Station"; req_one_access = list(11,24)},/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) +"aOQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOR" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aOS" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOT" = (/obj/machinery/atmospherics/tvalve/mirrored/bypass{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOU" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOV" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aOW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOY" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPb" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aPd" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) +"aPe" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) +"aPf" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) +"aPg" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aPh" = (/obj/structure/closet,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aPi" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aPj" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/storage/tech) +"aPk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tech) +"aPl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/storage/tech) +"aPm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) +"aPn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/storage/tech) +"aPo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/storage/tech) +"aPp" = (/obj/structure/table/steel,/obj/item/weapon/storage/bag/circuits/basic,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/storage/tech) +"aPq" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aPr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aPs" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aPt" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/engineering/auxiliary_engineering) +"aPu" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPw" = (/obj/structure/table/steel,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aPy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPB" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPC" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aPE" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPG" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPH" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPI" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/aftstarboard) +"aPJ" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/hangar/two) +"aPK" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) +"aPL" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) +"aPM" = (/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hangar/two) +"aPN" = (/obj/structure/table/steel,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/storage/tech) +"aPO" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/skills{pixel_x = 4; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"aPP" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/unary_atmos/heater,/obj/item/weapon/circuitboard/unary_atmos/cooler{pixel_x = 3; pixel_y = -3},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) +"aPQ" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert_engineering{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/security/engineering,/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"aPR" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/storage/tech) +"aPS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/storage/tech) +"aPT" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/camera/network/engineering{c_tag = "ENG - Technical Storage"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/storage/tech) +"aPU" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) +"aPV" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) +"aPW" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/analyzer/plant_analyzer,/obj/item/device/healthanalyzer,/obj/item/device/analyzer,/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/storage/tech) +"aPX" = (/obj/machinery/newscaster,/turf/simulated/wall/r_wall,/area/storage/tech) +"aPY" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aPZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aQa" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aQb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aQc" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aQd" = (/obj/machinery/power/breakerbox{RCon_tag = "Auxiliary Bypass"},/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aQe" = (/obj/structure/table/steel,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = -2; pixel_y = -2},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Auxiliary Subgrid"; name_tag = "Auxiliary Subgrid"},/obj/machinery/light,/turf/simulated/floor/tiled/techmaint,/area/engineering/auxiliary_engineering) +"aQf" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 0; input_level = 500000; output_level = 500000; RCon_tag = "Auxiliary - Main"},/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aQg" = (/obj/item/stack/cable_coil/yellow,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) +"aQh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aQi" = (/obj/structure/closet/firecloset,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) +"aQj" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQl" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQm" = (/obj/machinery/light/small{dir = 4},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aQn" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/storage/tech) +"aQo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access = list(23)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) +"aQp" = (/obj/machinery/status_display,/turf/simulated/wall,/area/storage/tech) +"aQq" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQr" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQs" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQt" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQu" = (/turf/simulated/wall,/area/engineering/auxiliary_engineering) +"aQv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Auxiliary Engineering Station"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/auxiliary_engineering) +"aQw" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/engineering/auxiliary_engineering) +"aQx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aQA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aQB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aQC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQM" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aQN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQT" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aQX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aRa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Two"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRe" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRl" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aRm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRs" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Three"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRv" = (/obj/structure/sign/warning/pods{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRy" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRz" = (/turf/simulated/wall,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aRA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aRB" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aRD" = (/turf/simulated/wall,/area/security/checkpoint3) +"aRE" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aRF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aRG" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pod"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aRH" = (/obj/structure/sign/warning/pods{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aRI" = (/turf/simulated/floor/airless,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRJ" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod3/station) +"aRK" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod3/station) +"aRL" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod3/station) +"aRM" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aRP" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aRQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aRR" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aRS" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/aft) +"aRT" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/secure_closet/medical_wall{name = "defibrillator closet"; pixel_x = -31; pixel_y = 0},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRU" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Four"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/medical_wall{pixel_x = 31; pixel_y = 0},/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aRV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aRW" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aRX" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aRY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSa" = (/turf/simulated/wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSb" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod5/station) +"aSc" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod5/station) +"aSd" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod5/station) +"aSe" = (/turf/simulated/floor/airless,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSf" = (/turf/space,/area/skipjack_station/firstdeck) +"aSg" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) +"aSh" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) +"aSi" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) +"aSj" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) +"aSk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod Hatch 3"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) +"aSl" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod 3"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_3_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSn" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSo" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aSp" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aSq" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aSr" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/storage/emergency_storage/firstdeck/aft_emergency) +"aSs" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aSt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aSu" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aSv" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aSw" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSx" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSy" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSz" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch 5"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"aSB" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"aSC" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"aSD" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"aSE" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) +"aSF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSG" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSH" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aSI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aSJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aSK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aSL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security Checkpoint"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/security/checkpoint3) +"aSM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aSN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aSO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/security{c_tag = "SEC - Auxiliary Checkpoint"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aSP" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSQ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aSR" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aST" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aSU" = (/obj/structure/flora/pottedplant/stoutbush,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aSV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/table/glass,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aSW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aSX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aSY" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/aft) +"aSZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aTb" = (/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTc" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/checkpoint3) +"aTe" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/crowbar,/obj/item/weapon/pen,/obj/item/device/flash,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aTg" = (/obj/machinery/computer/secure_data,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTi" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTj" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTk" = (/turf/space,/area/ninja_dojo/arrivals_dock) +"aTl" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod4/station) +"aTm" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod4/station) +"aTn" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod4/station) +"aTo" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/hologram/holopad,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aTp" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Port Escape Pods"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aTq" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aTr" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Stairs"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTs" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aTu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTv" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/aft) +"aTw" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTx" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTy" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aTz" = (/obj/machinery/computer/card,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTA" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTB" = (/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Starboard Escape Pods"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTC" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/hologram/holopad,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTD" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod6/station) +"aTE" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod6/station) +"aTF" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod6/station) +"aTG" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod4/station) +"aTH" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_4"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_4_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) +"aTI" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) +"aTJ" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) +"aTK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_4_hatch"; locked = 1; name = "Escape Pod Hatch 4"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) +"aTL" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_4_berth_hatch"; locked = 1; name = "Escape Pod 4"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aTM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_4_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_4_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aTN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aTO" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atm{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTU" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aTV" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTW" = (/turf/simulated/floor/tiled/monotile,/area/security/checkpoint3) +"aTX" = (/obj/machinery/computer/security,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aTY" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aTZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_6_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_6_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aUa" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_berth_hatch"; locked = 1; name = "Escape Pod 6"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aUb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_hatch"; locked = 1; name = "Escape Pod Hatch 6"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) +"aUc" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) +"aUd" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) +"aUe" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_6"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_6_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) +"aUf" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod6/station) +"aUg" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aUh" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aUi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) +"aUj" = (/obj/structure/stairs/east,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) +"aUk" = (/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) +"aUl" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) +"aUm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Auxiliary Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/firstdeck/auxdockaft) +"aUn" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/auxdockaft) +"aUo" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) +"aUp" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aUq" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aUr" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/checkpoint3) +"aUs" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aUt" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aUu" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockaft) +"aUv" = (/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockaft) +"aUw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) +"aUx" = (/obj/structure/sign/deck/first,/turf/simulated/wall,/area/hallway/primary/firstdeck/auxdockaft) +"aUy" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUz" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUB" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aUD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aUE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) +"aUF" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aUG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1aft_port_airlock"; pixel_x = 0; pixel_y = 26; req_access = list(13); tag_airpump = "d1aft_port_pump"; tag_chamber_sensor = "d1aft_port_sensor"; tag_exterior_door = "d1aft_port_outer"; tag_interior_door = "d1aft_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1aft_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUI" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUJ" = (/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Auxiliary Docking 1"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUM" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/white/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aUZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVa" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Auxiliary Docking 3"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVc" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVd" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVe" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "ninja_shuttle_dock_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVf" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "ninja_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 26; req_access = list(0); req_one_access = list(13); tag_airpump = "ninja_shuttle_dock_pump"; tag_chamber_sensor = "ninja_shuttle_dock_sensor"; tag_exterior_door = "ninja_shuttle_dock_outer"; tag_interior_door = "ninja_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "ninja_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVg" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_port_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1aft_port_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aVh" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVi" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_port_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aVk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d1aft_port_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVn" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVo" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "skipjack_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVq" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockaft) +"aVu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVv" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1aft_starboard_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVy" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "ninja_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "ninja_shuttle_dock_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aVB" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVC" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "ninja_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVD" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "ninja_shuttle_dock_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "ninja_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -28; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aVE" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aVF" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockaft) +"aVG" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "skipjack_shuttle_dock_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aVH" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVI" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVJ" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/auxdockaft) +"aVK" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVL" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVM" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_starboard_inner"; locked = 1; name = "Dock Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aVN" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aVO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVP" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aVR" = (/obj/structure/table/bench/standard,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVS" = (/obj/structure/table/bench/standard,/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Auxiliary Docking 2"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVT" = (/obj/structure/table/bench/standard,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVV" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aVX" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "skipjack_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVY" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "skipjack_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "skipjack_shuttle_dock_pump"; tag_chamber_sensor = "skipjack_shuttle_dock_sensor"; tag_exterior_door = "skipjack_shuttle_dock_outer"; tag_interior_door = "skipjack_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) +"aWa" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1aft_starboard_airlock"; pixel_x = -26; pixel_y = 0; req_access = list(13); tag_airpump = "d1aft_starboard_pump"; tag_chamber_sensor = "d1aft_starboard_sensor"; tag_exterior_door = "d1aft_starboard_outer"; tag_interior_door = "d1aft_starboard_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aWb" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1aft_starboard_sensor"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aWc" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "skipjack_shuttle_dock_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aWd" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "skipjack_shuttle_dock_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "skipjack_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = 0; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aWe" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_starboard_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d1aft_starboard_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = 0; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aWf" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1aft_starboard_outer"; locked = 1; name = "Dock External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/auxdockaft) +"aWg" = (/turf/space,/area/skipjack_station/arrivals_dock) +"aWh" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/ninja_dojo/arrivals_dock) +"aWi" = (/turf/space,/area/ninja_dojo/firstdeck) +"aWj" = (/turf/space,/area/ninja_dojo/seconddeck) +"aWk" = (/turf/space,/area/shuttle/shuttle1/seconddeck) +"aWl" = (/turf/space,/area/syndicate_station/seconddeck) +"aWm" = (/obj/structure/lattice,/obj/machinery/camera/network/security{c_tag = "SEC - Armory Exterior"; dir = 1},/turf/space,/area/space) +"aWn" = (/turf/simulated/wall/r_wall,/area/security/armoury) +"aWo" = (/turf/simulated/wall/r_wall,/area/security/tactical) +"aWp" = (/turf/simulated/wall/r_wall,/area/space) +"aWq" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/security/armoury) +"aWr" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/security/armoury) +"aWs" = (/turf/simulated/wall/r_wall,/area/rnd/test_area) +"aWt" = (/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"aWu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/rnd/test_area) +"aWv" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/southleft{name = "Riot Armor"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWw" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/window/brigdoor/southright{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWx" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/void/security,/obj/item/clothing/head/helmet/space/void/security,/obj/item/device/suit_cooling_unit,/obj/item/weapon/tank/oxygen,/obj/effect/floor_decal/corner/white{tag = "icon-corner_white (NORTH)"; icon_state = "corner_white"; dir = 1},/obj/effect/floor_decal/corner/blue{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor/southleft{name = "EVA Suit"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWy" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor/southleft{name = "Riot Armor"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWz" = (/obj/structure/table/rack,/obj/item/clothing/gloves/arm_guard/riot,/obj/item/clothing/shoes/leg_guard/riot,/obj/item/clothing/suit/armor/riot/alt,/obj/item/clothing/head/helmet/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/melee/baton/loaded,/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/window/brigdoor/southright{name = "Riot Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWA" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Test Chamber Fore"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"aWB" = (/turf/simulated/wall/r_wall,/area/security/prison) +"aWC" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/security/prison) +"aWD" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"aWE" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"aWF" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"aWG" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"aWH" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/machinery/door/window/brigdoor/southleft{name = "Energy"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWI" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/blue{dir = 5},/obj/item/weapon/gun/energy/ionrifle{pixel_y = -3},/obj/item/weapon/gun/energy/ionrifle{pixel_x = -2; pixel_y = -5},/obj/machinery/door/window/brigdoor/southright{name = "Energy"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWJ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/green/full{dir = 1},/obj/item/weapon/gun/projectile/shotgun/pump{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/projectile/shotgun/pump,/obj/machinery/door/window/brigdoor/southleft{name = "Ballistics"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWK" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWM" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWN" = (/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aWP" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/table/steel,/obj/item/weapon/cell/device/weapon{pixel_x = 4; pixel_y = 4},/obj/item/weapon/cell/device/weapon{pixel_x = 2; pixel_y = 2},/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aWQ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/door/window/brigdoor/southleft{name = "Energy"; req_access = list(1)},/obj/random/energy/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aWR" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/door/window/brigdoor/southright{name = "Energy"},/obj/random/energy/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aWS" = (/turf/simulated/wall/r_wall,/area/security/security_restroom) +"aWT" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_lockerroom) +"aWU" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_lockerroom) +"aWV" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_lockerroom) +"aWW" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/security/range) +"aWX" = (/turf/simulated/wall/r_wall,/area/security/range) +"aWY" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aWZ" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) +"aXa" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"aXb" = (/obj/structure/table/steel,/obj/machinery/microwave,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aXc" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aXd" = (/obj/structure/table/steel,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aXe" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aXf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aXg" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aXh" = (/turf/simulated/wall,/area/security/prison) +"aXi" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aXj" = (/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aXk" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/item/clothing/gloves/arm_guard/laserproof,/obj/item/clothing/shoes/leg_guard/laserproof,/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/laserproof,/obj/machinery/door/window/brigdoor/eastleft{name = "Laser Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXp" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXq" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXs" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/security/tactical) +"aXt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXv" = (/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXw" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/yellow/full{dir = 1},/obj/item/clothing/gloves/arm_guard/combat,/obj/item/clothing/shoes/leg_guard/combat,/obj/item/clothing/suit/armor/combat,/obj/item/clothing/head/helmet/combat,/obj/machinery/door/window/brigdoor/westright{name = "Combat Armor"},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXx" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aXy" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aXz" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aXA" = (/turf/simulated/wall,/area/security/security_restroom) +"aXB" = (/obj/structure/table/standard,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aXC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aXD" = (/obj/structure/closet/secure_closet/security,/obj/item/clothing/glasses/hud/security,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aXE" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) +"aXF" = (/turf/simulated/floor/tiled,/area/security/range) +"aXG" = (/obj/random/junk,/turf/space,/area/space) +"aXH" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aXI" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/prison) +"aXJ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aXK" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aXL" = (/turf/simulated/floor/tiled,/area/security/prison) +"aXM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) +"aXN" = (/obj/machinery/seed_storage/garden,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aXO" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aXP" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 9},/obj/item/clothing/gloves/arm_guard/laserproof,/obj/item/clothing/shoes/leg_guard/laserproof,/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/laserproof,/obj/machinery/door/window/brigdoor/eastright{name = "Laser Armor"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXQ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXR" = (/obj/machinery/camera/network/security{c_tag = "SEC - Armory"; dir = 1},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXS" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/empslite{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXT" = (/obj/structure/table/standard,/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/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/binoculars{pixel_y = 5},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXU" = (/obj/structure/table/standard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/handcuffs{pixel_x = 8; pixel_y = 6},/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aXW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Armoury Tactical Equipment"; req_access = list(3)},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXX" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aXZ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/effect/floor_decal/corner/yellow{dir = 6},/obj/item/clothing/gloves/arm_guard/combat,/obj/item/clothing/shoes/leg_guard/combat,/obj/item/clothing/suit/armor/combat,/obj/item/clothing/head/helmet/combat,/obj/machinery/door/window/brigdoor/westleft{name = "Combat Armor"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aYa" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYb" = (/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYc" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYd" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/tape,/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aYe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aYf" = (/obj/structure/closet/secure_closet/security,/obj/item/clothing/glasses/hud/security,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aYg" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/target_stake,/turf/simulated/floor/tiled,/area/security/range) +"aYh" = (/obj/machinery/magnetic_module,/turf/simulated/floor/tiled,/area/security/range) +"aYi" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"aYj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/range) +"aYk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"aYl" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"aYm" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/random/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aYn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) +"aYo" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Dormitories"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aYp" = (/obj/structure/table/steel,/obj/structure/bedsheetbin,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aYq" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aYr" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aYs" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/soap/nanotrasen,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aYt" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/bulletproof,/obj/item/clothing/shoes/leg_guard/bulletproof,/obj/item/clothing/suit/armor/bulletproof/alt,/obj/item/clothing/head/helmet/bulletproof,/obj/machinery/door/window/brigdoor/eastleft{name = "Ballistic Armor"},/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYv" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/item/weapon/storage/box/flashshells,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/storage/box/stunshells,/obj/item/weapon/storage/box/stunshells,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/window/brigdoor/westright{name = "Ammo"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/security/armoury) +"aYx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYC" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/security/tactical) +"aYD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Armory Tactical"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aYE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aYF" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/item/ammo_magazine/m9mmt,/obj/machinery/door/window/brigdoor/westleft{name = "Ammo"; req_access = list(1)},/obj/item/ammo_magazine/s45,/obj/item/ammo_magazine/s45,/obj/item/ammo_magazine/s45,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aYG" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYH" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aYL" = (/obj/structure/closet/wardrobe/red,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Locker Room"; dir = 4},/obj/item/clothing/suit/storage/hazardvest/green,/obj/item/clothing/suit/storage/hazardvest/green,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aYM" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/security_lockerroom) +"aYN" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/clothing/glasses/hud/security,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aYO" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/orange,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aYP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/prison) +"aYQ" = (/obj/machinery/computer/arcade,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aYR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/security/prison) +"aYS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aYT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) +"aYU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aYV" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aYW" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aYX" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/security/prison) +"aYY" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/gloves/arm_guard/bulletproof,/obj/item/clothing/shoes/leg_guard/bulletproof,/obj/item/clothing/suit/armor/bulletproof/alt,/obj/item/clothing/head/helmet/bulletproof,/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aYZ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZa" = (/obj/effect/floor_decal/industrial/warning,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_x = 32; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZb" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m9mmt/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/item/ammo_magazine/m45/rubber,/obj/machinery/door/window/brigdoor/westleft{name = "Ammo"; req_access = list(1)},/obj/item/ammo_magazine/s45/rubber,/obj/item/ammo_magazine/s45/rubber,/obj/item/ammo_magazine/s45/rubber,/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZc" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Emergency Access"; pixel_x = 0; pixel_y = -24; req_access = list(3)},/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZd" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled/techmaint,/area/security/armoury) +"aZe" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning,/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,/turf/simulated/floor/tiled/techmaint,/area/security/armoury) +"aZf" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/security/armoury) +"aZg" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/recharger/wallcharger{pixel_x = 34; pixel_y = -4},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZh" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_x = 32; pixel_y = -21},/obj/structure/cable/green,/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aZi" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/corner/green/full,/obj/machinery/door/window/brigdoor/northleft{name = "Ballistics"; req_access = list(2)},/obj/random/projectile/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aZj" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/corner/green/full{dir = 4},/obj/machinery/door/window/brigdoor/northright{name = "Ballistics"},/obj/random/projectile/sec,/turf/simulated/floor/tiled/dark,/area/security/tactical) +"aZk" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZl" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZm" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Security Restroom"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_restroom) +"aZo" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aZp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aZq" = (/obj/structure/closet/secure_closet/security,/obj/item/clothing/glasses/hud/security,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aZr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"aZs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/security/range) +"aZt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/security/range) +"aZu" = (/obj/machinery/door/airlock/glass{name = "Brig Dormitories"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"aZv" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aZw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/security/prison) +"aZx" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/prison) +"aZy" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) +"aZz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"aZA" = (/obj/structure/sign/warning/secure_area/armory,/turf/simulated/wall/r_wall,/area/security/armoury) +"aZB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Secure Armoury Section"; req_access = list(3)},/turf/simulated/floor/tiled/techmaint,/area/security/armoury) +"aZC" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{id = "Armoury"; name = "Emergency Access"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZD" = (/obj/effect/floor_decal/industrial/hatch/yellow,/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/machinery/door/blast/regular{id = "Armoury"; name = "Emergency Access"},/turf/simulated/floor/tiled/dark,/area/security/armoury) +"aZE" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZF" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZG" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZH" = (/obj/structure/table/standard,/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/towel{color = "#ff0000"; name = "red towel"},/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/security/security_restroom) +"aZI" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aZJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aZK" = (/obj/structure/closet/secure_closet/security,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/item/clothing/glasses/hud/security,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"aZL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) +"aZM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/range) +"aZN" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"aZO" = (/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Test Chamber Port"; dir = 4; network = list("Research","Toxins Test Area")},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"aZP" = (/obj/item/device/radio/beacon,/turf/simulated/floor/airless,/area/rnd/test_area) +"aZQ" = (/obj/machinery/light{dir = 4},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Test Chamber Starboard"; dir = 8; network = list("Research","Toxins Test Area")},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"aZR" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"aZS" = (/obj/structure/table/steel,/obj/item/weapon/newspaper,/obj/item/device/tape,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"aZT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) +"aZU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"aZV" = (/obj/machinery/vending/wallmed1{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aZW" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"aZX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/steel,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/security/prison) +"aZY" = (/obj/structure/table/steel,/obj/item/device/communicator,/obj/item/device/communicator,/obj/item/device/radio/headset,/obj/item/device/radio/headset,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/prison) +"aZZ" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/security/prison) +"baa" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled/dark,/area/security/prison) +"bab" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/tiled/dark,/area/security/prison) +"bac" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/security/prison) +"bad" = (/obj/structure/cryofeed{dir = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig 2"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/security/prison) +"bae" = (/turf/simulated/wall/r_wall,/area/security/security_equiptment_storage) +"baf" = (/obj/machinery/flasher/portable,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bag" = (/obj/machinery/flasher/portable,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/security{c_tag = "SEC - Equipment Storage"},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bah" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bai" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baj" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bak" = (/turf/simulated/wall,/area/security/security_equiptment_storage) +"bal" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/tiled/techmaint,/area/security/brig) +"bam" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/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,/turf/simulated/floor/tiled/techmaint,/area/security/brig) +"ban" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/button/remote/blast_door{id = "Armoury"; name = "Emergency Access"; pixel_x = 24; pixel_y = 0; req_access = list(3)},/turf/simulated/floor/tiled/techmaint,/area/security/brig) +"bao" = (/turf/simulated/wall,/area/security/evidence_storage) +"bap" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"baq" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bar" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bas" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bat" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bau" = (/turf/simulated/wall/r_wall,/area/security/evidence_storage) +"bav" = (/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/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Security Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/security/security_restroom) +"baw" = (/turf/simulated/wall,/area/security/security_lockerroom) +"bax" = (/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/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security Locker Room"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_lockerroom) +"bay" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/camera/network/security{c_tag = "SEC - Firing Range"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) +"baz" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/range) +"baA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/range) +"baB" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"baC" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"baD" = (/turf/simulated/floor/airless,/area/rnd/test_area) +"baE" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"baF" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"baG" = (/obj/structure/table/steel,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/dice,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"baH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/security/prison) +"baI" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) +"baJ" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"baK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/prison) +"baL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"baM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"baN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/prison) +"baO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"baP" = (/obj/machinery/flasher{id = "permflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"baQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/security/prison) +"baR" = (/obj/machinery/cryopod{dir = 2},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/security/prison) +"baS" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baT" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baW" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baX" = (/obj/machinery/door/firedoor/border_only,/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/airlock/security{name = "Equipment Storage"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"baY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"baZ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) +"bba" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) +"bbb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/security/evidence_storage) +"bbc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbg" = (/obj/machinery/camera/network/security{c_tag = "SEC - Evidence Storage"; dir = 8},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbh" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/main) +"bbi" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/main) +"bbj" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/main) +"bbk" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/main) +"bbl" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/camera/network/security{c_tag = "SEC - Briefing"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/main) +"bbm" = (/obj/structure/sign/goldenplaque{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/main) +"bbn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/main) +"bbo" = (/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/main) +"bbp" = (/turf/simulated/wall,/area/security/range) +"bbq" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/range) +"bbr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/range) +"bbs" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"bbt" = (/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"bbu" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"bbv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/security/prison) +"bbw" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/prison) +"bbx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/prison) +"bby" = (/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig 1"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"bbz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"bbA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"bbB" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/security/prison) +"bbC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"bbD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) +"bbE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"bbF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/prison) +"bbG" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/security/prison) +"bbH" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/device/radio/intercom/department/security{dir = 1; pixel_y = -21},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bbI" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bbJ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bbK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/northleft{name = "Weapons locker"; req_access = list(2)},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/item/weapon/gun/projectile/colt/detective,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/security/security_equiptment_storage) +"bbL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_equiptment_storage) +"bbM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bbN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/security/brig) +"bbO" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) +"bbP" = (/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) "bbR" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) -"bbS" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"bbT" = (/obj/structure/closet/secure_closet/warden,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bbU" = (/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Fore"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bbV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/brig) -"bbW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bbX" = (/turf/simulated/wall,/area/security/security_processing) -"bbY" = (/obj/structure/table/standard,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/security_processing) -"bbZ" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) -"bca" = (/turf/simulated/floor/tiled,/area/security/security_processing) -"bcb" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) -"bcc" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/security_processing) -"bcd" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/security_processing) -"bce" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"bcf" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) -"bcg" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/red,/area/security/main) -"bch" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/red,/area/security/main) -"bci" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) -"bcj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/range) -"bck" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/range) -"bcl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/security/range) -"bcm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/range) -"bcn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/range) -"bco" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bcp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bcq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bcr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bcs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) -"bct" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/security/prison) -"bcu" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/prison) -"bcv" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) -"bcw" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/recharger/wallcharger{pixel_x = -26; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bcx" = (/turf/simulated/floor/tiled/dark,/area/security/warden) -"bcy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bcz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bcA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bcB" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bcC" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bcD" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bcE" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) -"bcF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) -"bcG" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/security/security_processing) -"bcH" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/evidence,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) -"bcI" = (/obj/structure/noticeboard{pixel_x = -32},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"bcJ" = (/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/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/tiled/red,/area/security/main) -"bcK" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/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/red,/area/security/main) -"bcL" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/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,/area/security/main) -"bcM" = (/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/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/main) -"bcN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/main) -"bcO" = (/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/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/main) -"bcP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/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/plating,/area/security/range) -"bcQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) -"bcR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) -"bcS" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) -"bcT" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -26},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) -"bcU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -26},/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/blanks,/obj/item/weapon/storage/box/blanks{pixel_x = 2; pixel_y = -2},/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) -"bcV" = (/turf/simulated/wall,/area/rnd/test_area) -"bcW" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/turf/simulated/floor/airless,/area/rnd/test_area) -"bcX" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/security/security_cell_hallway) -"bcY" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) -"bcZ" = (/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/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/brigdoor/northright{id = "Cell 2"; name = "Cell 2"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bda" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) -"bdb" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) -"bdc" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-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/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/brigdoor/northright{id = "Cell 1"; name = "Cell 1"; req_access = list(2)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"bde" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"bdf" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northright{name = "Visitation"; req_access = list(2)},/obj/item/weapon/book/codex/corp_regs,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/tiled,/area/security/prison) -"bdg" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/prison) -"bdh" = (/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/obj/structure/table/steel_reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdj" = (/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = 36; pixel_y = 18; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdk" = (/obj/structure/table/steel_reinforced,/obj/machinery/door/window/brigdoor/eastleft{name = "Warden's Desk"; req_access = list(1)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/brig) -"bdm" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/security{name = "Security Processing"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_processing) -"bdo" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdp" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdq" = (/obj/structure/table/standard,/obj/item/device/tape/random,/obj/item/device/taperecorder,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdr" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/main) -"bds" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdt" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"bdu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) -"bdv" = (/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/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/security/main) -"bdw" = (/obj/machinery/flasher{id = "IAflash"; pixel_x = 26; pixel_y = 0},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/prison) -"bdx" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/main) -"bdy" = (/turf/simulated/wall,/area/security/aid_station) -"bdz" = (/turf/simulated/wall,/area/security/security_ses) -"bdA" = (/turf/simulated/wall/r_wall,/area/security/security_ses) -"bdB" = (/obj/structure/closet/emcloset,/turf/simulated/floor/airless,/area/rnd/test_area) -"bdC" = (/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) -"bdD" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) -"bdE" = (/obj/machinery/camera/network/security{c_tag = "SEC - Cell Hallway 1"; dir = 4},/obj/machinery/door_timer/cell_3{id = "Cell 2"; name = "Cell 2"; pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdF" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/button/remote/blast_door{id = "Cell 2"; name = "Cell 2 Door"; pixel_x = -1; pixel_y = 28; req_access = list(2)},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdG" = (/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,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdH" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/door_timer/cell_3{id = "Cell 1"; name = "Cell 1"; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdJ" = (/obj/machinery/button/remote/blast_door{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = -1; pixel_y = 28; req_access = list(2)},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdK" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdL" = (/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; layer = 3.4; name = "Brig Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdN" = (/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"},/obj/machinery/button/remote/airlock{id = "prisonentry"; name = "Entry Doors"; pixel_x = 26; pixel_y = -9; req_access = list(2)},/obj/machinery/button/remote/airlock{id = "prisonexit"; name = "Exit Doors"; pixel_x = 26; pixel_y = 0; req_access = list(2)},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = 39; pixel_y = 0; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "Prison Gate"; name = "Prison Lockdown"; pixel_x = 32; pixel_y = 9; req_access = list(2)},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = 39; pixel_y = -9; req_access = list(2); tag = "permflash"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bdO" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/security/prison) -"bdP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdQ" = (/obj/machinery/photocopier,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdT" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdU" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/hand_labeler,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark,/area/security/warden) -"bdV" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) -"bdW" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) -"bdX" = (/obj/machinery/camera/network/security{c_tag = "SEC - Processing"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdY" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) -"bdZ" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) -"bea" = (/obj/machinery/status_display,/turf/simulated/wall,/area/security/security_processing) -"beb" = (/obj/machinery/photocopier,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/main) -"bec" = (/obj/machinery/papershredder,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"bed" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/main) -"bee" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/main) -"bef" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"beg" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"beh" = (/obj/structure/table/standard,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/camera/network/security{c_tag = "SEC - Medical Station"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bei" = (/turf/simulated/wall/r_wall,/area/security/aid_station) -"bej" = (/obj/structure/closet/bombclosetsecurity,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/security/security_ses) -"bek" = (/obj/structure/closet/bombclosetsecurity,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/security/security_ses) -"bel" = (/obj/structure/closet/l3closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom/department/security{pixel_y = 21},/obj/machinery/camera/network/security{c_tag = "SEC - Secondary Equipment Storage"},/turf/simulated/floor/tiled,/area/security/security_ses) -"bem" = (/obj/structure/closet/l3closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/security/security_ses) -"ben" = (/obj/structure/closet/wardrobe/orange,/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_ses) -"beo" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/airless,/area/rnd/test_area) -"bep" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/rnd/test_area) -"beq" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless,/area/rnd/test_area) -"ber" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/airless,/area/rnd/test_area) -"bes" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/engineering/atmos) -"bet" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) -"beu" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) -"bev" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bew" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) -"bex" = (/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 = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bey" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bez" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/security_processing) -"beA" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/main) -"beB" = (/obj/machinery/button/remote/blast_door{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/flasher{id = "IAflash"; pixel_x = 25; pixel_y = 12},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) -"beC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"beD" = (/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/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"beE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"beF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"beG" = (/obj/machinery/door/airlock{id_tag = "visitdoor"; name = "Visitation Area"; req_access = list(63)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) -"beH" = (/obj/machinery/disposal,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/security/warden) -"beI" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/security/warden) -"beJ" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"beK" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"beL" = (/obj/machinery/computer/security{pixel_y = 0},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) -"beM" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/warden) -"beN" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"beO" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) -"beP" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/security_processing) -"beQ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_processing) -"beR" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/main) -"beS" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/button/windowtint{id = "secpro"; pixel_x = -12; pixel_y = -24},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/security_processing) -"beT" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/security_processing) -"beU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/main) -"beV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/main) -"beW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/main) -"beX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/main) -"beY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"beZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bfa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bfb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/security/security_ses) -"bfc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_ses) -"bfd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/security_ses) -"bfe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/security_ses) -"bff" = (/turf/simulated/floor/tiled,/area/security/security_ses) -"bfg" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall,/area/rnd/test_area) -"bfh" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/rnd/test_area) -"bfi" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bfj" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/turf/space,/area/space) -"bfk" = (/turf/simulated/wall/r_wall,/area/security/riot_control) -"bfl" = (/turf/simulated/wall,/area/security/riot_control) -"bfm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Riot Control"; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/security/riot_control) -"bfn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 1"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) -"bfo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 2"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) -"bfp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bfq" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bfr" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Cells"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) -"bfs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bft" = (/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/computer/cryopod{density = 0; layer = 3.3; pixel_x = 0; pixel_y = -32},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/security_cell_hallway) -"bfu" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/warden) -"bfv" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/warden) -"bfw" = (/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/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access = list(3)},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/techmaint,/area/security/warden) -"bfx" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/warden) -"bfy" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/warden) -"bfz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bfA" = (/obj/machinery/door/firedoor/glass,/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/tiled,/area/security/brig) -"bfB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bfC" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) -"bfD" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) -"bfE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security Processing"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_processing) -"bfF" = (/obj/machinery/vending/security,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bfG" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bfH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bfI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bfJ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) -"bfK" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bfL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/dark,/area/security/warden) -"bfM" = (/obj/structure/bed/roller,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bfN" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/security_ses) -"bfO" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/security_processing) -"bfP" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/security_ses) -"bfQ" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/machinery/door/window/northleft,/turf/simulated/floor/tiled,/area/security/security_ses) -"bfR" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/machinery/door/window/northright,/turf/simulated/floor/tiled,/area/security/security_ses) -"bfS" = (/turf/simulated/floor/airless,/area/space) -"bfT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/space) -"bfU" = (/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) -"bfV" = (/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Nitrogen"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) -"bfW" = (/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) -"bfX" = (/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Oxygen"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) -"bfY" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white{tag = "icon-corner_white (NORTH)"; icon_state = "corner_white"; dir = 1},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"bfZ" = (/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Air"; dir = 2},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"bga" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) -"bgb" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) -"bgc" = (/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Gas Mixing"; dir = 2},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) -"bgd" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/riot_control) -"bge" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/security/riot_control) -"bgf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bgg" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) -"bgh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bgi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bgj" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bgk" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bgl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Cells"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) -"bgm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/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,/area/security/brig) -"bgn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bgo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgq" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bgr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bgs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/brig) -"bgw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bgx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgz" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bgA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bgB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Mid"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bgE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bgF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) -"bgG" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/security/brig) -"bgH" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bgI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/aid_station) -"bgJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{name = "Security Medical"; req_access = newlist()},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bgK" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_ses) -"bgL" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/machinery/door/airlock/security{name = "Secondary Equipment Storage"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_ses) -"bgM" = (/obj/effect/floor_decal/corner/red/full,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) -"bgN" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) -"bgO" = (/obj/effect/floor_decal/corner/blue/full,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) -"bgP" = (/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) -"bgQ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"bgR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white,/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"bgS" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; pixel_y = 1; use_power = 1},/obj/effect/floor_decal/corner/lime/full,/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) -"bgT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) -"bgU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/computer/area_atmos/area,/turf/simulated/floor/plating,/area/security/riot_control) -"bgV" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/security/riot_control) -"bgW" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/security/riot_control) -"bgX" = (/obj/structure/table/steel,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/item/device/radio/headset,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bgY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bgZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bha" = (/obj/structure/table/steel,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/item/device/radio/headset,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bhb" = (/obj/structure/closet/secure_closet/brig,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/obj/item/device/radio/headset,/turf/simulated/floor/tiled/dark,/area/security/security_cell_hallway) -"bhc" = (/obj/structure/closet/secure_closet/brig,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/headset,/turf/simulated/floor/tiled/dark,/area/security/security_cell_hallway) -"bhd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) -"bhe" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bhf" = (/obj/structure/disposalpipe/junction/yjunction{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bhg" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/security/aid_station) -"bhh" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) -"bhi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bhj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bhk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Port"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bhl" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_ses) -"bhm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) -"bhn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bho" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bhp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bhq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bhr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bhs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) -"bht" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bhu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; name = "HoS Office"; sortType = "HoS Office"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bhv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bhw" = (/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{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bhx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bhy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/brig) -"bhz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bhA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) -"bhB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) -"bhC" = (/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 = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"bhD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bhE" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bhF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bhG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bhH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) -"bhI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bhJ" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) -"bhK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/brig) -"bhL" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bhM" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bhN" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bhO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bhP" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bhQ" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/camera/network/security{c_tag = "SEC - Riot Control"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/security/riot_control) -"bhR" = (/turf/simulated/floor/plating,/area/security/riot_control) -"bhS" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/security/riot_control) -"bhT" = (/obj/machinery/camera/network/security{c_tag = "SEC - Solitary Confinement 2"; dir = 1},/obj/structure/cryofeed{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) -"bhU" = (/obj/machinery/cryopod{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) -"bhV" = (/obj/machinery/cryopod,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) -"bhW" = (/obj/machinery/camera/network/security{c_tag = "SEC - Solitary Confinement 1"; dir = 1},/obj/structure/cryofeed,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) -"bhX" = (/turf/simulated/wall,/area/security/detectives_office) -"bhY" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/detectives_office) -"bhZ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) -"bia" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/security{id_tag = "detdoor"; name = "Detective"; req_access = list(4)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/security/detectives_office) -"bib" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) -"bic" = (/turf/simulated/wall/r_wall,/area/security/detectives_office) -"bid" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/brig) -"bie" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) -"bif" = (/turf/simulated/wall,/area/security/lobby) -"big" = (/obj/machinery/door/window/brigdoor/northleft{req_access = list(63)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -34; pixel_y = 0},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; pixel_x = -24; pixel_y = 0; req_access = list(63)},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bih" = (/obj/structure/window/reinforced{dir = 1},/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/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bii" = (/obj/machinery/door/window/brigdoor/northright{req_access = list(63)},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bij" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) -"bik" = (/turf/simulated/wall/r_wall,/area/security/brig) -"bil" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/brig) -"bim" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"bin" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bio" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bip" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"biq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) -"bir" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bis" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) -"bit" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) -"biu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Starboard"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"biv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"biw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"bix" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"biy" = (/obj/effect/floor_decal/borderfloor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) -"biz" = (/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) -"biA" = (/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/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/security/brig) -"biB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) -"biC" = (/obj/random/tool,/turf/space,/area/space) -"biD" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/lattice,/turf/space,/area/space) -"biE" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) -"biF" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space) -"biG" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/security/riot_control) -"biH" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/item/weapon/wrench,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/plating,/area/security/riot_control) -"biI" = (/obj/structure/table/reinforced,/obj/machinery/microscope,/obj/item/device/radio/intercom/department/security{pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"biJ" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"biK" = (/obj/machinery/computer/security/wooden_tv,/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/lino,/area/security/detectives_office) -"biL" = (/obj/structure/table/wooden_reinforced,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "detoffice"; pixel_x = -12; pixel_y = 24},/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/tape/random,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/lino,/area/security/detectives_office) -"biM" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/machinery/camera/network/security{c_tag = "SEC - Detective Office"; dir = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office) -"biN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/lino,/area/security/detectives_office) -"biO" = (/turf/simulated/floor/lino,/area/security/detectives_office) -"biP" = (/obj/structure/closet/wardrobe/detective,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/structure/noticeboard{pixel_y = 30},/turf/simulated/floor/lino,/area/security/detectives_office) -"biQ" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) -"biR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/lobby) -"biS" = (/obj/machinery/computer/security,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/lobby) -"biT" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/lobby) -"biU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) -"biV" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) -"biW" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/security/lobby) -"biX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/lobby) -"biY" = (/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) -"biZ" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos) -"bja" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos) -"bjb" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) -"bjc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Head of Security Quarters"; req_access = list(58)},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hos) -"bjd" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) -"bje" = (/turf/simulated/wall/r_wall,/area/lawoffice) -"bjf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/security/brig) -"bjg" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northright{name = "Security Delivery"; req_access = list(1)},/turf/simulated/floor/tiled,/area/security/brig) -"bjh" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/security) -"bji" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"bjj" = (/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bjk" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bjl" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjm" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjn" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjo" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjp" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjq" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjr" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjt" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bju" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjv" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bjw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/atmos{name = "Riot Control Maintenance"; req_access = newlist(); req_one_access = list(2,12,24)},/turf/simulated/floor/plating,/area/security/riot_control) -"bjx" = (/obj/structure/table/steel,/obj/item/device/t_scanner,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/security_port) -"bjy" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/security_port) -"bjz" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/security_port) -"bjA" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bjB" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bjC" = (/obj/item/weapon/stool/padded,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bjD" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_y = -3},/obj/item/weapon/folder/yellow{pixel_y = -5},/obj/item/weapon/storage/box/swabs{layer = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bjE" = (/obj/structure/closet/secure_closet/detective,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/gun/energy/taser,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/lino,/area/security/detectives_office) -"bjF" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"bjG" = (/obj/structure/table/wooden_reinforced,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"bjH" = (/obj/item/weapon/stool/padded,/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/carpet,/area/security/detectives_office) -"bjI" = (/turf/simulated/floor/carpet,/area/security/detectives_office) -"bjJ" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/machinery/light{dir = 4},/turf/simulated/floor/lino,/area/security/detectives_office) -"bjK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) -"bjL" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bjM" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby) -"bjN" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southleft{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/codex/corp_regs,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) -"bjO" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) -"bjP" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southright{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) -"bjQ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby) -"bjR" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) -"bjS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) -"bjT" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 28},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bjU" = (/obj/machinery/camera/network/security{c_tag = "SEC - HoS' Office"; dir = 2},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bjV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bjW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bjX" = (/obj/machinery/photocopier,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 36},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bjY" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bjZ" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/windowtint{id = "lawyer_tint"; pixel_x = 30; pixel_y = -26; req_access = list(58)},/obj/machinery/newscaster{pixel_y = 30},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bka" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bkb" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bkc" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bkd" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{anchored = 0; department = "Internal Affairs"},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/corner/blue/border{dir = 5},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bke" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access = list(1)},/turf/simulated/floor/plating,/area/security/brig) -"bkf" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/navbeacon/delivery/north{location = "Security"},/turf/simulated/floor/plating,/area/security/brig) -"bkg" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Security Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"bkh" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"bki" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"bkj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bkk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "N2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Nitrogen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkm" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Connector"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Port"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bko" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Oxygen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkp" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkr" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Inlet Valve"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bks" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Air Mix to Connector"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkt" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Outlet Valve"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bku" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"bkv" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mixing to Mix Tank"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Starboard"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix Tank to Port"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bky" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix Tank to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkz" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bkA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bkB" = (/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"bkC" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bkD" = (/turf/simulated/wall,/area/maintenance/security_port) -"bkE" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bkF" = (/turf/simulated/floor/plating,/area/maintenance/security_port) -"bkG" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/security_port) -"bkH" = (/obj/structure/table/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bkI" = (/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bkJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bkK" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase/crimekit,/obj/item/weapon/storage/briefcase/crimekit,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bkL" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/turf/simulated/floor/lino,/area/security/detectives_office) -"bkM" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office) -"bkN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"bkO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"bkP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office) -"bkQ" = (/obj/machinery/door/airlock/security{id_tag = "detdoor"; name = "Detective"; req_access = list(4)},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/security/detectives_office) -"bkR" = (/turf/simulated/floor/tiled,/area/security/lobby) -"bkS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) -"bkT" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bkU" = (/obj/effect/landmark{name = "lightsout"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bkV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bkW" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) -"bkX" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) -"bkY" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bkZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bla" = (/obj/structure/bed/chair,/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{dir = 9},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"blb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"blc" = (/obj/machinery/papershredder,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bld" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"ble" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/internalaffairs,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"blf" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"blg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"blh" = (/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bli" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"blj" = (/turf/simulated/wall,/area/lawoffice) -"blk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bll" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"blm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"bln" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"blo" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/substation/security) -"blp" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"blq" = (/turf/simulated/wall,/area/space) -"blr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/ai_status_display{pixel_y = 32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bls" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"blt" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"blu" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"blv" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"blw" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blx" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bly" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blz" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blA" = (/turf/simulated/floor/tiled,/area/engineering/atmos) -"blB" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"blC" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blD" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_port) -"blF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) -"blG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_port) -"blH" = (/obj/machinery/camera/network/security{c_tag = "SEC - Forensic Office"; dir = 4},/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"blI" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"blJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"blK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"blL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/window/westright{name = "Forensics Area"; req_one_access = list(4)},/turf/simulated/floor/lino,/area/security/detectives_office) -"blM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office) -"blN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office) -"blO" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/carpet,/area/security/detectives_office) -"blP" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/security/detectives_office) -"blQ" = (/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor/lino,/area/security/detectives_office) -"blR" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) -"blS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) -"blT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"blU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/lobby) -"blV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) -"blW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/lobby) -"blX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"blY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) -"blZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bma" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/flashlight/lamp/green{dir = 2; pixel_x = 10; pixel_y = 12},/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bmb" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/folder/red,/obj/item/weapon/stamp/hos,/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bmc" = (/obj/machinery/computer/skills{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bmd" = (/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{pixel_x = -4; pixel_y = 8},/obj/item/device/tape/random,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/device/radio/off,/obj/machinery/light{dir = 4},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bme" = (/obj/machinery/photocopier,/obj/machinery/camera/network/civilian{c_tag = "CIV - Internal Affairs"; dir = 5},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bmf" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bmg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bmh" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bmi" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bmj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bmk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bml" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmm" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmn" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 7500; tag_east = 2; tag_east_con = null; tag_north = 1; tag_north_con = 0.21; tag_south = 0; tag_south_con = null; tag_west = 1; tag_west_con = 0.79; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmo" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmp" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmq" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmr" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Tank Bypass Pump"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bms" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmt" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/valve/digital,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmu" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Mix to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmv" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmw" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmx" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmy" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmz" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/security_port) -"bmA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bmB" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bmC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bmD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bmE" = (/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bmF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bmG" = (/obj/machinery/dnaforensics,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bmH" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/papershredder,/turf/simulated/floor/lino,/area/security/detectives_office) -"bmI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/security/detectives_office) -"bmJ" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/carpet,/area/security/detectives_office) -"bmK" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/lino,/area/security/detectives_office) -"bmL" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/lobby) -"bmM" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) -"bmN" = (/obj/machinery/atm{pixel_y = -30},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) -"bmO" = (/obj/machinery/camera/network/security{c_tag = "SEC - Lobby"; dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bmP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) -"bmQ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant/fern,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/lobby) -"bmR" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) -"bmS" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/lobby) -"bmT" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bmU" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/machinery/button/remote/airlock{id = "HoSdoor"; name = "Office Door"; pixel_x = -36; pixel_y = 29},/obj/machinery/button/windowtint{id = "hosoffice"; pixel_x = -26; pixel_y = 30; req_access = list(58)},/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = -36; pixel_y = 39; req_access = list(2)},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bmV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) -"bmW" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bmX" = (/obj/structure/closet/lawcloset,/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bmY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bmZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bna" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bnb" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bnc" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bnd" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bne" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bnf" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bng" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/random/maintenance/security,/turf/simulated/floor,/area/maintenance/security_starboard) -"bnh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bni" = (/obj/effect/floor_decal/corner/black/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) -"bnj" = (/obj/effect/floor_decal/corner/black/full{dir = 1},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) -"bnk" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bnl" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"bnm" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bnn" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bno" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnp" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "N2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnq" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 4; tag_south = 1; tag_west = 5; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnr" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bns" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 3; tag_south = 0; tag_west = 1; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnt" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnu" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnw" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnx" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bny" = (/obj/machinery/atmospherics/binary/pump{name = "Transit to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnz" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnA" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/security_port) -"bnC" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/maintenance/security_port) -"bnD" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/meter,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/security_port) -"bnE" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/security_port) -"bnF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Forensics Maintenance Access"; req_access = list(4)},/turf/simulated/floor/plating,/area/security/detectives_office) -"bnG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bnH" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/security/detectives_office) -"bnI" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer/adv,/obj/item/device/reagent_scanner,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bnJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/lino,/area/security/detectives_office) -"bnK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/security/detectives_office) -"bnL" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"bnM" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/tape/random,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/lino,/area/security/detectives_office) -"bnN" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/security/lobby) -"bnO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby) -"bnP" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/turf/simulated/floor/tiled/steel_grid,/area/security/lobby) -"bnQ" = (/obj/machinery/status_display,/turf/simulated/wall,/area/security/lobby) -"bnR" = (/obj/structure/filingcabinet,/obj/item/device/radio/intercom/department/security{dir = 4; icon_override = "secintercom"; pixel_x = -21},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bnS" = (/obj/machinery/computer/security,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bnT" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bnU" = (/obj/structure/closet/secure_closet/hos,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bnV" = (/obj/machinery/photocopier/faxmachine{department = "Head of Security"},/obj/machinery/status_display{pixel_x = 32; pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) -"bnW" = (/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/secure/briefcase,/obj/structure/closet,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bnX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bnY" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bnZ" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/button/windowtint{id = "lawyer_tint"; pixel_x = -26; pixel_y = 30; req_access = list(58)},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"boa" = (/obj/machinery/atmospherics/valve/digital/open,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bob" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"boc" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bod" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"boe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/obj/machinery/meter,/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bof" = (/obj/effect/floor_decal/corner/black/full,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Carbon Dioxide"; dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) -"bog" = (/obj/effect/floor_decal/corner/black/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) -"boh" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"boi" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"boj" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bok" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "CO2 Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bol" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bom" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bon" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/atmos) -"boo" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bop" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"boq" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bor" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bos" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bot" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bou" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bov" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bow" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"box" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/warning/compressed_gas{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boy" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/atmospherics) -"boz" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/security_port) -"boA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/plushie/beepsky,/turf/simulated/floor/plating,/area/maintenance/security_port) -"boB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/security_port) -"boC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/security_port) -"boD" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"boE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/spray/luminol,/obj/item/device/uv_light,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/requests_console{announcementConsole = 0; department = "Security"; departmentType = 5; name = "Security RC"; pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"boF" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/item/weapon/forensics/sample_kit,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"boG" = (/obj/structure/table/reinforced,/obj/item/weapon/forensics/sample_kit/powder,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"boH" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/photocopier,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/lino,/area/security/detectives_office) -"boI" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/lino,/area/security/detectives_office) -"boJ" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/lino,/area/security/detectives_office) -"boK" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office) -"boL" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/lino,/area/security/detectives_office) -"boM" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/lino,/area/security/detectives_office) -"boN" = (/obj/item/weapon/bedsheet/ian,/obj/item/clothing/suit/ianshirt,/turf/simulated/floor/plating,/area/security/lobby) -"boO" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/fore) -"boP" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = -32},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"boQ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"boR" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"boS" = (/obj/structure/sign/deck/second,/turf/simulated/wall,/area/security/lobby) -"boT" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hos) -"boU" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"boV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) -"boW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"boX" = (/obj/machinery/papershredder,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"boY" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/lawoffice) -"boZ" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bpa" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bpb" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/firstaid,/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bpc" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/clothing/suit/storage/hazardvest/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/security_starboard) -"bpd" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bpe" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bpf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpg" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bph" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpi" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpj" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpk" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpl" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpm" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpn" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpo" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpp" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/binary/pump{name = "Transit to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpq" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpr" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bps" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/table/rack,/obj/item/weapon/tank/oxygen/yellow,/obj/item/weapon/tank/oxygen/yellow,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bpt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; RCon_tag = "Substation - Atmospherics"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bpu" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Atmos Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bpv" = (/turf/simulated/wall/r_wall,/area/maintenance/engineering) -"bpw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/engineering) -"bpx" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/airless,/area/maintenance/security_port) -"bpy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"bpz" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"bpA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"bpB" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/security_port) -"bpC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bpD" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) -"bpE" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) -"bpF" = (/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"bpG" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bpH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bpI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/eva_hallway) -"bpJ" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bpK" = (/obj/structure/railing,/turf/simulated/open,/area/hallway/secondary/eva_hallway) -"bpL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bpM" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bpN" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) -"bpO" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) -"bpP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) -"bpQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/turf/simulated/floor/plating,/area/lawoffice) -"bpR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Internal Affairs"; req_access = list(38)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/lawoffice) -"bpS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/lawoffice) -"bpT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bpU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/maintenance/security_starboard) -"bpV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) -"bpW" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) -"bpX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) -"bpY" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/eva_hallway) -"bpZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) -"bqa" = (/obj/effect/floor_decal/corner/orange/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Phoron"; dir = 4},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) -"bqb" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "tox_in"; pixel_y = 1; use_power = 1},/obj/effect/floor_decal/corner/purple/diagonal,/obj/effect/floor_decal/corner/orange{dir = 4},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) -"bqc" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/orange/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqd" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqe" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 0; tag_north = 2; tag_south = 1; tag_west = 6; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqf" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqg" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqh" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Waste to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqi" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Air to Supply"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqj" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqk" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bql" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/decal/warning_stripes,/turf/simulated/floor,/area/engineering/atmos) -"bqm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bqn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bqo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bqp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bqq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Atmospherics Substation"; req_one_access = list(11,24)},/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"bqr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/maintenance/engineering) -"bqs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) -"bqt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/airless,/area/maintenance/security_port) -"bqu" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/maintenance/security_port) -"bqv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_port_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"bqw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_port_pump"},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"bqx" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/maintenance/security_port) -"bqy" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_port_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 26; req_access = list(18)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"bqz" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Security"; sortType = "Security"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) -"bqA" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) -"bqB" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/head/welding,/obj/item/weapon/storage/belt/utility,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqC" = (/obj/machinery/suit_cycler/mining,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqD" = (/obj/machinery/suit_cycler/engineering,/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/command{c_tag = "EVA - Port"},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqE" = (/obj/machinery/suit_cycler/medical,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqF" = (/obj/machinery/suit_cycler/security,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqG" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqI" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/industrial/warning,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqJ" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqK" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqL" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqM" = (/obj/structure/table/reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/command{c_tag = "EVA - Starboard"},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqN" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/rods{amount = 50},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqO" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/effect/floor_decal/industrial/warning,/obj/machinery/requests_console{department = "EVA"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bqP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"bqQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bqR" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bqS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) -"bqT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bqU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/eva_hallway) -"bqV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) -"bqW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bqX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bqY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bqZ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bra" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brb" = (/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/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bre" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brf" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) -"brg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bri" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Starboard Hallway Two"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) -"brm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brn" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bro" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_starboard_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_starboard_airlock"; pixel_x = 0; pixel_y = 26; req_access = list(18); tag_airpump = "eva_starboard_pump"; tag_chamber_sensor = "eva_starboard_sensor"; tag_exterior_door = "eva_starboard_outer"; tag_interior_door = "eva_starboard_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"brq" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) -"brr" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_starboard_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = 25; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) -"brs" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/maintenance/research) -"brt" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/purple/diagonal,/obj/effect/floor_decal/corner/orange{dir = 8},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) -"bru" = (/obj/effect/floor_decal/corner/orange/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) -"brv" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"brw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/cap/visible{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/orange/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brx" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bry" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) -"brz" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brA" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"brB" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"brC" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brD" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brE" = (/obj/machinery/atmospherics/tvalve/digital{dir = 8; name = "Waste to Space"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brF" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/atmos) -"brG" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brH" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; name = "Scrubber to Waste"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brI" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brJ" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brK" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"brM" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"brN" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"brO" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) -"brP" = (/turf/simulated/wall,/area/maintenance/substation/atmospherics) -"brQ" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/maintenance/engineering) -"brR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) -"brS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/engineering) -"brT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_port_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/maintenance/security_port) -"brU" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_port_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_port_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "eva_port_pump"; tag_chamber_sensor = "eva_port_sensor"; tag_exterior_door = "eva_port_outer"; tag_interior_door = "eva_port_inner"},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"brV" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_port_pump"},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"brW" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/maintenance/security_port) -"brX" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"brY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"brZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = list(18)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) -"bsb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bse" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/lobby) -"bsf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bsk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/eva) -"bsl" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bsm" = (/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; name = "Janitor Closet"; sortType = "Janitor Closet"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bsn" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"bso" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/lobby) -"bsp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/eva_hallway) -"bsq" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) -"bsr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bss" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bst" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Starboard Hallway One"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsw" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/lobby) -"bsx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsz" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsA" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) -"bsB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsD" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsE" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsF" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_starboard_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -25; req_access = list(18)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsG" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_starboard_sensor"; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsH" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bsI" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) -"bsJ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small,/turf/simulated/floor/airless,/area/maintenance/research) -"bsK" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/research) -"bsL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "fore_starboard_airlock"; name = "exterior access button"; pixel_x = 26; pixel_y = -25; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/research) -"bsM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/airless,/area/maintenance/research) -"bsN" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/airless,/area/space) -"bsO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Phoron to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsP" = (/obj/machinery/atmospherics/binary/pump{name = "Port to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsQ" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsR" = (/obj/machinery/atmospherics/unary/freezer{dir = 1; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsS" = (/obj/machinery/atmospherics/unary/heater{dir = 1; icon_state = "heater"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsT" = (/obj/item/weapon/stool/padded,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"bsU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos/monitoring) -"bsW" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) -"bsX" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) -"bsY" = (/turf/simulated/wall,/area/maintenance/substation/engineering) -"bsZ" = (/turf/simulated/wall,/area/maintenance/engineering) -"bta" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/maintenance/engineering) -"btb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/engineering) -"btc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"btd" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"bte" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) -"btf" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/sign/warning/airlock{pixel_x = -32},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"btg" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) -"bth" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"bti" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btj" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btk" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btl" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btm" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btn" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bto" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btp" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"btq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"btr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"bts" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"btt" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"btu" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"btv" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/hallway/secondary/eva_hallway) -"btw" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"btx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bty" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"btz" = (/turf/simulated/wall,/area/janitor) -"btA" = (/obj/structure/noticeboard{pixel_x = -32},/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northleft{name = "Janitorial Desk"},/obj/machinery/door/window/southright{name = "Janitorial Desk"; req_access = list(26)},/obj/machinery/door/blast/shutters{dir = 1; id = "janitor_blast"; layer = 3.1; name = "Janitorial Shutters"},/turf/simulated/floor/tiled,/area/janitor) -"btB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Custodial Closet"; req_access = list(26)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/janitor) -"btC" = (/turf/simulated/wall,/area/storage/auxillary) -"btD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/storage/auxillary) -"btE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass{name = "Auxiliary Storage"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/storage/auxillary) -"btF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) -"btG" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) -"btH" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall,/area/hallway/secondary/eva_hallway) -"btI" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) -"btJ" = (/turf/simulated/wall/r_wall,/area/maintenance/research) -"btK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/airless,/area/maintenance/research) -"btL" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/research) -"btM" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/research) -"btN" = (/obj/effect/floor_decal/corner/white/diagonal{tag = "icon-corner_white_diagonal (EAST)"; icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrous Oxide"; dir = 4},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"btO" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2o_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"btP" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"btQ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btR" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 2; tag_south = 0; tag_west = 7; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"btS" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) -"btT" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"btU" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"btV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btW" = (/obj/machinery/computer/security/engineering,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"btX" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"btY" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"btZ" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bua" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/obj/structure/sign/atmosplaque{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bub" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"buc" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bud" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bue" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"buf" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bug" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/maintenance/engineering) -"buh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/engineering) -"bui" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/engineering) -"buj" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/engineering) -"buk" = (/obj/structure/closet/crate,/obj/item/weapon/storage/backpack,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bul" = (/obj/structure/table/steel,/obj/item/clothing/head/orangebandana,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/engineering) -"bum" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/powercell,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bun" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/engineering) -"buo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_port) -"bup" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/breacher,/obj/machinery/door/window/eastleft{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"buq" = (/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bur" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bus" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"but" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"buu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Hardsuits"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"buv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medical Hardsuits"; req_one_access = list(5)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"buw" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bux" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"buy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/firstdeck/gym) -"buz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Hallway Two"; dir = 8},/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"buA" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/fore) -"buB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/seconddeck/fore) -"buC" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19)},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"buD" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled,/area/janitor) -"buE" = (/obj/machinery/button/remote/blast_door{id = "janitor_blast"; name = "Privacy Shutters"; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/janitor) -"buF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"buG" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/janitor) -"buH" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = 28},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/steel,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled,/area/janitor) -"buI" = (/obj/structure/table/steel,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/turf/simulated/floor/tiled,/area/storage/auxillary) -"buJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/storage/auxillary) -"buK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"buL" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) -"buM" = (/obj/structure/table/steel,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/weapon/tape_roll,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/turf/simulated/floor/tiled,/area/storage/auxillary) -"buN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) -"buO" = (/turf/simulated/wall,/area/maintenance/research) -"buP" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) -"buQ" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/firstaid,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/research) -"buR" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/research) -"buS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/research) -"buT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "fore_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_starboard_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "fore_starboard_pump"; tag_chamber_sensor = "fore_starboard_sensor"; tag_exterior_door = "fore_starboard_outer"; tag_interior_door = "fore_starboard_inner"},/turf/simulated/floor/plating,/area/maintenance/research) -"buU" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "fore_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_starboard_sensor"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"buV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/research) -"buW" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/research) -"buX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research) -"buY" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"buZ" = (/obj/effect/floor_decal/corner/white/diagonal{tag = "icon-corner_white_diagonal (EAST)"; icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"bva" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bvb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "N2O Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvc" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bve" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvf" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvg" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvh" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Ports to Waste"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvi" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Ports to Waste"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvj" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; name = "Air to Ports"},/obj/structure/cable/cyan,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvk" = (/turf/simulated/wall,/area/engineering/atmos/monitoring) -"bvl" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = -26; pixel_y = -16; req_one_access = list(10,24)},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvn" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvo" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvp" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Monitoring"; dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvq" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bvr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bvs" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bvt" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bvu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bvv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bvw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/engineering) -"bvx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/engineering) -"bvy" = (/obj/structure/cable{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/plating,/area/maintenance/engineering) -"bvz" = (/obj/structure/cable{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/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bvA" = (/obj/structure/cable{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/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bvB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bvC" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/white,/obj/item/clothing/head/helmet/space/skrell/white,/obj/machinery/door/window/eastleft{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bvD" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/obj/machinery/door/window/westright{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bvE" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/weapon/rig/eva/equipped,/obj/machinery/door/window/westright{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bvF" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/obj/machinery/door/window/westright{name = "Security Hardsuits"; req_one_access = list(1)},/obj/item/clothing/head/helmet/space/void/security,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bvG" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westright{name = "Medical Hardsuits"; req_one_access = list(5)},/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bvH" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"bvI" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bvJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bvK" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bvL" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"bvM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bvN" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"bvO" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/janitor) -"bvP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/janitor) -"bvQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/janitor) -"bvR" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) -"bvS" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/camera/network/civilian{c_tag = "CIV - Custodial Closet"; dir = 9},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled,/area/janitor) -"bvT" = (/obj/structure/closet/toolcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bvU" = (/turf/simulated/floor/tiled,/area/storage/auxillary) -"bvV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/recharger{pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/auxillary) -"bvW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bvX" = (/obj/structure/table/steel,/obj/item/device/camera_film{pixel_x = 2; pixel_y = 2},/obj/item/device/camera_film{pixel_x = -2; pixel_y = -2},/obj/item/device/camera,/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bvY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bvZ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/research) -"bwa" = (/obj/structure/table/steel,/obj/random/powercell,/obj/random/maintenance/research,/obj/random/tool,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research) -"bwb" = (/turf/simulated/floor/plating,/area/maintenance/research) -"bwc" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"bwd" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/research) -"bwe" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/research) -"bwf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "fore_starboard_pump"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"bwg" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/research) -"bwh" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/research) -"bwi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/obj/effect/floor_decal/industrial/warning,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) -"bwj" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) -"bwk" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/closet/wardrobe/white,/obj/random/maintenance/clean,/obj/random/maintenance/research,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/research) -"bwl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/research) -"bwm" = (/turf/simulated/wall/r_wall,/area/rnd/research) -"bwn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/research) -"bwo" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/airless,/area/space) -"bwp" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/space) -"bwq" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/airless,/area/space) -"bwr" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/airless,/area/space) -"bws" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/space) -"bwt" = (/obj/machinery/light/small,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bwu" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxins_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -22; req_one_access = list(8,13,65)},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bwv" = (/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bww" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bwx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwy" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwz" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwA" = (/obj/structure/table/standard,/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/cell_charger,/obj/item/device/multitool{pixel_x = 5},/obj/item/weapon/wrench,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwB" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwC" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwD" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/obj/machinery/meter,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwE" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/meter,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwF" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwG" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwJ" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwK" = (/obj/machinery/computer/atmoscontrol,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwL" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bwM" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bwN" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bwO" = (/obj/machinery/power/grid_checker,/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bwP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/maintenance/engineering) -"bwQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor,/area/maintenance/engineering) -"bwR" = (/turf/simulated/floor/plating,/area/maintenance/engineering) -"bwS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bwT" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/black,/obj/item/clothing/head/helmet/space/skrell/black,/obj/machinery/door/window/eastright{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bwU" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/obj/machinery/door/window/westleft{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bwV" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bwW" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bwX" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/westleft{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bwY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/obj/machinery/door/window/westleft{name = "Security Hardsuits"; req_one_access = list(1)},/obj/item/clothing/head/helmet/space/void/security,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bwZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"bxa" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) -"bxb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bxc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/ai_monitored/storage/eva) -"bxd" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"bxe" = (/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,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"bxf" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"bxg" = (/obj/structure/closet/jcloset,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/janitor) -"bxh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/janitor) -"bxi" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bxj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/janitor) -"bxk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled,/area/janitor) -"bxl" = (/obj/structure/closet/toolcloset,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bxm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/auxillary) -"bxn" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/storage/fancy/crayons,/obj/machinery/camera/network/civilian{c_tag = "CIV - Auxiliary Storage"; dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bxo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) -"bxp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) -"bxq" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/maintenance/research) -"bxr" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/research) -"bxs" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/research) -"bxt" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/research) -"bxu" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/research) -"bxv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) -"bxw" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bxx" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bxy" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/plating,/area/maintenance/research) -"bxz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) -"bxA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bxB" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research) -"bxC" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bxD" = (/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bxE" = (/turf/simulated/wall,/area/rnd/toxins_launch) -"bxF" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bxG" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall,/area/rnd/toxins_launch) -"bxH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/toxins_launch) -"bxI" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/rnd/toxins_launch) -"bxJ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxins_outer"; locked = 1; name = "Toxins External Access"; req_access = list(8,10,13)},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bxK" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/dispenser,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxL" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/item/clothing/glasses/welding,/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxM" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = -32},/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/device/pipe_painter,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Aft"; dir = 1},/obj/machinery/light/spot,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxN" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"bxO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"bxP" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) -"bxQ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) -"bxR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"bxS" = (/obj/structure/sign/warning/nosmoking_2,/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) -"bxT" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) -"bxU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bxV" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/maintenance/engineering) -"bxW" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bxX" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bxY" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bxZ" = (/obj/structure/table/steel,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bya" = (/obj/structure/closet/toolcloset,/obj/random/tank,/turf/simulated/floor/plating,/area/maintenance/engineering) -"byb" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/maintenance/engineering) -"byc" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fore) -"byd" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bye" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"byf" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"byg" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Fore"; dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"byh" = (/obj/machinery/sleep_console{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"byi" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"byj" = (/obj/structure/closet/jcloset,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/janitor) -"byk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/janitor) -"byl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/janitor) -"bym" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/janitor) -"byn" = (/obj/structure/janitorialcart,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled,/area/janitor) -"byo" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) -"byp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) -"byq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/storage/auxillary) -"byr" = (/obj/structure/table/steel,/obj/item/weapon/hand_labeler,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bys" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byt" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) -"byu" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/research) -"byv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) -"byw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) -"byy" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byz" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byA" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byB" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byC" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "fore_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 25; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byD" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byE" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) -"byG" = (/obj/machinery/atmospherics/tvalve/mirrored{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/research) -"byH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) -"byI" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/research) -"byJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) -"byK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research) -"byL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"byM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) -"byN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/vacuum{pixel_x = -32},/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"byO" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"byP" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/bed/chair{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"byQ" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/driver{dir = 2; id = "toxinsdriver"; pixel_x = 24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"byR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "toxins_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "toxins_airlock"; pixel_x = -25; pixel_y = 0; tag_airpump = "toxins_pump"; tag_chamber_sensor = "toxins_sensor"; tag_exterior_door = "toxins_outer"; tag_interior_door = "toxins_inner"},/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "toxins_sensor"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"byS" = (/turf/space,/area/skipjack_station/seconddeck) -"byT" = (/turf/simulated/wall/r_wall,/area/engineering/storage) -"byU" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"byV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"byW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"byX" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"byY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"byZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bza" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzb" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzc" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzd" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bze" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzf" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzi" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzk" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bzl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) -"bzm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzn" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzo" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzs" = (/obj/structure/cable{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/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzt" = (/obj/structure/cable{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/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzu" = (/obj/structure/cable{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/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzv" = (/obj/structure/cable{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/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzw" = (/obj/structure/cable{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/item/inflatable/door/torn,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzx" = (/obj/structure/cable{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/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzz" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bzA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bzB" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/eastright{name = "Janitorial Delivery"; req_one_access = list(26)},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/janitor) -"bzC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/janitor) -"bzD" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled,/area/janitor) -"bzE" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled,/area/janitor) -"bzF" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/turf/simulated/floor/tiled,/area/janitor) -"bzG" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bzH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bzI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/auxillary) -"bzJ" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/storage/auxillary) -"bzK" = (/obj/structure/table/steel,/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/device/taperecorder,/obj/item/device/taperecorder,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bzL" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bzM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) -"bzN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research) -"bzO" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/research) -"bzP" = (/obj/structure/closet/crate/plastic,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/medical,/obj/random/medical/lite,/obj/random/bomb_supply,/obj/random/bomb_supply,/turf/simulated/floor/plating,/area/maintenance/research) -"bzQ" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) -"bzR" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hor) -"bzS" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) -"bzT" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/research) -"bzU" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bzV" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) -"bzW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"bzX" = (/turf/simulated/wall,/area/rnd/research_lockerroom) -"bzY" = (/turf/simulated/wall,/area/rnd/research_restroom_sc) -"bzZ" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bAa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bAb" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bAc" = (/turf/simulated/wall/r_wall,/area/rnd/storage) -"bAd" = (/turf/simulated/wall,/area/rnd/storage) -"bAe" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/airlock_sensor{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bAf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westleft{name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/window/eastleft{name = "Toxins Launcher"; req_access = list(8)},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/rnd/toxins_launch) -"bAg" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bAh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bAi" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bAj" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxins_inner"; locked = 1; name = "Toxins External Access"},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bAk" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) -"bAl" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/engineering/drone_fabrication) -"bAm" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/engineering/drone_fabrication) -"bAn" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_port_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -25; req_one_access = list(11,24)},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/sign/warning/engineering_access{pixel_x = 32},/turf/simulated/floor/airless,/area/engineering/drone_fabrication) -"bAo" = (/obj/machinery/shield_gen/external,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bAp" = (/obj/machinery/shield_gen/external,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/storage) -"bAq" = (/obj/machinery/shield_gen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bAr" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/camera/network/engineering{c_tag = "ENG - Hard Storage"; dir = 2},/turf/simulated/floor,/area/engineering/storage) -"bAs" = (/obj/machinery/shieldgen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bAt" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/storage) -"bAu" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAv" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAz" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Atmospherics"; sortType = "Atmospherics"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAA" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAB" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAC" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAD" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAE" = (/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/engineering/hallway/atmos_hallway) -"bAF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Hallway 1"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAH" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAK" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAL" = (/turf/simulated/wall,/area/engineering/hallway/atmos_hallway) -"bAM" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAN" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAO" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAP" = (/obj/random/toolbox,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/meter,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAT" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/maintenance/engineering) -"bAU" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAV" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAW" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAY" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fore) -"bAZ" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fore) -"bBa" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fore) -"bBb" = (/obj/structure/closet/crate/freezer/rations,/obj/random/action_figure,/turf/simulated/floor/plating,/area/maintenance/research) -"bBc" = (/obj/effect/floor_decal/industrial/loading{dir = 1},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/north{location = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) -"bBd" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access = list(26)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/janitor) -"bBe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/auxillary) -"bBf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) -"bBg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) -"bBh" = (/obj/structure/table,/obj/item/stack/material/plastic,/obj/item/weapon/wrench,/obj/item/weapon/weldingtool/hugetank,/turf/simulated/floor/plating,/area/maintenance/research) -"bBi" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/research) -"bBj" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research) -"bBk" = (/obj/item/weapon/rig/hazmat/equipped,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/machinery/door/window/southright{name = "RD Suit"; req_one_access = list(30)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/blue/border,/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bBl" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bBm" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bBn" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/button/remote/blast_door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -6; pixel_y = 24; req_access = list(47)},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; pixel_x = 6; pixel_y = 24; req_access = list(30)},/obj/machinery/button/windowtint{id = "rdoffice"; pixel_x = -16; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bBo" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/device/megaphone,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = 30; pixel_y = -2},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/blue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bBp" = (/turf/simulated/wall,/area/rnd/research) -"bBq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(47)},/turf/simulated/floor/plating,/area/rnd/research) -"bBr" = (/obj/structure/closet/secure_closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bBs" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/camera/network/research{c_tag = "SCI - Locker Room"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bBt" = (/obj/structure/closet/l3closet/scientist,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bBu" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bBv" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bBw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bBx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bBy" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bBz" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bBA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bBB" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bBC" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/nosmoking_2{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bBD" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bBE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bBF" = (/obj/machinery/mass_driver{dir = 1; id = "toxinsdriver"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bBG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating,/area/rnd/toxins_launch) -"bBH" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bBI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bBJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Launch Room"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bBK" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxins_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 22; req_one_access = list(8,13,65)},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bBL" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning/full,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/plating,/area/rnd/toxins_launch) -"bBM" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) -"bBN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_outer"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bBO" = (/turf/simulated/wall,/area/engineering/drone_fabrication) -"bBP" = (/obj/machinery/shield_capacitor,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bBQ" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/shieldwallgen,/turf/simulated/floor,/area/engineering/storage) -"bBR" = (/obj/machinery/shieldgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/storage) -"bBS" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bBT" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Hallway 2"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 1},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bBV" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bBW" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bBX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBY" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBZ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bCa" = (/turf/simulated/wall,/area/engineering/foyer) -"bCb" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/engineering/foyer) -"bCc" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Monitoring Room"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) -"bCd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/foyer) -"bCe" = (/turf/simulated/wall,/area/engineering/engineer_eva) -"bCf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engineer_eva) -"bCg" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engineer_eva) -"bCh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/engineer_eva) -"bCi" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCk" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/shoes/boots/workboots,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCl" = (/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCm" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bCn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bCo" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCp" = (/obj/item/device/t_scanner,/obj/structure/table/steel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCq" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCr" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bCt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bCu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bCv" = (/obj/structure/closet/crate,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research) -"bCw" = (/obj/structure/grille/broken,/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) -"bCx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research) -"bCy" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/research) -"bCz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bCA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/research) -"bCB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) -"bCC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bCD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/research) -"bCE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) -"bCF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bCG" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) -"bCH" = (/turf/simulated/wall,/area/maintenance/substation/research) -"bCI" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/research) -"bCJ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bCK" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bCL" = (/mob/living/simple_animal/slime/rainbow/kendrick,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bCM" = (/obj/structure/bed/chair/office/light,/obj/effect/landmark/start{name = "Research Director"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bCN" = (/obj/structure/table/reinforced,/obj/item/device/paicard{pixel_x = 4},/obj/item/device/tape,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/weapon/reagent_containers/food/drinks/jar,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bCO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor) -"bCP" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/rnd/research) -"bCQ" = (/obj/machinery/vending/coffee,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/rnd/research) -"bCR" = (/turf/simulated/floor/wood,/area/rnd/research) -"bCS" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/rnd/research) -"bCT" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/rnd/research) -"bCU" = (/obj/structure/closet/secure_closet/scientist,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bCV" = (/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bCW" = (/obj/structure/closet/wardrobe/science_white,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bCX" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bCY" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bCZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Fore"; dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bDa" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bDb" = (/obj/structure/sign/warning/compressed_gas,/turf/simulated/wall/r_wall,/area/rnd/storage) -"bDc" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bDd" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bDe" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bDf" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bDg" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bDh" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bDi" = (/turf/simulated/wall/r_wall,/area/rnd/toxins_launch) -"bDj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access = list(7)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/toxins_launch) -"bDk" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_port_sensor"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bDl" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bDm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bDn" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bDo" = (/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bDp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bDq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bDr" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bDs" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bDt" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bDu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bDv" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bDw" = (/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bDx" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bDy" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/techmaint,/area/engineering/hallway/atmos_hallway) -"bDz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) -"bDA" = (/obj/machinery/computer/power_monitor,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bDB" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bDC" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bDD" = (/turf/simulated/floor/tiled,/area/engineering/foyer) -"bDE" = (/obj/machinery/computer/security/engineering,/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bDF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/engineer_eva) -"bDG" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft{name = "Engineering Suits"; req_access = list(11)},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bDH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/engineering{c_tag = "ENG - EVA"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bDI" = (/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/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bDJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bDK" = (/obj/item/weapon/tank/jetpack/carbondioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westright{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bDL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDM" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDN" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDP" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDR" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bDS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bDT" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bDU" = (/obj/structure/closet,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDV" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDW" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bDZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bEa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bEb" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bEc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/maintenance/security_port) -"bEd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) -"bEe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/research) -"bEf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/research) -"bEg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) -"bEh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) -"bEi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/meter,/obj/structure/closet/toolcloset,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research) -"bEj" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bEk" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bEl" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"bEm" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Research Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bEn" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Research"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bEo" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bEp" = (/obj/machinery/computer/aifixer,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hor) -"bEq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bEr" = (/obj/structure/flora/pottedplant/mysterious,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bEs" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bEt" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white_rd,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/clothing/glasses/welding/superior,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bEu" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/multi,/obj/item/weapon/paper/monitorkey,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bEv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) -"bEw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) -"bEx" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/wood,/area/rnd/research) -"bEy" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) -"bEz" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bEB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bEC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Research Restroom"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bED" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bEE" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/light{dir = 1},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/soap/nanotrasen,/obj/random/soap,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bEF" = (/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bEG" = (/obj/structure/window/basic,/obj/structure/undies_wardrobe,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bEH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bEI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bEJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/rnd/storage) -"bEK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/rnd/storage) -"bEL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) -"bEM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) -"bEN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) -"bEO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) -"bEP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/rnd/storage) -"bEQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/turf/simulated/floor/tiled,/area/rnd/storage) -"bER" = (/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bES" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bET" = (/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},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bEU" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bEV" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Lab 1"; dir = 2},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bEW" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bEX" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bEY" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bEZ" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bFa" = (/turf/simulated/wall,/area/rnd/mixing) -"bFb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eng_port_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "eng_port_pump"; tag_chamber_sensor = "eng_port_sensor"; tag_exterior_door = "eng_port_outer"; tag_interior_door = "eng_port_inner"},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bFc" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/drone_fabrication) -"bFd" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bFe" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bFf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bFg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bFh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bFi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bFj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) -"bFk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bFl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bFm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bFn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bFo" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bFp" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bFq" = (/obj/machinery/computer/station_alert,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bFr" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bFs" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bFt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bFu" = (/obj/machinery/computer/atmoscontrol,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bFv" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/eastright{name = "Engineering Suits"; req_access = list(11)},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bFw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bFx" = (/obj/machinery/suit_cycler/engineering,/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bFy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bFz" = (/obj/item/weapon/tank/jetpack/carbondioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westleft{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bFB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bFC" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) -"bFD" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/maintenance/engineering) -"bFE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bFF" = (/obj/machinery/light/small{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bFG" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bFH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bFI" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/fscenter) -"bFJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bFK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) -"bFL" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bFM" = (/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bFN" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bFO" = (/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/light/small{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/technology_scanner,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bFP" = (/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bFQ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bFR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"bFS" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bFT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bFU" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bFV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bFW" = (/obj/machinery/computer/robotics,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hor) -"bFX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bFY" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bFZ" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bGa" = (/obj/machinery/papershredder,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bGb" = (/obj/machinery/camera/network/research{c_tag = "SCI - Break Room"; dir = 4},/turf/simulated/floor/wood,/area/rnd/research) -"bGc" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) -"bGd" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/rnd/research) -"bGe" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/rnd/research) -"bGf" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) -"bGg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Research Locker Room"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bGh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bGi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bGj" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bGk" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bGl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bGm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bGn" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bGo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bGp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bGq" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/rnd/storage) -"bGr" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/rnd/storage) -"bGs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/rnd/storage) -"bGt" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/firecloset,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/rnd/storage) -"bGu" = (/obj/machinery/vending/phoronresearch,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/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/rnd/mixing) -"bGw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGx" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Heated to Waste"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGy" = (/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Waste to Scrubbers"},/turf/simulated/floor/plating,/area/rnd/mixing) -"bGz" = (/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGA" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/pump,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGB" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Heater to Waste"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGC" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGD" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/rnd/mixing) -"bGE" = (/turf/simulated/wall/r_wall,/area/engineering/engine_waste) -"bGF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bGG" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_inner"; locked = 1; name = "Engineering Internal Access"; req_access = list(13)},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bGH" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_inner"; locked = 1; name = "Engineering Internal Access"; req_access = list(13)},/turf/simulated/floor,/area/engineering/drone_fabrication) -"bGI" = (/obj/machinery/power/emitter,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bGJ" = (/obj/structure/closet/crate/solar,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bGK" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/floodlight,/turf/simulated/floor,/area/engineering/storage) -"bGL" = (/obj/machinery/power/port_gen/pacman,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/storage) -"bGM" = (/obj/machinery/space_heater,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engineering/storage) -"bGN" = (/obj/structure/dispenser{oxygentanks = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bGO" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bGP" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bGQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bGR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/junction{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bGS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bGT" = (/obj/structure/table/reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/recharger{pixel_y = 0},/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bGU" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/powercell,/obj/random/powercell,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bGV" = (/obj/machinery/computer/rcon,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bGW" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bGX" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bGY" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bGZ" = (/obj/machinery/computer/atmos_alert,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bHa" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft{name = "Engineering Suits"; req_access = list(11)},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bHb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bHc" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bHd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bHe" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westright{name = "Atmospherics Suits"; req_access = list(24)},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bHf" = (/turf/simulated/wall,/area/engineering/locker_room) -"bHg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/locker_room) -"bHh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bHi" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bHj" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bHk" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bHl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) -"bHm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"bHn" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bHo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) -"bHp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bHq" = (/obj/machinery/door/airlock/glass{name = "Gym"},/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/firstdeck/gym) -"bHr" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bHs" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bHt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bHu" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bHv" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bHw" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bHx" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Research Subgrid"; name_tag = "Research Subgrid"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bHy" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bHz" = (/obj/machinery/computer/mecha,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hor) -"bHA" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bHB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"bHC" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bHD" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bHE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bHF" = (/obj/structure/table/glass,/obj/machinery/recharger{pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/rnd/research) -"bHG" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) -"bHH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) -"bHI" = (/obj/machinery/photocopier,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bHJ" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bHK" = (/obj/structure/closet/firecloset,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) -"bHL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bHM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/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/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bHN" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bHO" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) -"bHP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bHQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bHR" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bHS" = (/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Gas Storage"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bHT" = (/obj/machinery/computer/area_atmos,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bHU" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/rnd/storage) -"bHV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/standard,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/weapon/crowbar,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bHW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bHX" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bHY" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bHZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bIa" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/steel,/area/rnd/mixing) -"bIb" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/steel,/area/rnd/mixing) -"bIc" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bId" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/rnd/mixing) -"bIe" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/engine_waste) -"bIf" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engineering/engine_waste) -"bIg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/engine{c_tag = "ENG - Waste Handling"},/obj/structure/sign/warning/nosmoking_1{pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_waste) -"bIh" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor,/area/engineering/engine_waste) -"bIi" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_waste) -"bIj" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bIk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bIl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bIm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bIn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bIo" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_port_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_one_access = list(11,24)},/obj/structure/table/steel,/obj/item/weapon/storage/fancy/cigarettes,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bIp" = (/obj/structure/closet/crate/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor,/area/engineering/storage) -"bIq" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/floodlight,/turf/simulated/floor,/area/engineering/storage) -"bIr" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bIs" = (/obj/machinery/space_heater,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) -"bIt" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/plating,/area/engineering/storage) -"bIu" = (/turf/simulated/wall/r_wall,/area/engineering/hallway/atmos_hallway) -"bIv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/atmos_hallway) -"bIw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) -"bIx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/atmos_hallway) -"bIy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/hallway/atmos_hallway) -"bIz" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/machinery/recharger,/obj/item/weapon/tape_roll,/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = 0; req_access = list(10)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -34; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bIA" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/window/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bIB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/window/southright{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bIC" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bID" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 0; req_one_access = list(10,24)},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bIE" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bIF" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bIG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bIH" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/machinery/door/window/westleft{name = "Atmospherics Suits"; req_access = list(24)},/obj/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bII" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/secure_closet/engineering_personal,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bIJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/spline/plain,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bIK" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bIL" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bIM" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bIN" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bIO" = (/obj/structure/table,/turf/simulated/floor/tiled/yellow,/area/maintenance/engineering) -"bIP" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bIQ" = (/obj/structure/cable,/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) -"bIR" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"bIS" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bIT" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bIU" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"bIV" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bIW" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bIX" = (/obj/structure/closet/hydrant{pixel_x = 32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) -"bIY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bIZ" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/research) -"bJa" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor) -"bJb" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Research Director Quarters"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"bJc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdoffice"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor) -"bJd" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/wood,/area/rnd/research) -"bJe" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/rnd/research) -"bJf" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) -"bJg" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/rnd/research_restroom_sc) -"bJh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Research Restroom"},/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/freezer,/area/rnd/research_restroom_sc) -"bJi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bJj" = (/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bJk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/bombcloset,/obj/machinery/light{dir = 8},/obj/structure/sign/warning/nosmoking_2{pixel_x = -32},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bJl" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bJm" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bJn" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bJo" = (/obj/structure/sign/warning/hot_exhaust,/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bJp" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bJq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bJr" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bJs" = (/obj/structure/sign/warning/fire,/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bJt" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/obj/structure/lattice,/turf/space,/area/space) -"bJu" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"bJv" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"bJw" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineWasteViewport1"; name = "Engine Waste Viewport Shutter"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_waste) -"bJx" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineWasteViewport1"; name = "Engine Waste Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = null; req_one_access = list(11,24)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) -"bJy" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_waste) -"bJz" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_waste) -"bJA" = (/obj/machinery/atmospherics/pipe/cap/visible,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_waste) -"bJB" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/simulated/floor,/area/engineering/engine_waste) -"bJC" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_waste) -"bJD" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bJE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bJF" = (/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bJG" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bJH" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bJI" = (/turf/simulated/floor/tiled/dark,/area/engineering/hallway/engineer_hallway) -"bJJ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bJK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bJL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; name = "CE Office"; sortType = "CE Office"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bJM" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bJN" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bJO" = (/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bJP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/hallway/engineer_hallway) -"bJQ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJS" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJT" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJU" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJV" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bJW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bJX" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bJY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bJZ" = (/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/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bKa" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Locker Room"; req_one_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/locker_room) -"bKb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/locker_room) -"bKc" = (/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,/area/engineering/locker_room) -"bKd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/locker_room) -"bKe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) -"bKf" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bKg" = (/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/maintenance/engineering) -"bKh" = (/turf/simulated/floor/tiled/yellow,/area/maintenance/engineering) -"bKi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/door_assembly/door_assembly_mhatch{anchored = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bKj" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fpcenter) -"bKk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) -"bKl" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fscenter) -"bKm" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Hallway One"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bKn" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bKo" = (/obj/structure/sign/directions/evac{dir = 2; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fscenter) -"bKp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bKq" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/machinery/navbeacon/delivery/east{location = "Research Division"},/turf/simulated/floor/tiled,/area/rnd/research) -"bKr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced,/obj/machinery/door/window/eastright{base_state = "left"; dir = 4; icon_state = "left"; name = "Research Division Delivery"; req_access = list(47)},/turf/simulated/floor/tiled,/area/rnd/research) -"bKs" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKu" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKy" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Port"; dir = 2},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "RD Office"; sortType = "RD Office"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Research"; sortType = "Research"},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKP" = (/obj/machinery/door/firedoor/border_only,/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKR" = (/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 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKT" = (/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Starboard"; dir = 2},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKY" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bKZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/emcloset,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bLa" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bLb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bLc" = (/obj/machinery/atmospherics/tvalve/bypass{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{id_tag = "tox_airlock_control"; pixel_x = 24; pixel_y = 0; tag_airpump = "tox_airlock_pump"; tag_chamber_sensor = "tox_airlock_sensor"; tag_exterior_door = "tox_airlock_exterior"; tag_interior_door = "tox_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bLd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"bLe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bLf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bLg" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = -22},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bLh" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bLi" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bLj" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) -"bLk" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) -"bLl" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) -"bLm" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineWasteViewport1"; name = "Engine Waste Viewport Shutter"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_waste) -"bLn" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) -"bLo" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor,/area/engineering/engine_waste) -"bLp" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor,/area/engineering/engine_waste) -"bLq" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/engineering/engine_waste) -"bLr" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) -"bLs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) -"bLt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) -"bLu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bLv" = (/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/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bLw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bLx" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bLy" = (/turf/simulated/wall/r_wall,/area/engineering/hallway/engineer_hallway) -"bLz" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLA" = (/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/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLC" = (/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/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLI" = (/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/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLJ" = (/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"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLK" = (/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/dark,/area/engineering/hallway/engineer_hallway) -"bLL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/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/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLO" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bLP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) -"bLQ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bLR" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bLS" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) -"bLT" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bLU" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bLV" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/engineer_eva) -"bLW" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bLX" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/random/medical/lite,/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bLY" = (/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/tiled,/area/engineering/locker_room) -"bLZ" = (/turf/simulated/floor/tiled,/area/engineering/locker_room) -"bMa" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/machinery/camera/network/engineering{c_tag = "ENG - Locker Room"; dir = 8},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bMb" = (/obj/item/stack/tile/floor/steel,/turf/simulated/floor/tiled/steel,/area/maintenance/engineering) -"bMc" = (/obj/item/stack/tile/floor/yellow,/obj/item/frame/light,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bMd" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bMe" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bMf" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Eight"},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bMg" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bMh" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bMi" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fscenter) -"bMj" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bMk" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bMl" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fscenter) -"bMm" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bMn" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bMo" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) -"bMp" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center One"},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) -"bMq" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) -"bMr" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bMs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) -"bMt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) -"bMu" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMv" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bME" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMH" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Mid"; dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bML" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bMU" = (/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/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(7)},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bMV" = (/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"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bMW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bMX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bMY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bMZ" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(7)},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bNa" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 2; frequency = 1379; id = "tox_airlock_pump"},/obj/machinery/air_sensor{frequency = 1430; id_tag = "toxins_mixing_interior"; output = 63; pixel_x = -8; pixel_y = -18},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bNb" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(7)},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bNc" = (/obj/machinery/air_sensor{frequency = 1430; id_tag = "toxins_mixing_exterior"; output = 63},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bNd" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bNe" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) -"bNf" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/engineering/engine_waste) -"bNg" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/engineering/engine_waste) -"bNh" = (/obj/machinery/atmospherics/pipe/manifold/visible/black,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_waste) -"bNi" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_waste) -"bNj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_waste) -"bNk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/drone_fabricator/derelict,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bNl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bNm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bNn" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/engineering{name = "Engineering Drone Fabrication"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/drone_fabrication) -"bNo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/engineer_hallway) -"bNq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; name = "Engineering"; sortType = "Engineering"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Engineering Hallway 1"; dir = 1},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNy" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNA" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNB" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bNC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) -"bND" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bNE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bNF" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bNG" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bNH" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engineer_eva) -"bNI" = (/obj/structure/closet/wardrobe/engineering_yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bNJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/locker_room) -"bNK" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bNL" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bNM" = (/obj/item/stack/tile/floor/yellow,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bNN" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bNO" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light{dir = 1},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bNP" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bNQ" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bNR" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bNS" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) -"bNT" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) -"bNU" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) -"bNV" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) -"bNW" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bNX" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light{dir = 1},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bNY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bNZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) -"bOa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"bOb" = (/turf/simulated/wall/r_wall,/area/rnd/lab) -"bOc" = (/turf/simulated/wall,/area/rnd/lab) -"bOd" = (/obj/machinery/status_display,/turf/simulated/wall,/area/rnd/lab) -"bOe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bOf" = (/obj/effect/landmark{name = "lightsout"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bOg" = (/turf/simulated/wall,/area/assembly/robotics) -"bOh" = (/obj/machinery/status_display,/turf/simulated/wall,/area/assembly/robotics) -"bOi" = (/turf/simulated/wall/r_wall,/area/assembly/robotics) -"bOj" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/rnd/misc_lab) -"bOk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(); req_one_access = list(7,29)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bOl" = (/turf/simulated/wall/r_wall,/area/rnd/misc_lab) -"bOm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = list(30)},/turf/simulated/floor/tiled/dark,/area/server) -"bOn" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/server) -"bOo" = (/turf/simulated/wall/r_wall,/area/server) -"bOp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bOq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bOr" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bOs" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bOt" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bOu" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = 25; pixel_y = -5},/obj/machinery/button/remote/blast_door{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = 25; pixel_y = 5; req_access = list(7)},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bOv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"bOw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bOx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = -22},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bOy" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bOz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bOA" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) -"bOB" = (/turf/simulated/floor,/area/engineering/engine_waste) -"bOC" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_waste) -"bOD" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/door/window/northleft{name = "Engine Waste"; req_one_access = list(10,24)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_waste) -"bOE" = (/obj/machinery/door/window/northright{name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 26; pixel_y = 0; req_access = null; req_one_access = list(11,24)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_waste) -"bOF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/computer/security/engineering{name = "Drone Monitoring Cameras"; network = list("Engineering")},/obj/machinery/camera/network/engineering{c_tag = "ENG - Drone Fabrication"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bOG" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bOH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bOI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bOJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bOK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bOL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bOM" = (/turf/simulated/wall,/area/engineering/workshop) -"bON" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/workshop) -"bOO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) -"bOP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) -"bOQ" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief) -"bOR" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bOS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bOT" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/airlock/command{name = "Chief Engineer"; req_access = list(56)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/chief) -"bOU" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bOV" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bOW" = (/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/engineering{c_tag = "ENG - Foyer"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bOX" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bOY" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bOZ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bPa" = (/turf/simulated/wall,/area/engineering/break_room) -"bPb" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/white/diagonal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bPc" = (/obj/effect/floor_decal/corner/white/diagonal,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bPd" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bPe" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bPf" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bPg" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bPh" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/engineering/locker_room) -"bPi" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bPj" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/locker_room) -"bPk" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) -"bPl" = (/obj/item/frame/extinguisher_cabinet,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bPm" = (/obj/structure/closet/wardrobe/black,/obj/item/clothing/shoes/boots/combat,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor,/area/maintenance/engineering) -"bPn" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPo" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPp" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPq" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPs" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPt" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPu" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bPv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fscenter) -"bPw" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPy" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPz" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPA" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPC" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPD" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPE" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bPF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bPG" = (/obj/structure/flora/pottedplant/crystal,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bPH" = (/obj/machinery/autolathe,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bPI" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/steel{amount = 50},/obj/item/clothing/glasses/welding,/obj/machinery/camera/network/research{c_tag = "SCI - R&D Lab"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bPJ" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/table/standard,/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bPK" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bPL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bPM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/rnd/lab) -"bPN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bPO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bPP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/assembly/robotics) -"bPQ" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPR" = (/obj/structure/closet{name = "materials"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPS" = (/obj/machinery/autolathe,/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPT" = (/obj/machinery/computer/rdconsole/robotics,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPU" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPV" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPW" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPX" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/medical_wall{name = "anesthetic closet"; pixel_x = 0; pixel_y = 32; req_access = list(29)},/obj/item/weapon/tank/anesthetic,/obj/item/weapon/tank/anesthetic,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/weapon/storage/box/gloves,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPY" = (/obj/machinery/optable{name = "Robotics Operating Table"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bPZ" = (/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bQa" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bQb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bQc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/button/remote/blast_door{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 26; req_access = list(47)},/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 26},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bQd" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/steel,/area/rnd/misc_lab) -"bQe" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/sparker{dir = 4; id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bQf" = (/obj/structure/table/standard,/obj/item/device/assembly/igniter,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bQg" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bQh" = (/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/server) -"bQi" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; use_power = 1; power_setting = 20; set_temperature = 73},/obj/machinery/camera/network/research{c_tag = "SCI - Server Room"},/turf/simulated/floor/tiled/dark,/area/server) -"bQj" = (/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"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bQk" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bQl" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bQm" = (/obj/machinery/computer/general_air_control{frequency = 1430; name = "Mixing Chamber Monitor"; sensors = list("toxins_mixing_exterior" = "Mixing Chamber - Exterior", "toxins_mixing_interior" = "Mixing Chamber - Interior")},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bQn" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bQo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bQp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bQq" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/engineering/engine_waste) -"bQr" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/light/small,/turf/simulated/floor,/area/engineering/engine_waste) -"bQs" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engineering/engine_waste) -"bQt" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/turf/simulated/floor,/area/engineering/engine_waste) -"bQu" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_waste) -"bQv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_waste) -"bQw" = (/obj/machinery/drone_fabricator,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bQx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bQy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bQz" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) -"bQA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) -"bQB" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bQC" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bQD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bQE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bQF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bQG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bQH" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bQI" = (/obj/machinery/papershredder,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 6; name = "Chief Engineer RC"; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bQJ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bQK" = (/obj/structure/sign/directions/cryo{pixel_y = -10},/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/fore) -"bQL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bQM" = (/obj/machinery/disposal,/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/blue/border{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bQN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/status_display,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bQO" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bQP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bQQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bQR" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bQS" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/ai_status_display,/turf/simulated/floor,/area/engineering/break_room) -"bQT" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bQU" = (/turf/simulated/floor/carpet,/area/engineering/break_room) -"bQV" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bQW" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bQX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bQY" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bQZ" = (/turf/simulated/wall,/area/engineering/engi_restroom) -"bRa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Engineering Washroom"; req_one_access = list(10)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engi_restroom) -"bRb" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bRc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) -"bRd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/janitor) -"bRe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/storage/auxillary) -"bRf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bRg" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) -"bRh" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bRi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"bRj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bRk" = (/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/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) -"bRl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bRm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) -"bRn" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) -"bRo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) -"bRp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bRq" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/random/cigarettes,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tool,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/research) -"bRr" = (/obj/structure/table/standard,/obj/random/tool,/obj/random/tool,/obj/item/frame,/turf/simulated/floor/plating,/area/maintenance/research) -"bRs" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRt" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRu" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRv" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRy" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access = list(7)},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bRz" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/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 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bRA" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bRB" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bRC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29,47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRD" = (/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/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRE" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRF" = (/obj/effect/floor_decal/industrial/warning,/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/assembly/robotics) -"bRG" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRH" = (/obj/structure/table/standard,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/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/assembly/robotics) -"bRI" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/retractor,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/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/assembly/robotics) -"bRJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRK" = (/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRL" = (/obj/machinery/optable{name = "Robotics Operating Table"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRM" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table/reinforced,/obj/item/clothing/glasses/science,/obj/item/clothing/mask/gas,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bRN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bRO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bRP" = (/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/misc_lab) -"bRQ" = (/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bRR" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/server) -"bRS" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark,/area/server) -"bRT" = (/obj/machinery/computer/rdservercontrol,/obj/machinery/firealarm{pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/server) -"bRU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bRV" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bRW" = (/obj/structure/dispenser,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bRX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bRY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bSa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bSb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bSc" = (/obj/item/weapon/wrench,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bSd" = (/obj/machinery/pipedispenser,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bSe" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/structure/lattice,/turf/space,/area/space) -"bSf" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/r_wall,/area/engineering/engine_room) -"bSg" = (/turf/simulated/wall/r_wall,/area/engineering/engine_room) -"bSh" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor,/area/engineering/engine_room) -"bSi" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor,/area/engineering/engine_room) -"bSj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bSk" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/computer/cryopod/robot{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bSl" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bSm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bSn" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bSo" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bSp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bSq" = (/turf/simulated/floor/tiled,/area/engineering/workshop) -"bSr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/janitor) -"bSs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bSt" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bSu" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bSv" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bSw" = (/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bSx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bSy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bSz" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bSA" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bSB" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bSC" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/engineering/foyer) -"bSD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bSE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/break_room) -"bSF" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bSG" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bSH" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/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/carpet,/area/engineering/break_room) -"bSI" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bSJ" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bSK" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/camera/network/engineering{c_tag = "ENG - Break Room"; dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bSL" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/weapon/towel{color = "#FF8C00"; name = "orange towel"; pixel_x = -2; pixel_y = -4},/obj/item/weapon/towel{color = "#FF8C00"; name = "orange towel"; pixel_x = -2; pixel_y = -4},/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/item/weapon/towel{color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; pixel_y = 4},/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bSM" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bSN" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bSO" = (/obj/structure/undies_wardrobe,/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bSP" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor,/area/maintenance/engineering) -"bSQ" = (/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bSR" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bSS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"bST" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bSU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bSV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bSW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bSX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bSY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bSZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bTa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fscenter) -"bTb" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"bTc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTd" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) -"bTe" = (/obj/machinery/light,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTf" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTg" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTh" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTj" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bTk" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"bTl" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bTm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) -"bTn" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) -"bTo" = (/obj/machinery/r_n_d/protolathe,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) -"bTp" = (/turf/simulated/floor/tiled,/area/rnd/lab) -"bTq" = (/obj/machinery/r_n_d/destructive_analyzer,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) -"bTr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bTs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bTt" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bTu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/lab) -"bTv" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bTw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bTx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"bTy" = (/obj/structure/closet/wardrobe/robotics_black,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/flash,/obj/item/device/flash,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 9},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 9},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTA" = (/turf/simulated/floor/tiled,/area/assembly/robotics) -"bTB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) -"bTC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTD" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTE" = (/obj/effect/floor_decal/industrial/warning,/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/tiled/white,/area/assembly/robotics) -"bTF" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTG" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/hemostat,/obj/item/stack/cable_coil,/obj/item/weapon/weldingtool/hugetank,/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bTH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/closet/crate,/obj/item/weapon/wrench,/obj/item/weapon/crowbar/red,/obj/machinery/computer/security/telescreen{desc = "Used to monitor the proceedings inside the test chamber."; name = "Test Chamber Monitor"; network = list("Miscellaneous Reseach"); pixel_x = -32; pixel_y = -4},/obj/machinery/camera/network/research{c_tag = "SCI - Miscellaneous Research"; dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bTI" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bTJ" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bTK" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/door/window/westright{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/door/window/eastleft{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/rnd/misc_lab) -"bTL" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bTM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bTN" = (/obj/machinery/portable_atmospherics/canister,/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous Test Chamber"; dir = 8; network = list("Research","Miscellaneous Reseach")},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bTO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/tiled/dark,/area/server) -"bTP" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/dark,/area/server) -"bTQ" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/tiled/dark,/area/server) -"bTR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bTS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bTT" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/mixing) -"bTU" = (/turf/simulated/floor/tiled,/area/rnd/mixing) -"bTV" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bTW" = (/obj/machinery/portable_atmospherics/canister,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bTX" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/structure/lattice,/turf/space,/area/space) -"bTY" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) -"bTZ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) -"bUa" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/structure/grille,/turf/space,/area/space) -"bUb" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/structure/grille,/turf/space,/area/space) -"bUc" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/engine_room) -"bUd" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) -"bUe" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"bUf" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"bUg" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"bUh" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"bUi" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"bUj" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = null; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/engine_room) -"bUk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bUl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bUm" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bUn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Engineering Drone Fabrication"; req_one_access = list(11,24)},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/engineering/drone_fabrication) -"bUo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "Drone Fabrication"; sortType = "Drone Fabrication"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bUp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bUq" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bUr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bUs" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/frame{anchored = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bUt" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bUu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bUv" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bUw" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bUx" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bUy" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/item/weapon/stamp/ce,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bUz" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/supermatter_engine,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bUA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bUB" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/airlock/command{name = "Chief Engineer"; req_access = list(56)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/chief) -"bUC" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bUD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bUE" = (/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,/area/engineering/foyer) -"bUF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bUG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Break Room"; req_one_access = list(10)},/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/steel_grid,/area/engineering/break_room) -"bUH" = (/obj/effect/floor_decal/corner/white/diagonal,/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 = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bUI" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bUJ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bUK" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bUL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bUM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Engineering Washroom"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engi_restroom) -"bUN" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bUO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bUP" = (/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bUQ" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bUR" = (/obj/structure/curtain/open/shower/engineering,/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bUS" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bUT" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bUU" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/brflowers,/obj/machinery/light{dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bUV" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bUW" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bUX" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/central) -"bUY" = (/turf/simulated/wall,/area/maintenance/substation/central) -"bUZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Central Substation"; req_one_access = list(11,19,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"bVa" = (/turf/simulated/wall,/area/maintenance/central) -"bVb" = (/turf/simulated/wall/r_wall,/area/maintenance/central) -"bVc" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"bVd" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"bVe" = (/turf/simulated/wall/r_wall,/area/teleporter) -"bVf" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/teleporter) -"bVg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/teleporter) -"bVh" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/teleporter) -"bVi" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bVj" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bVk" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/research) -"bVl" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) -"bVm" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/rnd/lab) -"bVn" = (/obj/machinery/computer/rdconsole/core,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) -"bVo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bVp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/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"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/rnd/research) -"bVq" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bVr" = (/obj/machinery/mecha_part_fabricator,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/assembly/robotics) -"bVs" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/table/steel_reinforced,/obj/item/device/robotanalyzer,/obj/item/device/robotanalyzer,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/assembly/robotics) -"bVt" = (/obj/machinery/pros_fabricator,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/assembly/robotics) -"bVu" = (/obj/machinery/camera/network/research{c_tag = "SCI - Robotics"; dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bVv" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/techfloor,/area/assembly/robotics) -"bVw" = (/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/tiled/techfloor,/area/assembly/robotics) -"bVx" = (/turf/simulated/floor/tiled/techfloor,/area/assembly/robotics) -"bVy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"bVz" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bVA" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bVB" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bVC" = (/obj/effect/floor_decal/industrial/warning/cee,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/door/window/westleft{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/door/window/eastright{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/rnd/misc_lab) -"bVD" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bVE" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bVF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/server_room{pixel_x = -32},/turf/simulated/floor/plating,/area/server) -"bVG" = (/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/window/northright{name = "Server Room"; req_access = list(30)},/obj/machinery/door/window/southleft{name = "Server Room"; req_access = list(30)},/turf/simulated/floor/tiled/dark,/area/server) -"bVH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/server) -"bVI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"bVJ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bVK" = (/obj/machinery/atmospherics/omni/mixer{tag_east = 2; tag_east_con = null; tag_north = 1; tag_north_con = 0.5; tag_south = 0; tag_south_con = null; tag_west = 1; tag_west_con = 0.5; use_power = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bVL" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Lab 2"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bVM" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 6; tag_south = 0; tag_west = 1; use_power = 0},/turf/simulated/floor/tiled,/area/rnd/mixing) -"bVN" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bVO" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/rnd/mixing) -"bVP" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"bVQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"bVR" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutters"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) -"bVS" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"bVT" = (/obj/machinery/atmospherics/pipe/cap/visible{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor,/area/engineering/engine_room) -"bVU" = (/obj/machinery/atmospherics/pipe/cap/visible{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) -"bVV" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"bVW" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/engine_room) -"bVX" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 2; tag_south = 4; tag_west = 0; use_power = 0},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/atmo_filter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"bVY" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) -"bVZ" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 0; tag_north = 2; tag_south = 4; tag_west = 1; use_power = 0},/obj/effect/floor_decal/industrial/outline/blue,/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/obj/effect/engine_setup/atmo_filter,/turf/simulated/floor/plating,/area/engineering/engine_room) -"bWa" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bWb" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bWc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bWd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/engineering{c_tag = "ENG - Engineering Hallway 2"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bWe" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bWf" = (/obj/machinery/vending/tool,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bWg" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bWh" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar/red,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bWi" = (/obj/machinery/computer/station_alert/all,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bWj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bWk" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bWl" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/computer/skills,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bWm" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bWn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bWo" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bWp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bWq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bWr" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bWs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWt" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWu" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWv" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bWw" = (/obj/effect/landmark{name = "blobstart"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bWx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bWy" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bWz" = (/obj/structure/curtain/open/shower/engineering,/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bWA" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bWB" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bWC" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bWD" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bWE" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bWF" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"bWG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/central) -"bWH" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Central Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/central) -"bWI" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/central) -"bWJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/turf/simulated/floor/plating,/area/maintenance/central) -"bWK" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/teleporter) -"bWL" = (/turf/simulated/floor/tiled,/area/teleporter) -"bWM" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/teleporter) -"bWN" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/teleporter) -"bWO" = (/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/teleporter) -"bWP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bWQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) -"bWR" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bWS" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bWT" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bWU" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research) -"bWV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bWW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bWX" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bWY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bWZ" = (/obj/machinery/light{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bXa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bXb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bXc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bXd" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bXe" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bXf" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/assembly/robotics) -"bXg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bXh" = (/turf/simulated/wall,/area/assembly/chargebay) -"bXi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_research{name = "Mech Bay"; req_access = list(29)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"bXj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_research{name = "Mech Bay"; req_access = list(29)},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"bXk" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) -"bXl" = (/obj/structure/closet/bombcloset,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bXm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bXn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bXo" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/misc_lab) -"bXp" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bXq" = (/obj/machinery/alarm/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; icon_state = "map_vent_out"; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bXr" = (/turf/simulated/floor/tiled/dark,/area/server) -"bXs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bXt" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bXu" = (/turf/simulated/floor/airless,/area/medical/virology) -"bXv" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"bXw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) -"bXx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) -"bXy" = (/obj/machinery/atmospherics/pipe/cap/visible{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"bXz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"bXA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"bXB" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"bXC" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/turf/simulated/floor,/area/engineering/engine_room) -"bXD" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) -"bXE" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor,/area/engineering/engine_room) -"bXF" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bXG" = (/obj/machinery/cryopod/robot{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) -"bXH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bXI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bXJ" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bXK" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bXL" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bXM" = (/obj/machinery/vending/engivend,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) -"bXN" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/engineering/workshop) -"bXO" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/wrench,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bXP" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the engine room."; layer = 3.3; name = "Engine Monitor"; network = list("Engine"); pixel_x = 0; pixel_y = -34},/obj/machinery/computer/atmos_alert,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bXQ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bXR" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Chief Engineer's Office"; dir = 1},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -6; pixel_y = -44; specialfunctions = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = 6; pixel_y = -44},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -34; req_access = list(10)},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 6; pixel_y = -34; req_access = list(10)},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bXS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bXT" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) -"bXU" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) -"bXV" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/break_room) -"bXW" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bXX" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/glasses/square,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/light{dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bXY" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bXZ" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bYa" = (/obj/structure/table/rack{dir = 1},/obj/random/cigarettes,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/random/toolbox,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bYb" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bYc" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) -"bYd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bYe" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -26},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bYf" = (/obj/structure/disposalpipe/junction{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bYg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/substation/central) -"bYh" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 32; d2 = 4; icon_state = "32-4"},/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/structure/railing{dir = 4},/turf/simulated/open,/area/maintenance/substation/central) -"bYi" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Central Subgrid"; name_tag = "Central Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"bYj" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/central) -"bYk" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Central"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/maintenance/substation/central) -"bYl" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/central) -"bYm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/closet/emcloset,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/central) -"bYn" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"bYo" = (/obj/structure/table/standard,/obj/item/device/radio/beacon,/obj/item/device/radio/beacon,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/teleporter) -"bYp" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/teleporter) -"bYq" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/teleporter) -"bYr" = (/obj/machinery/bluespace_beacon,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/teleporter) -"bYs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/teleporter) -"bYt" = (/obj/structure/dispenser{phorontanks = 0},/turf/simulated/floor/tiled/dark,/area/teleporter) -"bYu" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bYv" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bYw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bYx" = (/obj/structure/flora/ausbushes/leafybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bYy" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bYz" = (/obj/structure/bed/chair/office/light,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bYA" = (/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bYB" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Scientist"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bYC" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/westleft{name = "Research and Development Desk"; req_access = list(7)},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bYD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bYE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bYF" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/beacon,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bYG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bYH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"bYI" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/eastleft,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bYJ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bYK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bYL" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bYM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/assembly/chargebay) -"bYN" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/cell_charger,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) -"bYO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"bYP" = (/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/techfloor,/area/assembly/chargebay) -"bYQ" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) -"bYR" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bYS" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bYT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) -"bYU" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/rnd/misc_lab) -"bYV" = (/obj/machinery/light,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bYW" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bYX" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) -"bYY" = (/obj/machinery/r_n_d/server/robotics,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bYZ" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/dark,/area/server) -"bZa" = (/obj/machinery/r_n_d/server/core,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) -"bZb" = (/turf/simulated/wall/r_wall,/area/rnd/workshop) -"bZc" = (/obj/machinery/computer/rdconsole/core,/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"bZd" = (/obj/structure/table/steel,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"bZe" = (/obj/structure/table/steel,/obj/item/weapon/storage/bag/circuits/basic,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"bZf" = (/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/wall,/area/rnd/workshop) -"bZg" = (/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"bZh" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"bZi" = (/obj/structure/table/glass,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"bZj" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) -"bZk" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/seconddeck/research_medical) -"bZl" = (/turf/simulated/wall/r_wall,/area/medical/virology) -"bZm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/virology) -"bZn" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 4},/obj/structure/grille,/turf/space,/area/space) -"bZo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"bZp" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"bZq" = (/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) -"bZr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bZs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"bZt" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZu" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZv" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZw" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/table/steel_reinforced,/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZx" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZy" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/newscaster{pixel_y = -30},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZz" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) -"bZA" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) -"bZB" = (/obj/machinery/button/remote/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = 0; pixel_y = -21},/obj/structure/window/basic{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/chief) -"bZC" = (/obj/structure/table/reinforced,/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/machinery/button/windowtint{id = "ceoffice"; pixel_x = -12; pixel_y = -24},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/chief) -"bZD" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce/equipped,/obj/machinery/door/window/northright{name = "Chief Engineer Suit Storage"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/chief) -"bZE" = (/obj/machinery/atm{pixel_x = -28; pixel_y = 0},/obj/structure/flora/pottedplant/subterranean,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bZF" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bZG" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"bZH" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bZI" = (/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bZJ" = (/obj/machinery/computer/station_alert,/obj/effect/floor_decal/corner/white/diagonal,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bZK" = (/obj/machinery/computer/security/engineering,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bZL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bZM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/atmospipes,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bZN" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/dice,/obj/item/weapon/deck/cards,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/break_room) -"bZO" = (/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/table/woodentable,/turf/simulated/floor/tiled,/area/engineering/break_room) -"bZP" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bZQ" = (/obj/machinery/recharge_station,/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) -"bZR" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 1},/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bZS" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning,/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bZT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bZU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Seven"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bZV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"bZW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bZX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"bZY" = (/obj/machinery/status_display{pixel_x = 32},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"bZZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall,/area/maintenance/substation/central) -"caa" = (/obj/structure/disposalpipe/up{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"cab" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"cac" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"cad" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"cae" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) -"caf" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/central) -"cag" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/central) -"cah" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/central) -"cai" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"caj" = (/obj/structure/table/standard,/obj/item/weapon/hand_tele,/turf/simulated/floor/tiled/dark,/area/teleporter) -"cak" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark,/area/teleporter) -"cal" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/dark,/area/teleporter) -"cam" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/teleporter) -"can" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/teleporter) -"cao" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/machinery/camera/network/command{c_tag = "COM - Teleporter"; dir = 8},/turf/simulated/floor/tiled/dark,/area/teleporter) -"cap" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/teleporter) -"caq" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"car" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"cas" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"cat" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Two"; dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"cau" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/research) -"cav" = (/obj/structure/closet/crate,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/turf/simulated/floor/plating,/area/maintenance/research) -"caw" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"cax" = (/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/lab) -"cay" = (/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/machinery/ai_status_display{pixel_y = -32},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/lab) -"caz" = (/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/scanning_module,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"caA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 9},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"caB" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"caC" = (/obj/machinery/camera/network/research{c_tag = "SCI - Research Foyer"; dir = 1},/obj/structure/disposalpipe/sortjunction{dir = 1; name = "Robotics"; sortType = "Robotics"},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"caD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"caE" = (/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/obj/effect/floor_decal/borderfloorwhite/corner2,/obj/effect/floor_decal/corner/purple/bordercorner2,/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"caF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/assembly/robotics) -"caG" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"caH" = (/obj/structure/table/standard,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"caI" = (/obj/structure/closet{name = "robotics parts"},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"caJ" = (/obj/structure/closet{name = "welding equipment"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"caK" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"caL" = (/obj/machinery/mech_recharger,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) -"caM" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"caN" = (/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"caO" = (/obj/machinery/mech_recharger,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) -"caP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(7,29)},/turf/simulated/floor/plating,/area/rnd/misc_lab) -"caQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"caR" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"caS" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"caT" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"caU" = (/obj/structure/table/steel,/obj/item/device/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/device/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"caV" = (/turf/simulated/wall,/area/rnd/workshop) -"caW" = (/obj/item/stack/tile/floor/white,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) -"caX" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"caY" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/lime/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) -"caZ" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cba" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/lime/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cbb" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cbc" = (/obj/structure/table/glass,/obj/item/roller,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cbd" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) -"cbe" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) -"cbf" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/structure/grille,/turf/space,/area/space) -"cbg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) -"cbh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/engine_room) -"cbi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/engine_room) -"cbj" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/power/apc/super/critical{dir = 4; is_critical = 1; name = "east bump"; pixel_x = 24; pixel_y = 0},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_room) -"cbk" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = 0; pixel_y = 24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"cbl" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 8; frequency = 1379; id = "engine_airlock_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = 0; pixel_y = 25},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"cbm" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_airlock) -"cbn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"cbo" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Access"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"cbp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cbq" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/apmaint) -"cbr" = (/turf/simulated/wall/r_wall,/area/engineering/foyer) -"cbs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Engineering Access"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) -"cbt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Engineering Access"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) -"cbu" = (/turf/simulated/wall/r_wall,/area/engineering/break_room) -"cbv" = (/turf/simulated/wall/r_wall,/area/engineering/engi_restroom) -"cbw" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/engineering) -"cbx" = (/obj/structure/lattice,/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/engineering) -"cby" = (/obj/structure/disposalpipe/broken{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cbz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cbA" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) -"cbB" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"cbC" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"cbD" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cbE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"cbF" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cbG" = (/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/plating,/area/maintenance/central) -"cbH" = (/turf/simulated/floor/plating,/area/maintenance/central) -"cbI" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cbJ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/teleporter) -"cbK" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/teleporter) -"cbL" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"cbM" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"cbN" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"cbO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"cbP" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/maintenance/research) -"cbQ" = (/turf/simulated/wall/r_wall,/area/rnd/research_foyer) -"cbR" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Research Access"},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) -"cbS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/rnd/research_foyer) -"cbT" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/recharge_station,/obj/machinery/button/remote/blast_door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 0; pixel_y = -26; req_access = list(29)},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) -"cbU" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"cbV" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/recharge_station,/obj/machinery/camera/network/research{c_tag = "SCI - Mech Bay"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) -"cbW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cbX" = (/turf/simulated/wall/r_wall,/area/maintenance/research_medical) -"cbY" = (/obj/structure/closet/crate,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cbZ" = (/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cca" = (/obj/item/stack/cable_coil,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"ccb" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/item/stack/cable_coil,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"ccc" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"ccd" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cce" = (/obj/structure/closet/crate,/obj/random/bomb_supply,/obj/random/bomb_supply,/obj/random/bomb_supply,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"ccf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"ccg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) -"cch" = (/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Aft"; dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) -"cci" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/rnd/workshop) -"ccj" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cck" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"ccl" = (/obj/structure/table/steel,/obj/item/device/electronic_assembly/large{pixel_y = 6},/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"ccm" = (/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) -"ccn" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/storage/backpack/satchel/vir,/obj/item/weapon/storage/backpack/virology,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) -"cco" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/medical/virology) -"ccp" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ccq" = (/turf/simulated/floor/tiled/white,/area/medical/virology) -"ccr" = (/obj/machinery/smartfridge/secure/virology,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ccs" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cct" = (/obj/structure/bed/padded,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ccu" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/lattice,/turf/space,/area/space) -"ccv" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"ccw" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"ccx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"ccy" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"ccz" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"ccA" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"ccB" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/engine_room) -"ccC" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 4; icon_state = "map"; tag = "icon-map (EAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/engine_room) -"ccD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(11)},/turf/simulated/floor,/area/engineering/engine_airlock) -"ccE" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ccF" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ccG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access = list(11)},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ccH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ccI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access = list(10)},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ccJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11)},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ccK" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"ccL" = (/obj/machinery/door/window/westleft{name = "Engineering Delivery"; req_access = list(10)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"ccM" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/machinery/navbeacon/delivery/west{location = "Engineering"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"ccN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ccO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ccP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ccQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ccR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ccS" = (/turf/simulated/wall,/area/maintenance/apmaint) -"ccT" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"ccU" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"ccV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"ccW" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"ccX" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) -"ccY" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) -"ccZ" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/engineering) -"cda" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cdb" = (/obj/structure/disposalpipe/broken{dir = 1},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) -"cdc" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"cdd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cde" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cdf" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"cdg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"cdh" = (/obj/structure/table/steel,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"cdi" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"cdj" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/central_emergency) -"cdk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cdl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/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/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cdm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cdn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cdo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cdp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Teleport Access"; req_access = list(17)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/teleporter) -"cdq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/teleporter) -"cdr" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/teleporter) -"cds" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/teleporter) -"cdt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cdu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) -"cdv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) -"cdw" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/research) -"cdx" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/research) -"cdy" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) -"cdz" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) -"cdA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/secure_area{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cdB" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cdC" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cdD" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/science{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cdE" = (/turf/simulated/wall,/area/maintenance/robotics) -"cdF" = (/turf/simulated/floor/plating,/area/maintenance/robotics) -"cdG" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cdH" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cdI" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cdJ" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cdK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mining Storage"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"cdL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) -"cdM" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdN" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdQ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdR" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cdT" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) -"cdU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"cdV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_research{name = "Workshop"; req_access = list(47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cdW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cdX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cdY" = (/obj/random/junk,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cdZ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cea" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ceb" = (/obj/structure/table/glass,/obj/item/device/antibody_scanner{pixel_x = 2; pixel_y = 2},/obj/item/device/antibody_scanner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cec" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/medical/virology) -"ced" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cee" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cef" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ceg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/medical/virology) -"ceh" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/medical/virology) -"cei" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"cej" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"cek" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Core 1"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"cel" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"cem" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) -"cen" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_room) -"ceo" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_x = 22; pixel_y = 0; req_access = list(10)},/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) -"cep" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11)},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) -"ceq" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) -"cer" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) -"ces" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cet" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"ceu" = (/turf/simulated/wall,/area/engineering/hallway/engineer_hallway) -"cev" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cew" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cex" = (/turf/simulated/wall/r_wall,/area/maintenance/apmaint) -"cey" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cez" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ceA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"ceB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"ceC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"ceD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"ceE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"ceF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) -"ceM" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) -"ceN" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"ceO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"ceP" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"ceQ" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/seconddeck/central_emergency) -"ceR" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"ceS" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"ceT" = (/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"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"ceU" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/teleporter) -"ceV" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/teleporter) -"ceW" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/simulated/floor/tiled,/area/teleporter) -"ceX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"ceY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"ceZ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"cfa" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"cfb" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"cfc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) -"cfd" = (/obj/structure/window/reinforced,/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/maintenance/research) -"cfe" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/research) -"cff" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) -"cfg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cfh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cfi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cfj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cfk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfl" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfm" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfn" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/robotics) -"cfr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cfs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cft" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/starboard) -"cfu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cfv" = (/obj/structure/closet/emcloset,/obj/random/maintenance/research,/turf/simulated/floor,/area/maintenance/research_medical) -"cfw" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) -"cfx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) -"cfy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) -"cfz" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cfA" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/machinery/camera/network/research{c_tag = "SCI - Workshop"; dir = 1},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cfB" = (/obj/structure/table/steel,/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind,/obj/random/maintenance/research,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) -"cfC" = (/obj/item/frame/light,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) -"cfD" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/medical,/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"cfE" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cfF" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cfG" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/warning/deathsposal{pixel_x = 32},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cfH" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/northright{name = "Virology Isolation Room"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cfI" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/blast/regular{dir = 8; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor,/area/engineering/engine_room) -"cfJ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/button/remote/blast_door{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) -"cfK" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) -"cfL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_room) -"cfM" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room) -"cfN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) -"cfO" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cfP" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/supermatter_engine,/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cfQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cfR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cfS" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cfT" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_monitoring) -"cfU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cfV" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cfW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cfX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cfY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cfZ" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cga" = (/turf/unsimulated/mask,/area/hallway/primary/seconddeck/port) -"cgb" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/port) -"cgc" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cgd" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cge" = (/obj/structure/sign/directions/medical{dir = 4},/obj/structure/sign/directions/security{dir = 4; pixel_y = 10},/turf/simulated/wall,/area/maintenance/apmaint) -"cgf" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/engineering/locker_room) -"cgg" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cgh" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cgi" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cgj" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cgk" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cgl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cgm" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/fpcenter) -"cgn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"cgo" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"cgp" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fpcenter) -"cgq" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) -"cgr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fpcenter) -"cgs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) -"cgt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fpcenter) -"cgu" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"cgv" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) -"cgw" = (/obj/machinery/door/firedoor/border_only,/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/plating,/area/maintenance/central) -"cgx" = (/turf/unsimulated/mask,/area/hallway/primary/seconddeck/apcenter) -"cgy" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cgz" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) -"cgA" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/tiled,/area/teleporter) -"cgB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/ascenter) -"cgC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) -"cgD" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) -"cgE" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) -"cgF" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/ascenter) -"cgG" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"cgH" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"cgI" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) -"cgJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) -"cgK" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cgL" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cgM" = (/obj/structure/sign/directions/cryo{pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fscenter) -"cgN" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cgO" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/turf/simulated/wall,/area/maintenance/robotics) -"cgP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cgQ" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cgR" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cgS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/sign/deck/second{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cgT" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/starboard) -"cgU" = (/turf/unsimulated/mask,/area/hallway/primary/seconddeck/starboard) -"cgV" = (/obj/machinery/door/airlock/research{name = "Research Access"; req_access = list(47)},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) -"cgW" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/rnd/workshop) -"cgX" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cgY" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cgZ" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cha" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) -"chb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) -"chc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"chd" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/hand_labeler,/obj/structure/reagent_dispensers/virusfood{pixel_x = 30},/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/lime/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) -"che" = (/obj/structure/sign/warning/vent_port{pixel_x = 32},/turf/space,/area/space) -"chf" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"chg" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"chh" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; pixel_y = 1; power_rating = 30000; use_power = 1; volume_rate = 700},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"chi" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/turf/simulated/floor,/area/engineering/engine_room) -"chj" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"chk" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"chl" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor,/area/engineering/engine_room) -"chm" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"chn" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor,/area/engineering/engine_room) -"cho" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) -"chp" = (/obj/machinery/computer/rcon,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"chq" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"chr" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"chs" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cht" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"chu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engine Monitoring Room"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engine_monitoring) -"chv" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"chw" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"chx" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"chy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"chz" = (/obj/structure/closet,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"chA" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/port) -"chB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chD" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chE" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chF" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chI" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chJ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chK" = (/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chL" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chM" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chN" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chO" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chP" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Two"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chQ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chR" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chS" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"chT" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/port) -"chU" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"chV" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"chW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"chX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"chY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"chZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cia" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cib" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cic" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) -"cid" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"cie" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"cif" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cig" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cih" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cii" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway One"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cij" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cik" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cil" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cim" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cin" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cio" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/starboard) -"cip" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cir" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cis" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cit" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"civ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/monotile,/area/crew_quarters/heads/sc/chief) -"cix" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciy" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciz" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciA" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciB" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciC" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciD" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciE" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Three"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciF" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciH" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ciJ" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/starboard) -"ciK" = (/obj/structure/ladder,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"ciL" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/seconddeck/research_medical) -"ciM" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Joint Hallway Access"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"ciN" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"ciO" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"ciP" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ciQ" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ciR" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ciS" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ciT" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ciU" = (/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/secure_area{pixel_y = 32},/obj/machinery/camera/network/medbay{c_tag = "MED - Joint Hallway"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"ciV" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/steel,/area/medical/virology) -"ciW" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/steel,/area/medical/virology) -"ciX" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -26; pixel_y = 0; req_access = list(5)},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Port"; dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ciY" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ciZ" = (/obj/machinery/disease2/isolator,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/lime/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cja" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Reactor Vent"; p_open = 0},/obj/machinery/shield_diffuser,/turf/simulated/floor/reinforced/airless,/area/engineering/engine_room) -"cjb" = (/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room) -"cjc" = (/obj/machinery/mass_driver{dir = 8; id = "enginecore"},/obj/machinery/power/supermatter{layer = 4},/obj/effect/engine_setup/core,/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room) -"cjd" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"cje" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/blast/regular{dir = 1; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor,/area/engineering/engine_room) -"cjf" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"cjg" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"cjh" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; id = "EngineEmitter"; state = 2},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/engineering/engine_room) -"cji" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"cjj" = (/obj/structure/cable/cyan{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/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/engineering/engine_room) -"cjk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) -"cjl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/power_monitor,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cjm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = -6; pixel_y = -3; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/button/remote/emitter{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; pixel_y = 2; req_access = list(10)},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cjn" = (/obj/structure/cable/cyan{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/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cjo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cjp" = (/obj/machinery/disposal,/obj/machinery/camera/network/engine{c_tag = "ENG - Monitoring Room"; dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cjq" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Engineering Hallway 3"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) -"cjr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cjs" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/port) -"cjt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cju" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Four"; dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cjv" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/port) -"cjw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cjx" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjz" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) -"cjA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cjE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cjF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cjG" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cjH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cjI" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) -"cjJ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/assembly/robotics) -"cjK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cjL" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/port) -"cjM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cjN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"cjP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cjQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"cjR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"cjS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"cjT" = (/obj/structure/bed/chair/shuttle,/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"cjU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cjV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cjW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/central) -"cjX" = (/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"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cjY" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cjZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cka" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/central) -"ckb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"ckc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"ckd" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"cke" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"ckf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"ckg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"ckh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cki" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"ckj" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/starboard) -"ckk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ckl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"ckm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"ckn" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/cryo{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/maintenance/apmaint) -"cko" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"ckp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"ckq" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"ckr" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cks" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"ckt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -"cku" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"ckv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ckw" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/starboard) -"ckx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Four"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cky" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"ckz" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/starboard) -"ckA" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"ckB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) -"ckC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/seconddeck/research_medical) -"ckD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/seconddeck/research_medical) -"ckE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/industrial/warning,/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,/area/hallway/secondary/seconddeck/research_medical) -"ckF" = (/obj/machinery/door/firedoor/border_only,/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/hallway/secondary/seconddeck/research_medical) -"ckG" = (/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/hallway/secondary/seconddeck/research_medical) -"ckH" = (/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/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ckI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ckJ" = (/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"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ckK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"ckL" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/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/hallway/secondary/seconddeck/research_medical) -"ckM" = (/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/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"ckN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/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/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = 24; req_access = list(39)},/turf/simulated/floor/tiled/steel_grid,/area/medical/virology) -"ckO" = (/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/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = -24; req_access = list(39)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/virology) -"ckR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckS" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckT" = (/obj/structure/table/glass,/obj/item/weapon/storage/lockbox/vials,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckU" = (/obj/structure/table/glass,/obj/item/weapon/storage/fancy/vials,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckV" = (/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckW" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckX" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckY" = (/obj/machinery/computer/centrifuge,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Starboard"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ckZ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/virology) -"cla" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Core 2"; dir = 1},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"clb" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 4; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) -"clc" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/turf/simulated/floor,/area/engineering/engine_room) -"cld" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"cle" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"clf" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor,/area/engineering/engine_room) -"clg" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"clh" = (/turf/simulated/floor,/area/engineering/engine_room) -"cli" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) -"clj" = (/obj/machinery/computer/security/engineering,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"clk" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cll" = (/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"clm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cln" = (/obj/structure/table/steel,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"clo" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) -"clp" = (/turf/simulated/floor/plating,/area/maintenance/apmaint) -"clq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"clr" = (/obj/structure/ladder,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cls" = (/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/industrial/danger{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/port) -"clt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clu" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clv" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clw" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clx" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cly" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clA" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Three"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clD" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clE" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clG" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clI" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"clM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/port) -"clN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway One"; dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"clV" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"clW" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"clX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"clY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"clZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cma" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cmb" = (/obj/machinery/space_heater,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cmc" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cmd" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"cme" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "shuttle1_pump"},/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"cmf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cml" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cmo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmq" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Two"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cms" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmy" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmz" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmA" = (/obj/effect/floor_decal/borderfloor,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmC" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cmD" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/starboard) -"cmE" = (/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/research_medical) -"cmF" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cmG" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"cmH" = (/obj/effect/floor_decal/industrial/hatch/yellow,/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/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"cmI" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"cmJ" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"cmK" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"cmL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"cmM" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"cmN" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) -"cmO" = (/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/biohazard{pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) -"cmP" = (/obj/structure/closet/l3closet/virology,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmQ" = (/obj/structure/closet/wardrobe/virology_white,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Airlock"; dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmR" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "virology_airlock_control"; name = "Virology Access Console"; pixel_x = -26; pixel_y = 0; tag_exterior_door = "virology_airlock_exterior"; tag_interior_door = "virology_airlock_interior"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmT" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmU" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmV" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmW" = (/obj/machinery/disease2/incubator,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/lime/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cmX" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -25; pixel_y = 6; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = -25; pixel_y = -6; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) -"cmY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_room) -"cmZ" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room) -"cna" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cnb" = (/obj/structure/table/reinforced,/obj/item/clothing/ears/earmuffs,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cnc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cnd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cne" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"cnf" = (/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) -"cng" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cnh" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cni" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cnj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cnk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cnl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/vending/coffee,/obj/structure/sign/deck/second{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cnm" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cnn" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/evac{dir = 4; pixel_y = -10},/obj/structure/sign/directions/cargo{dir = 2},/turf/simulated/wall,/area/maintenance/apmaint) -"cno" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cnp" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cnq" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cnr" = (/turf/simulated/wall,/area/maintenance/emergencyeva) -"cns" = (/turf/simulated/wall,/area/ai_monitored/storage/emergency/eva) -"cnt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Emergency EVA"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/emergency/eva) -"cnu" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Emergency EVA"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/emergency/eva) -"cnv" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/ai_monitored/storage/emergency/eva) -"cnw" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cnx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cny" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"cnz" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/port) -"cnA" = (/turf/simulated/wall,/area/maintenance/bar) -"cnB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) -"cnC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"cnD" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 2},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fpcenter) -"cnE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) -"cnF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/central) -"cnG" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/central) -"cnH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/rack,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/central) -"cnI" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) -"cnJ" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/machinery/door/airlock/maintenance{name = "HoP Maintenance Access"; req_one_access = list(57)},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) -"cnK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/ascenter) -"cnL" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) -"cnM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"cnN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/one) -"cnO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cnP" = (/turf/simulated/wall,/area/maintenance/medbay) -"cnQ" = (/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cnR" = (/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cnS" = (/turf/simulated/wall,/area/maintenance/medbay_fore) -"cnT" = (/obj/structure/sign/directions/bridge{dir = 8; pixel_y = 10},/obj/structure/sign/directions/evac{dir = 8; pixel_y = -10},/obj/structure/sign/directions/cargo{dir = 8},/turf/simulated/wall,/area/maintenance/medbay_fore) -"cnU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cnV" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cnW" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cnX" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cnY" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cnZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"coa" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/item/weapon/storage/bag/circuits/basic,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cob" = (/turf/simulated/wall/r_wall,/area/medical/medbay2) -"coc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Medical Access"; req_access = list(5)},/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/steel_grid,/area/medical/medbay2) -"cod" = (/obj/effect/floor_decal/industrial/loading,/obj/machinery/door/firedoor/border_only,/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/south{location = "Medbay"},/turf/simulated/floor/tiled,/area/medical/medbay2) -"coe" = (/turf/simulated/wall/r_wall,/area/medical/genetics) -"cof" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/medical/genetics) -"cog" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/research{name = "Genetics Lab"; req_one_access = list(5,47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/seconddeck/research_medical) -"coh" = (/obj/effect/decal/warning_stripes,/obj/machinery/atmospherics/tvalve/mirrored/bypass,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/medical/virology) -"coi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"coj" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cok" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/white,/area/medical/virology) -"col" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"com" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"con" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) -"coo" = (/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/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = 32},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/lime/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cop" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"coq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"cor" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Core 3"; dir = 2},/turf/simulated/floor,/area/engineering/engine_room) -"cos" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"cot" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"cou" = (/obj/machinery/atmospherics/binary/pump,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) -"cov" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"cow" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"cox" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"coy" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/engineering/engine_smes) -"coz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"coA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/tagger/partial{dir = 1; name = "Sorting Office"; sort_tag = "Sorting Office"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"coB" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"coC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"coD" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"coE" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"coF" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"coG" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"coH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"coI" = (/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"coJ" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"coK" = (/obj/machinery/light/small{dir = 1},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"coL" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"coM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"coN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/ai_monitored/storage/emergency/eva) -"coO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"coP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"coQ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"coR" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"coS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/seconddeck/port) -"coT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/medical/first_aid_station/seconddeck/port) -"coU" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/port) -"coV" = (/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"coW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"coX" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/apcenter) -"coY" = (/obj/structure/flora/ausbushes/pointybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"coZ" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cpa" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cpb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cpc" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cpd" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/plushie,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/central) -"cpe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/central) -"cpf" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/stairwell) -"cpg" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/stairwell) -"cph" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/apcenter) -"cpi" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/apcenter) -"cpj" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/apcenter) -"cpk" = (/obj/machinery/computer/skills,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 8; pixel_y = 28},/obj/machinery/button/windowtint{id = "hop_office"; pixel_x = 0; pixel_y = 29},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cpl" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cpm" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cpn" = (/obj/machinery/account_database,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"cpo" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"cpp" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cpq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cpr" = (/obj/machinery/seed_storage/garden,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cps" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cpt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cpu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cpv" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cpw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cpx" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cpy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpB" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpC" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpD" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpG" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpH" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cpK" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cpL" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cpM" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cpN" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) -"cpO" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"cpP" = (/turf/simulated/wall,/area/maintenance/research_medical) -"cpQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cpR" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"cpS" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cpT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southright{name = "Medical Delivery"; req_access = list(5)},/turf/simulated/floor/tiled,/area/medical/medbay2) -"cpU" = (/turf/simulated/wall,/area/medical/genetics) -"cpV" = (/obj/random/contraband,/turf/simulated/floor/plating,/area/medical/genetics) -"cpW" = (/obj/item/frame,/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cpX" = (/obj/structure/frame{anchored = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cpY" = (/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cpZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cqa" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/frame/apc,/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cqb" = (/obj/structure/table,/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cqc" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/steel,/area/medical/genetics) -"cqd" = (/turf/simulated/floor/plating,/area/medical/genetics) -"cqe" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cqf" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/virusdish/random,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cqg" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/southright{dir = 2; name = "Virology Isolation Room"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cqh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) -"cqi" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"cqj" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) -"cqk" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) -"cql" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor,/area/engineering/engine_room) -"cqm" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine_room) -"cqn" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) -"cqo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "SMES Access"; req_access = list(10)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_smes) -"cqp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = 26; req_access = list(10); specialfunctions = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"cqq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"cqr" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"cqs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"cqt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"cqu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/apmaint) -"cqv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/apmaint) -"cqw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/apmaint) -"cqx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/sortjunction/wildcard{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqD" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqE" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cqF" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"cqG" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/bag/ore,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"cqH" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"cqI" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"cqJ" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"cqK" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) -"cqL" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cqM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"cqN" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"cqO" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cqP" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"cqQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"cqR" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"cqS" = (/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cqT" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cqU" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cqV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cqW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cqX" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/central) -"cqY" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/central) -"cqZ" = (/obj/machinery/lapvend,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"cra" = (/obj/structure/table/glass,/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/recharger{pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Stair Access"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"crb" = (/obj/structure/table/glass,/obj/random/cigarettes,/obj/random/toolbox,/obj/random/tech_supply,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"crc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/stairwell) -"crd" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cre" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Head of Personnel's Desk"; req_access = list(57)},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hop) -"crf" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"crg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"crh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cri" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"crj" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/computer/guestpass{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"crk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"crl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"crm" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"crn" = (/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cro" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"crp" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/medbay) -"crq" = (/turf/simulated/floor/plating,/area/maintenance/medbay) -"crr" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"crs" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"crt" = (/obj/machinery/floodlight,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cru" = (/obj/machinery/space_heater,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crv" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crw" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crx" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cry" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crA" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crB" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crC" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crD" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"crE" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"crF" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"crG" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"crH" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"crI" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"crJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research_medical) -"crK" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"crL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"crM" = (/obj/item/stack/tile/floor/white,/turf/simulated/floor/plating,/area/medical/genetics) -"crN" = (/obj/item/weapon/camera_assembly,/turf/simulated/floor/tiled/white,/area/medical/genetics) -"crO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"crP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"crQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"crR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"crS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics) -"crT" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/genetics) -"crU" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/medical/virology) -"crV" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"crW" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) -"crX" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"crY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"crZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/virology) -"csa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"csb" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) -"csc" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"csd" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"cse" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"csf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor,/area/engineering/engine_room) -"csg" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/engine_room) -"csh" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/alarm/nobreach{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_room) -"csi" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/effect/engine_setup/smes,/turf/simulated/floor/plating,/area/engineering/engine_smes) -"csj" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/table/steel,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"csk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table/steel,/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/machinery/camera/network/engine{c_tag = "ENG - SMES Room"; dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"csl" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/engine_smes) -"csm" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 750000; output_level = 750000; RCon_tag = "Engine - Main"},/obj/effect/engine_setup/smes/main,/turf/simulated/floor/plating,/area/engineering/engine_smes) -"csn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/apmaint) -"cso" = (/turf/simulated/wall,/area/construction/seconddeck/construction1) -"csp" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/construction/seconddeck/construction1) -"csq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"csr" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"css" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cst" = (/turf/simulated/wall,/area/quartermaster/delivery) -"csu" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/delivery) -"csv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Delivery Office Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/delivery) -"csw" = (/turf/simulated/wall,/area/quartermaster/foyer) -"csx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Cargo Access"},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/foyer) -"csy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/foyer) -"csz" = (/turf/simulated/wall,/area/quartermaster/qm) -"csA" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/quartermaster/qm) -"csB" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/obj/machinery/door/window/eastright,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"csC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"csD" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"csE" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"csF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"csG" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"csH" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"csI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/apcenter) -"csJ" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"csK" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"csL" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"csM" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"csN" = (/obj/machinery/atmospherics/valve/digital/open,/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/central) -"csO" = (/obj/machinery/atmospherics/valve/digital/open,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/central) -"csP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/stairwell) -"csQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"csR" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"csS" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"csT" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"csU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"csV" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Elevator Access"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"csW" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "hop_office"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) -"csX" = (/obj/machinery/computer/card,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"csY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"csZ" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cta" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/hop,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"ctb" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/pen/multi,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"ctc" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"ctd" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cte" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"ctf" = (/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"ctg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cth" = (/turf/simulated/wall/r_wall,/area/medical/medbay_emt_bay) -"cti" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) -"ctj" = (/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) -"ctk" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/machinery/vending/medical,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"ctl" = (/turf/simulated/wall/r_wall,/area/medical/reception) -"ctm" = (/turf/simulated/wall,/area/medical/reception) -"ctn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/medical/reception) -"cto" = (/turf/simulated/wall/r_wall,/area/medical/foyer) -"ctp" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"ctq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/foyer) -"ctr" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cts" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) -"ctt" = (/turf/simulated/wall/r_wall,/area/medical/medbay_primary_storage) -"ctu" = (/turf/simulated/wall/r_wall,/area/medical/biostorage) -"ctv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"ctw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"ctx" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/genetics) -"cty" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/medical/genetics) -"ctz" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ctA" = (/obj/machinery/computer/diseasesplicer,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) -"ctB" = (/obj/machinery/power/generator{anchored = 1; dir = 2},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"ctC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) -"ctD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) -"ctE" = (/obj/machinery/power/generator{anchored = 1; dir = 2},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"ctF" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_room) -"ctG" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"ctH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ctI" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"ctJ" = (/obj/structure/disposalpipe/segment,/obj/item/stack/tile/floor,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"ctK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) -"ctL" = (/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) -"ctM" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ctN" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ctO" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ctP" = (/obj/machinery/disposal/deliveryChute,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/delivery) -"ctQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"ctR" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"ctS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"ctT" = (/obj/structure/bed/chair,/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"ctU" = (/obj/structure/bed/chair,/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"ctV" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"ctW" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/one) -"ctX" = (/obj/structure/bed/chair,/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"ctY" = (/obj/structure/bed/chair,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"ctZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "quart_tint"},/turf/simulated/floor/plating,/area/quartermaster/qm) -"cua" = (/obj/structure/filingcabinet,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cub" = (/obj/machinery/computer/supplycomp,/obj/machinery/status_display/supply_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cuc" = (/obj/machinery/computer/security/mining,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cud" = (/obj/structure/table/standard,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cue" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cuf" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"cug" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) -"cuh" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cui" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"cuj" = (/obj/machinery/sleep_console,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"cuk" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Port"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) -"cul" = (/obj/structure/reagent_dispensers/fueltank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cum" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Six"; dir = 4},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cun" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cuo" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cup" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cuq" = (/obj/structure/disposalpipe/segment,/obj/machinery/ai_status_display{pixel_x = 32},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cur" = (/obj/structure/table/rack,/obj/random/powercell,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tank,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cus" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/effect/decal/cleanable/dirt,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cut" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"cuu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"cuv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"cuw" = (/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,/area/hallway/primary/seconddeck/stairwell) -"cux" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cuy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cuz" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cuA" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hop_office"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) -"cuB" = (/obj/structure/closet/secure_closet/hop,/obj/item/device/megaphone,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cuC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cuD" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"cuE" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"cuF" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) -"cuG" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cuH" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cuI" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cuJ" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Three"; dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cuK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/three) -"cuL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cuM" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 8},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cuN" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 6},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cuO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/device/suit_cooling_unit,/obj/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cuP" = (/turf/simulated/wall/r_wall,/area/medical/exam_room) -"cuQ" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cuR" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cuS" = (/obj/structure/bed/chair,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/landmark/start{name = "Medical Doctor"},/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/reception) -"cuT" = (/obj/structure/bed/chair,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/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/reception) -"cuU" = (/obj/structure/noticeboard{pixel_y = 28},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cuV" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cuW" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cuX" = (/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/structure/table/glass,/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cuY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cuZ" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hangar/three) -"cva" = (/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cvb" = (/obj/structure/bed/chair{dir = 8},/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/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cvc" = (/obj/structure/sign/chemistry{icon_state = "chemistry2"; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "chemwindow"; name = "Chemistry Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/chemistry) -"cvd" = (/obj/machinery/chemical_dispenser/full,/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/beige/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cve" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/beige/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cvf" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/beige/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cvg" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/beige/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cvh" = (/obj/machinery/chemical_dispenser/full,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/beige/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cvi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) -"cvj" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/adv,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cvk" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cvl" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cvm" = (/turf/simulated/wall,/area/medical/medbay_primary_storage) -"cvn" = (/obj/structure/bedsheetbin,/obj/structure/table/steel,/obj/random/firstaid,/obj/random/firstaid,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cvo" = (/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/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cvp" = (/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) -"cvq" = (/turf/simulated/wall,/area/medical/biostorage) -"cvr" = (/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cvs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cvt" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/medical/genetics) -"cvu" = (/obj/item/frame/light,/turf/simulated/floor/plating,/area/medical/genetics) -"cvv" = (/obj/random/tech_supply,/turf/simulated/floor/plating,/area/medical/genetics) -"cvw" = (/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/genetics) -"cvx" = (/turf/simulated/floor/tiled/steel,/area/medical/genetics) -"cvy" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/lime/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cvz" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/white,/area/medical/virology) -"cvA" = (/obj/machinery/disease2/diseaseanalyser,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/lime/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cvB" = (/obj/structure/table/glass,/obj/item/roller,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/medical/virology) -"cvC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport2"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) -"cvD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/engine_room) -"cvE" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"cvF" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) -"cvG" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"cvH" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) -"cvI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/engineering/engine_room) -"cvJ" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cvK" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cvL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cvM" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"cvN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"cvO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) -"cvP" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/random/maintenance/clean,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) -"cvQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cvR" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cvS" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cvT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cvU" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cvV" = (/obj/structure/table/reinforced,/obj/machinery/door/window/westright{name = "Mailing Room"; req_access = list(50)},/obj/machinery/door/firedoor/glass,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cvW" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cvX" = (/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cvY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cvZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cwa" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cwb" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cwc" = (/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cwd" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/remote/blast_door{id = "crglockdown"; name = "Cargo Lockdown"; pixel_x = -24; pixel_y = -26; req_access = list()},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cwe" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/retail_scanner/civilian{tag = "icon-retail_idle (NORTH)"; icon_state = "retail_idle"; dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cwf" = (/obj/machinery/status_display,/turf/simulated/wall,/area/quartermaster/qm) -"cwg" = (/obj/structure/table/reinforced,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cwh" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/machinery/camera/network/civilian{c_tag = "CIV - Emergency EVA"; dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cwi" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) -"cwj" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cwk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cwl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cwm" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cwn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cwo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cwp" = (/obj/structure/railing{dir = 4},/turf/simulated/open,/area/hallway/primary/seconddeck/stairwell) -"cwq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"cwr" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/stairwell) -"cws" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cwt" = (/obj/structure/cable{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/monotile,/area/hallway/primary/seconddeck/port) -"cwu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cwv" = (/obj/effect/wingrille_spawn/reinforced/polarized{id = "hop_office"},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) -"cww" = (/obj/machinery/photocopier,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cwx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cwy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cwz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"cwA" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -30},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) -"cwB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cwC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cwD" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cwE" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cwF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/flora/pottedplant/tall,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/port) -"cwG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cwH" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cwI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cwJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/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/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cwK" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area/medical/medbay_emt_bay) -"cwL" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/pink/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cwM" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cwN" = (/obj/structure/table/glass,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/storage/box/rxglasses,/obj/random/medical,/obj/random/firstaid,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cwO" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwP" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwQ" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwR" = (/obj/structure/table/glass,/obj/item/weapon/deck/cards,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwS" = (/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/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwT" = (/obj/structure/bed/chair/office/light{dir = 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},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwU" = (/obj/structure/table/reinforced,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/obj/machinery/door/window/eastleft{name = "Medical Reception"; req_access = list(5)},/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/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cwV" = (/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/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cwW" = (/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/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cwX" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cwY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cwZ" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Foyer"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cxa" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "chemwindow"; name = "Chemistry Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/chemistry) -"cxb" = (/obj/machinery/chem_master,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cxc" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cxd" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cxe" = (/obj/machinery/chem_master,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/beige/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cxf" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cxg" = (/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cxh" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cxi" = (/obj/structure/closet/l3closet/medical,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cxj" = (/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cxk" = (/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,/obj/structure/closet/crate{name = "Grenade Crate"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cxl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cxm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cxn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) -"cxo" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) -"cxp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport2"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/engine_room) -"cxq" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport2"; name = "Engine Radiator Viewport Shutters"; pixel_x = 0; pixel_y = -25; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) -"cxr" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) -"cxs" = (/obj/machinery/atmospherics/binary/pump/high_power{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) -"cxt" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"cxu" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"cxv" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cxw" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor/plating,/area/engineering/engine_room) -"cxx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/apmaint) -"cxy" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/port_emergency) -"cxz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"cxA" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"cxB" = (/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"cxC" = (/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) -"cxD" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cxE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cxF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cxG" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/random/junk,/obj/random/junk,/obj/random/junk,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cxH" = (/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cxI" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cxJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cxK" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cxL" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cxM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cxN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cxO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/status_display/supply_display{pixel_x = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cxP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cxQ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/qm,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cxR" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cxS" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/device/megaphone,/obj/machinery/camera/network/cargo{c_tag = "CRG - Quartermaster Office"; dir = 8; name = "security camera"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cxT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/ai_monitored/storage/emergency/eva) -"cxU" = (/turf/simulated/floor,/area/maintenance/bar) -"cxV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) -"cxW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cxX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cxY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cxZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) -"cya" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"cyb" = (/obj/structure/stairs,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/stairwell) -"cyc" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cyd" = (/obj/machinery/papershredder,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cye" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cyf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/command{c_tag = "COM - HoP's Office"; dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) -"cyg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hop) -"cyh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cyi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) -"cyj" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cyk" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cyl" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cym" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cyn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/flora/pottedplant/shoot,/turf/simulated/floor/tiled/dark,/area/hallway/primary/starboard) -"cyo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cyp" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cyq" = (/obj/structure/table/steel,/obj/item/device/multitool,/obj/item/weapon/deck/cards,/obj/machinery/camera/network/medbay{c_tag = "MED - EMT Bay"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cyr" = (/turf/simulated/wall,/area/medical/medbay_emt_bay) -"cys" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/obj/structure/closet/secure_closet/medical_wall/pills{pixel_x = -32},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cyt" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cyu" = (/obj/structure/bed/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "MED - Examination Room"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cyv" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cyw" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/random/medical,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cyx" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cyy" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cyz" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/medical/reception) -"cyA" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/table/reinforced,/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/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Quarantine Shutters Control"; pixel_x = -4; pixel_y = -4; req_access = list(5)},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cyB" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cyC" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cyD" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cyE" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cyF" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cyG" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/westright{name = "Chemistry Desk"},/obj/machinery/door/window/eastright{name = "Chemistry Desk"; req_access = list(33)},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cyH" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cyI" = (/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cyJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cyK" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cyL" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cyM" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cyN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cyO" = (/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/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/regular,/obj/random/medical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cyP" = (/obj/structure/closet/l3closet/medical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cyQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cyR" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/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/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cyS" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cyT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cyU" = (/turf/simulated/wall,/area/medical/medbay2) -"cyV" = (/obj/machinery/vending/fitness,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) -"cyW" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) -"cyX" = (/turf/simulated/wall,/area/medical/medical_restroom) -"cyY" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cyZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cza" = (/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"czb" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"czc" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"czd" = (/turf/simulated/wall/r_wall,/area/medical/medical_restroom) -"cze" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/medical/virology) -"czf" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/airless,/area/medical/virology) -"czg" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) -"czh" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) -"czi" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/engine_room) -"czj" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) -"czk" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor/plating,/area/engineering/engine_room) -"czl" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"czm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"czn" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"czo" = (/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"czp" = (/obj/item/stack/tile/floor,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"czq" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) -"czr" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"czs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"czt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"czu" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/delivery) -"czv" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"czw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"czx" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"czy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/delivery) -"czz" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"czA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"czB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"czC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"czD" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"czE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/mining{name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/qm) -"czF" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"czG" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"czH" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"czI" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"czJ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/bar) -"czK" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) -"czL" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) -"czM" = (/turf/simulated/floor/plating,/area/maintenance/bar) -"czN" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/bar) -"czO" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/maintenance/bar) -"czP" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/bar) -"czQ" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/machinery/light{dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"czR" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"czS" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"czT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/central) -"czU" = (/obj/structure/sign/deck/second,/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/stairwell) -"czV" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"czW" = (/obj/structure/cable{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/monotile,/area/hallway/primary/seconddeck/fpcenter) -"czX" = (/obj/structure/sign/directions/evac{dir = 2; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/apcenter) -"czY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = list(57)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hop) -"czZ" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) -"cAa" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cAb" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cAc" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cAd" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/closet/fireaxecabinet{pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/light{dir = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cAe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cAf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cAg" = (/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,/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cAh" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cAi" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cAj" = (/obj/machinery/vending/wallmed1{pixel_x = 25},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cAk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cAl" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cAm" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cAn" = (/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/effect/floor_decal/corner/paleblue{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cAo" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cAp" = (/obj/structure/table/reinforced,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/obj/machinery/door/window/eastright{base_state = "right"; dir = 4; icon_state = "right"; name = "Medical Reception"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cAq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cAr" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cAs" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cAt" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cAu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/table/glass,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/screwdriver,/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = 6; pixel_y = -18; pixel_z = 0},/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_x = -6; pixel_y = -18},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cAv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cAw" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cAy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/beige/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cAz" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cAA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cAB" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/medbay{c_tag = "MED - Equipment Storage"; dir = 8},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cAC" = (/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/structure/table/steel,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cAD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cAE" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cAF" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Starboard 2"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cAG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/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,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cAH" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cAI" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cAJ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cAK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cAL" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cAM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor,/area/maintenance/apmaint) -"cAN" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"cAO" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"cAP" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/powercell,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"cAQ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) -"cAR" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) -"cAS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) -"cAT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/construction/seconddeck/construction1) -"cAU" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cAV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cAW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cAX" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cAY" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cAZ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cBa" = (/obj/structure/table/steel,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cBb" = (/obj/machinery/computer/ordercomp,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cBc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cBd" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cBe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cBf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cBg" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/flora/pottedplant/fern,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"cBh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cBi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cBj" = (/obj/structure/closet/secure_closet/quartermaster,/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cBk" = (/obj/structure/closet/crate,/obj/item/clothing/gloves/boxing/green,/obj/item/clothing/gloves/boxing,/turf/simulated/floor/plating,/area/maintenance/bar) -"cBl" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table/steel,/obj/random/medical,/obj/random/medical/lite,/obj/random/medical/lite,/turf/simulated/floor/plating,/area/maintenance/bar) -"cBm" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cBn" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cBo" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBp" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/steel,/area/hangar/two) -"cBq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cBw" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/apcenter) -"cBx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/steel,/area/hangar/two) -"cBy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "shuttle2_pump"},/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"cBz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBA" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "HoP Office"; sortType = "HoP Office"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBF" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"cBG" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cBH" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cBI" = (/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/medical,/obj/random/medical,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cBJ" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cBK" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cBL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) -"cBM" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/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/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"cBN" = (/obj/structure/closet/secure_closet/medical1,/obj/random/medical,/obj/random/medical,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cBO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cBP" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "exam_window_tint"; pixel_x = 36; pixel_y = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) -"cBQ" = (/obj/structure/table/glass,/obj/machinery/recharger{pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Break Area"; dir = 4},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/reception) -"cBR" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cBS" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cBT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cBU" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/reception) -"cBV" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cBW" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cBX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cBY" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cBZ" = (/obj/structure/table/glass,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cCa" = (/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/chemistry) -"cCb" = (/obj/structure/closet/secure_closet/chemical,/obj/item/weapon/storage/box/pillbottles,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/beige/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cCc" = (/obj/structure/bed/chair/wheelchair,/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cCd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cCe" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cCf" = (/obj/structure/table/steel,/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/obj/random/medical,/obj/random/medical,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cCg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cCh" = (/obj/structure/bed/chair/wheelchair,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cCi" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cCj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cCk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cCl" = (/obj/machinery/hologram/holopad,/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/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cCm" = (/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/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cCn" = (/obj/machinery/door/firedoor,/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/airlock{name = "Medical Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_restroom) -"cCo" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cCp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cCq" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cCr" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cCs" = (/turf/simulated/wall/r_wall,/area/maintenance/disposal) -"cCt" = (/obj/machinery/conveyor{dir = 10; id = "garbage"},/turf/simulated/floor,/area/maintenance/disposal) -"cCu" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/random/junk,/turf/simulated/floor,/area/maintenance/disposal) -"cCv" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/maintenance/disposal) -"cCw" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/turf/simulated/floor,/area/maintenance/disposal) -"cCx" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/maintenance/disposal) -"cCy" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/disposal) -"cCz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/closet/emcloset,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) -"cCA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/cargo) -"cCB" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/cargo) -"cCC" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"cCD" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"cCE" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) -"cCF" = (/turf/simulated/wall,/area/quartermaster/warehouse) -"cCG" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/warehouse) -"cCH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Cargo Bay Warehouse Maintenance"; req_access = list(31)},/turf/simulated/floor/plating,/area/quartermaster/warehouse) -"cCI" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cCJ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cCK" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 30; pixel_y = -1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"cCL" = (/turf/simulated/wall,/area/quartermaster/office) -"cCM" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/southleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_x = -32},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cCN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office) -"cCO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) -"cCP" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) -"cCQ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "quart_tint"; pixel_x = -36; pixel_y = 6},/obj/structure/flora/pottedplant/tropical,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cCR" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cCS" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cCT" = (/obj/structure/closet,/obj/item/weapon/storage/backpack/dufflebag,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/qm) -"cCU" = (/turf/simulated/wall,/area/quartermaster/lockerroom) -"cCV" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/lockerroom) -"cCW" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cCX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cCY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) -"cCZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"cDa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"cDb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cDc" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/apcenter) -"cDd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cDe" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) -"cDf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cDg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cDh" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"cDi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"cDj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cDk" = (/obj/structure/cable{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/monotile,/area/hallway/primary/seconddeck/starboard) -"cDl" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cDm" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/medbay) -"cDn" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) -"cDo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) -"cDp" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/medbay_emt_bay) -"cDq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "exam_window_tint"},/turf/simulated/floor/plating,/area/medical/exam_room) -"cDr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Examination Room"; req_access = list(5)},/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/tiled/steel_grid,/area/medical/exam_room) -"cDs" = (/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDt" = (/obj/structure/filingcabinet/chestdrawer{name = "Medical Forms"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDu" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDv" = (/obj/machinery/papershredder,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDw" = (/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/effect/floor_decal/corner/paleblue{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDx" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDy" = (/obj/machinery/door/window/eastright{base_state = "right"; dir = 4; icon_state = "right"; name = "Medical Reception"; req_access = list(5)},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/reception) -"cDz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/effect/floor_decal/corner_steel_grid,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cDA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cDB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/light,/obj/effect/landmark{name = "lightsout"},/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cDC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cDD" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/corner_steel_grid{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) -"cDE" = (/obj/machinery/reagentgrinder,/obj/structure/table/glass,/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/beige/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cDF" = (/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/structure/table/glass,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/beige/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cDG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cDH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/medbay{c_tag = "MED - Chemistry"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/beige/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cDI" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/item/device/radio/headset/headset_med,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/storage/box/pillbottles,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/beige/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) -"cDJ" = (/obj/machinery/vending/medical,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cDK" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cDL" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"cDM" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cDN" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cDO" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"cDP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cDQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cDR" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cDS" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cDT" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cDU" = (/obj/structure/table/glass,/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/soap/nanotrasen,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cDW" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/obj/structure/window/basic{dir = 1},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cDX" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/sign/warning/vacuum{pixel_x = -32},/turf/simulated/floor,/area/maintenance/disposal) -"cDY" = (/obj/structure/sign/warning/moving_parts,/turf/simulated/wall,/area/maintenance/disposal) -"cDZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/disposal) -"cEa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/turf/simulated/floor,/area/maintenance/disposal) -"cEb" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/maintenance/cargo) -"cEc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/cargo) -"cEd" = (/obj/structure/closet/crate,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/cargo) -"cEe" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cEf" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/structure/table/rack{dir = 8; layer = 2.9},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) -"cEg" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) -"cEh" = (/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) -"cEi" = (/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/obj/effect/decal/cleanable/cobweb,/obj/structure/closet/crate,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) -"cEj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) -"cEk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) -"cEl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/quartermaster/delivery) -"cEm" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/delivery) -"cEn" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/delivery) -"cEo" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/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/steel_grid,/area/quartermaster/delivery) -"cEp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/delivery) -"cEq" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen,/obj/item/device/retail_scanner/civilian{tag = "icon-retail_idle (NORTH)"; icon_state = "retail_idle"; dir = 1},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEr" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEs" = (/obj/machinery/computer/supplycomp,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEt" = (/obj/structure/filingcabinet/filingcabinet,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEw" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cEx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/mining{name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/qm) -"cEy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "quart_tint"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/qm) -"cEz" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cEA" = (/obj/structure/railing,/turf/simulated/open,/area/quartermaster/lockerroom) -"cEB" = (/obj/structure/railing,/obj/structure/railing{dir = 4},/turf/simulated/open,/area/quartermaster/lockerroom) -"cEC" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) -"cED" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/bar) -"cEE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cEF" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEH" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEI" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEJ" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/apcenter) -"cEL" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEM" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cEN" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cEO" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cEP" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cEQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cER" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"cES" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cET" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cEU" = (/turf/simulated/wall/r_wall,/area/medical/medbay) -"cEV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cEW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cEX" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cEY" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cEZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cFa" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cFb" = (/obj/structure/sign/examroom{pixel_x = 32; pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cFc" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/reception) -"cFd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/reception) -"cFe" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_medical{name = "Medical Reception"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/medical/reception) -"cFf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/foyer) -"cFg" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/foyer) -"cFh" = (/obj/machinery/door/firedoor/glass,/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"},/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/chemistry) -"cFi" = (/obj/machinery/smartfridge/secure/medbay{req_one_access = list(33,66)},/turf/simulated/wall/r_wall,/area/medical/chemistry) -"cFj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) -"cFk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_primary_storage) -"cFl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) -"cFm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Secondary Storage"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/biostorage) -"cFn" = (/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cFo" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cFp" = (/obj/structure/undies_wardrobe,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cFq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cFr" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) -"cFs" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/disposal) -"cFt" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/maintenance/disposal) -"cFu" = (/turf/simulated/floor,/area/maintenance/disposal) -"cFv" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/maintenance/disposal) -"cFw" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/cargo) -"cFx" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; target_pressure = 200},/turf/simulated/floor,/area/maintenance/cargo) -"cFy" = (/turf/simulated/floor,/area/maintenance/cargo) -"cFz" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cFA" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cFB" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cFC" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cFD" = (/turf/simulated/wall,/area/maintenance/cargo) -"cFE" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/effect/floor_decal/corner/brown/full{dir = 8},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) -"cFF" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) -"cFG" = (/obj/structure/disposalpipe/tagger/partial{dir = 1; name = "Sorting Office"; sort_tag = "Sorting Office"},/obj/structure/closet/crate,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cFH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) -"cFI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) -"cFJ" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) -"cFK" = (/obj/machinery/button/remote/blast_door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = 26; pixel_y = 0; req_access = list(31)},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cFL" = (/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"},/obj/machinery/button/remote/blast_door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -26; pixel_y = 0; req_access = list(31)},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFM" = (/obj/structure/table/steel,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/device/multitool,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Office Port"; dir = 2; name = "security camera"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFN" = (/obj/machinery/autolathe,/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFO" = (/obj/structure/table/steel,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/item/weapon/stamp/cargo,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFP" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFQ" = (/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFT" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFU" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFV" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Office Starboard"; dir = 2; name = "security camera"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFY" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cFZ" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cGa" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cGb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cGc" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cGd" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cGe" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) -"cGf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cGg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cGh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cGi" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cGj" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cGk" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) -"cGl" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) -"cGm" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) -"cGn" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cGo" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/apcenter) -"cGp" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cGq" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cGr" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cGs" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cGt" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cGu" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) -"cGv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cGw" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cGx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/medbay) -"cGy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGD" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/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/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGE" = (/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},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGL" = (/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/obj/effect/floor_decal/corner_steel_grid{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "CMO Office"; sortType = "CMO Office"},/obj/effect/floor_decal/corner_steel_grid{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner_steel_grid{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGP" = (/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_steel_grid{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGQ" = (/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/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/obj/effect/floor_decal/corner_steel_grid{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGR" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; pixel_x = 0; pixel_y = 24},/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 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGS" = (/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/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/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/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cGX" = (/obj/machinery/door/firedoor/border_only,/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/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cGY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cGZ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHc" = (/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/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHd" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/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/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHe" = (/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/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHh" = (/obj/machinery/atmospherics/pipe/simple/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/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHi" = (/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/medbay2) -"cHj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHk" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cHl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Medical Restroom"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_restroom) -"cHm" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor,/area/maintenance/disposal) -"cHn" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/disposal) -"cHo" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/disposal) -"cHp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/maintenance/disposal) -"cHq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/disposal) -"cHr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/cargo) -"cHs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/maintenance/cargo) -"cHt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/cargo) -"cHu" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cHv" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/item/frame/light/small,/turf/simulated/floor/tiled,/area/maintenance/cargo) -"cHw" = (/turf/simulated/floor/plating,/area/maintenance/cargo) -"cHx" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/closet/crate,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Warehouse"; dir = 4; name = "security camera"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cHy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cHz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cHA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cHB" = (/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 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cHC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 4; id = "qm_warehouse"; name = "Warehouse Shutters"},/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,/area/quartermaster/warehouse) -"cHD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHE" = (/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/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Sorting Office"; sortType = "Sorting Office"},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHF" = (/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/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHK" = (/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/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Cargo Bay"; sortType = "Cargo Bay"},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHN" = (/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/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "QM Office"; sortType = "QM Office"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cHO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/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/steel_grid,/area/quartermaster/lockerroom) -"cHP" = (/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/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cHQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cHR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cHS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) -"cHT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/lockerroom) -"cHU" = (/obj/random/trash,/turf/simulated/floor/plating,/area/maintenance/bar) -"cHV" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) -"cHW" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) -"cHX" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Five"; dir = 1},/obj/item/clothing/accessory/scarf/christmas,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) -"cHY" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) -"cHZ" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 8; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter) -"cIa" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter) -"cIb" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cIc" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Four"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cId" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) -"cIe" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/boots/combat,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cIf" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cIg" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIh" = (/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIn" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Port 1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIo" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIx" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Port 2"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIy" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Chemistry"; sortType = "Chemistry"},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cID" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cIE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/junction{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cII" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Starboard 1"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/junction/yjunction{dir = 8},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cIP" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/medical_lockerroom) -"cIQ" = (/obj/structure/closet/secure_closet/paramedic,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cIR" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cIS" = (/obj/structure/closet/secure_closet/medical3,/obj/item/weapon/soap/nanotrasen,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cIT" = (/turf/simulated/wall/r_wall,/area/medical/medical_lockerroom) -"cIU" = (/obj/machinery/mass_driver{dir = 2; id = "trash"},/turf/simulated/floor/airless,/area/maintenance/disposal) -"cIV" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/maintenance/disposal) -"cIW" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Waste Disposal"; dir = 4},/turf/simulated/floor,/area/maintenance/disposal) -"cIX" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor,/area/maintenance/disposal) -"cIY" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/maintenance/cargo) -"cIZ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/maintenance/cargo) -"cJa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/cargo) -"cJb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/cargo) -"cJc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cJd" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cJe" = (/obj/structure/firedoor_assembly,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cJf" = (/obj/item/stack/tile/floor,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cJg" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cJh" = (/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cJi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cJj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cJk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 4; id = "qm_warehouse"; name = "Warehouse Shutters"},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cJl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cJm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cJn" = (/obj/machinery/photocopier,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cJo" = (/turf/simulated/wall/r_wall,/area/quartermaster/office) -"cJp" = (/turf/simulated/wall/r_wall,/area/quartermaster/lockerroom) -"cJq" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/weapon/storage/backpack/dufflebag,/obj/item/weapon/stamp/cargo,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cJr" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/weapon/stamp/cargo,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) -"cJs" = (/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/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) -"cJt" = (/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/obj/structure/table/steel,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Stairwell"; dir = 1; name = "security camera"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) -"cJu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cJv" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cJw" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cJx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cJy" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cJz" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/as_emergency) -"cJA" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cJB" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/medical) -"cJC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_one_access = list(11,24,5)},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cJD" = (/turf/simulated/wall,/area/maintenance/substation/medical) -"cJE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) -"cJF" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) -"cJG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo) -"cJH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) -"cJI" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo) -"cJJ" = (/turf/simulated/wall,/area/medical/sleeper) -"cJK" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) -"cJL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) -"cJM" = (/obj/machinery/door/firedoor/border_only,/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/steel_grid,/area/medical/sleeper) -"cJN" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) -"cJO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) -"cJP" = (/turf/simulated/wall,/area/medical/cryo) -"cJQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/cryo) -"cJR" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/cryo) -"cJS" = (/turf/simulated/wall,/area/medical/psych) -"cJT" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "psyco_tint"},/turf/simulated/floor/plating,/area/medical/psych) -"cJU" = (/obj/machinery/door/firedoor/border_only,/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/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/turf/simulated/floor/tiled/steel_grid,/area/medical/psych) -"cJV" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) -"cJW" = (/obj/structure/table/glass,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) -"cJX" = (/obj/structure/table/glass,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) -"cJY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) -"cJZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cKa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cKb" = (/turf/simulated/wall,/area/medical/medical_lockerroom) -"cKc" = (/obj/structure/closet/secure_closet/paramedic,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cKd" = (/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cKe" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cKf" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medical_lockerroom) -"cKg" = (/obj/structure/sign/warning/vent_port,/turf/simulated/wall/r_wall,/area/maintenance/disposal) -"cKh" = (/obj/machinery/door/blast/regular{id = "trash"; name = "disposal mass driver"},/turf/simulated/floor/airless,/area/maintenance/disposal) -"cKi" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/button/remote/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor,/area/maintenance/disposal) -"cKj" = (/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/maintenance/disposal) -"cKk" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/item/weapon/storage/bag/trash,/turf/simulated/floor,/area/maintenance/disposal) -"cKl" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/cargo) -"cKm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) -"cKn" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) -"cKo" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "crg_aft_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) -"cKp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/cargo) -"cKq" = (/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/maintenance/cargo) -"cKr" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cKs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cKt" = (/obj/item/stack/cable_coil/green,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cKu" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cKv" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cKw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cKx" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cKy" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cKz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cKA" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/cargo/engine{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cKB" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/cargo/trolley{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cKC" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cKD" = (/turf/unsimulated/mask,/area/quartermaster/office) -"cKE" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/cargo) -"cKF" = (/turf/simulated/wall,/area/maintenance/substation/cargo) -"cKG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(50)},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cKH" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cKI" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cKJ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cKK" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) -"cKL" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cKM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cKN" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cKO" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) -"cKP" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cKQ" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cKR" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cKS" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cKT" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Medbay Subgrid"; name_tag = "Medbay Subgrid"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cKU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cKV" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cKW" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cKX" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cKY" = (/obj/machinery/camera/network/medbay{c_tag = "MED - CMO"; dir = 2},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cKZ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/vials{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/fancy/vials,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cLa" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/medical/sleeper) -"cLb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLe" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/medical/sleeper) -"cLf" = (/obj/structure/bed/chair,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/pink/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLg" = (/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"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLh" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLi" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cLj" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) -"cLk" = (/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/structure/table/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) -"cLl" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) -"cLm" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) -"cLn" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) -"cLo" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) -"cLp" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/cryo) -"cLq" = (/obj/structure/table/woodentable,/obj/item/toy/plushie/therapy/blue,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cLr" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cLs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cLt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/closet/secure_closet/psych,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cLu" = (/obj/structure/flora/pottedplant/flower,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cLv" = (/turf/simulated/wall,/area/medical/morgue) -"cLw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cLx" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cLy" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Locker Room"; req_access = list(5)},/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/steel_grid,/area/medical/medical_lockerroom) -"cLz" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cLA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cLB" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Locker Room"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cLC" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medical_lockerroom) -"cLD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/maintenance/disposal) -"cLE" = (/turf/simulated/wall/r_wall,/area/maintenance/cargo) -"cLF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cLG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/tropical,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"cLH" = (/obj/structure/bed/chair/shuttle{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"cLI" = (/obj/structure/closet/crate/medical,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/brown/border{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cLJ" = (/obj/structure/closet/crate/internals,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cLK" = (/obj/structure/closet/crate/freezer,/obj/machinery/light/small,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cLL" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cLM" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/cell{maxcharge = 2000},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) -"cLN" = (/obj/machinery/light{dir = 8},/obj/structure/table/steel,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/deck/cards,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cLO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cLP" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cLQ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cLR" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office) -"cLS" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cLT" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Cargo Subgrid"; name_tag = "Cargo Subgrid"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cLU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cLV" = (/obj/structure/closet,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/bar) -"cLW" = (/obj/structure/table/steel,/obj/item/device/t_scanner,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/bar) -"cLX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cLY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cLZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cMa" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cMb" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cMc" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_x = 0; pixel_y = -32},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"cMd" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cMe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cMf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cMg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) -"cMh" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cMi" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cMj" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cMk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cMl" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cMm" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cMn" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cMo" = (/obj/machinery/papershredder,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cMp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cMq" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cMr" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cMs" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cMt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo) -"cMu" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMz" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMA" = (/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) -"cMB" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMC" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cMD" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cME" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/medical/cryo) -"cMF" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cMG" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cMH" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cMI" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cMJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/iv_drip,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cMK" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cML" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cMM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cMN" = (/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cMO" = (/obj/structure/bed/psych,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cMP" = (/obj/structure/morgue,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled,/area/medical/morgue) -"cMQ" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Morgue"; dir = 2},/obj/structure/sink{pixel_y = 16},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) -"cMR" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) -"cMS" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) -"cMT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cMU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cMV" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cMW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cMX" = (/obj/structure/closet/secure_closet/medical3,/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cMY" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "crg_aft_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "crg_aft_pump"; tag_chamber_sensor = "crg_aft_sensor"; tag_exterior_door = "crg_aft_outer"; tag_interior_door = "crg_aft_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "crg_aft_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/maintenance/cargo) -"cMZ" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/cargo) -"cNa" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "crg_aft_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/maintenance/cargo) -"cNb" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cNc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cNd" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cNe" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cNf" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office) -"cNg" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Cargo"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cNh" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cNi" = (/obj/structure/lattice,/obj/structure/cable/green{d1 = 32; icon_state = "32-1"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/substation/cargo) -"cNj" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) -"cNk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = newlist(); req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) -"cNl" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/bar) -"cNm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/bar) -"cNn" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cNo" = (/obj/machinery/floodlight,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cNp" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cNq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -"cNr" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter) -"cNs" = (/obj/structure/disposalpipe/segment,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cNt" = (/obj/structure/disposalpipe/segment,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway One"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cNu" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cNv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cNw" = (/obj/machinery/space_heater,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cNx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cNy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cNz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cNA" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Medical Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cNB" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/obj/machinery/keycard_auth{pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cNC" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cND" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cNE" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/folder/white_cmo,/obj/item/weapon/stamp/cmo,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cNF" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills{pixel_y = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cNG" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNH" = (/obj/machinery/sleep_console{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNI" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNK" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNL" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNM" = (/obj/machinery/body_scanconsole,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cNO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/medical/cryo) -"cNP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cNQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cNR" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cNS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cNT" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cNU" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/clipboard,/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cNV" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "office door control"; pixel_x = 0; pixel_y = -24},/obj/effect/landmark/start{name = "Psychiatrist"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - Mental Health"; dir = 1},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cNW" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/button/windowtint{id = "psyco_tint"; pixel_x = -11; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/green,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cNX" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cNY" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/machinery/vending/wallmed1{pixel_x = 25},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) -"cNZ" = (/obj/structure/morgue,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) -"cOa" = (/turf/simulated/floor/tiled,/area/medical/morgue) -"cOb" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) -"cOc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cOd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cOe" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medical_lockerroom) -"cOf" = (/obj/structure/closet/wardrobe/medic_white,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cOg" = (/obj/structure/table/glass,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cOh" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) -"cOi" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "crg_aft_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "crg_aft_sensor"; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/maintenance/cargo) -"cOj" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/cargo) -"cOk" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "crg_aft_pump"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/maintenance/cargo) -"cOl" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cOm" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cOn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/office) -"cOo" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/navbeacon/delivery/north{location = "QM #1"},/mob/living/bot/mulebot,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cOp" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/navbeacon/delivery/north{location = "QM #2"},/mob/living/bot/mulebot,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cOq" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Office Aft"; dir = 1; name = "security camera"},/obj/machinery/navbeacon/delivery/north{location = "QM #3"},/turf/simulated/floor/tiled,/area/quartermaster/office) -"cOr" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cOs" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/office) -"cOt" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office) -"cOu" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Cargo Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cOv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cOw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cOx" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOy" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOz" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOB" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOC" = (/obj/structure/bed/chair/wood{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOD" = (/obj/structure/table/gamblingtable,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/machinery/alarm{pixel_y = 22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOE" = (/obj/structure/table/gamblingtable,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOF" = (/obj/structure/bed/chair/wood{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/aft) -"cOK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cOL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cOM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cON" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOQ" = (/obj/structure/closet/crate,/obj/random/toy,/obj/random/plushie,/obj/random/plushie,/obj/random/action_figure,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOR" = (/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOS" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOT" = (/obj/structure/closet/hydrant{pixel_y = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cOU" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cOV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cOW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_one_access = list(11,24,5)},/turf/simulated/floor/plating,/area/maintenance/substation/medical) -"cOX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "cmooffice"; pixel_x = -36; pixel_y = 6},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cOY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cOZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cPa" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -32; pixel_y = 36; req_access = list(5)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -28; pixel_y = 28; req_access = list(5)},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; pixel_x = -38; pixel_y = 28},/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cPb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/sunglasses/medhud,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/device/megaphone,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cPc" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPd" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPe" = (/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPh" = (/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"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cPk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/cryo) -"cPl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cPm" = (/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/white,/area/medical/cryo) -"cPn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cPo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cPp" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cPq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/medical/morgue) -"cPr" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/medical/morgue) -"cPs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cPt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Starboard 3"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cPu" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) -"cPv" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cPw" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/clothing/head/soft,/obj/item/clothing/head/soft,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/quartermaster/office) -"cPx" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled/dark,/area/quartermaster/office) -"cPy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) -"cPz" = (/obj/structure/closet/crate,/obj/random/drinkbottle,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/action_figure,/obj/random/plushie,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) -"cPA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) -"cPB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) -"cPC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) -"cPD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) -"cPF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/wood{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/gamblingtable,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/gamblingtable,/obj/item/weapon/deck/cards,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPK" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPL" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cPM" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cPN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cPO" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"cPP" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPQ" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPR" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPS" = (/obj/structure/reagent_dispensers/fueltank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPT" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPU" = (/obj/structure/disposalpipe/segment,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPV" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPW" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) -"cPX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPY" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cPZ" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cQa" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cQb" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cQc" = (/obj/structure/filingcabinet/chestdrawer{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cQd" = (/obj/machinery/photocopier,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) -"cQe" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/medical/sleeper) -"cQf" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQg" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQh" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 2; pixel_y = 2},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -2; pixel_y = -2},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/medbay{c_tag = "MED - Acute"; dir = 1},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQi" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/obj/structure/closet/secure_closet/medical_wall/pills{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQj" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQk" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2,/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 9},/obj/effect/floor_decal/corner/pink/bordercorner2,/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQm" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQn" = (/obj/machinery/iv_drip,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"cQo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/medical/cryo) -"cQp" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cQq" = (/obj/machinery/sleep_console{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/medbay{c_tag = "MED - Cryogenics"; dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cQr" = (/obj/machinery/sleeper{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cQt" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/cryo) -"cQu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/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/steel_grid,/area/medical/genetics_cloning) -"cQv" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cQw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cQx" = (/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/machinery/camera/network/medbay{c_tag = "MED - Cloning"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cQy" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cQz" = (/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cQA" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) -"cQB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/medical/morgue) -"cQC" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) -"cQD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cQE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cQF" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/cargo) -"cQG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/cargo) -"cQH" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "crg_aft_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/cargo) -"cQI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQJ" = (/obj/item/glass_jar,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQK" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQL" = (/obj/structure/table/rack{dir = 1},/obj/random/toy,/obj/random/tank,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQN" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQO" = (/obj/item/stack/material/glass/reinforced,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQP" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQT" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cQV" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/cargo) -"cQW" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/bar) -"cQX" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/bar) -"cQY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/bar) -"cQZ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/bar) -"cRa" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"cRb" = (/turf/simulated/wall,/area/crew_quarters/bar) -"cRc" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading,/obj/machinery/navbeacon/delivery/south{location = "Bar"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cRd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access = list(25)},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"cRe" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) -"cRf" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) -"cRg" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) -"cRh" = (/turf/simulated/wall,/area/crew_quarters/coffee_shop) -"cRi" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRs" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRu" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/sleeper) -"cRv" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/sleeper) -"cRw" = (/turf/simulated/wall,/area/medical/ward) -"cRx" = (/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/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/ward) -"cRy" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/ward) -"cRz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/ward) -"cRA" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/cryo) -"cRB" = (/turf/simulated/wall,/area/medical/genetics_cloning) -"cRC" = (/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},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cRD" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cRE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cRF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cRG" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cRH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/morgue) -"cRI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) -"cRJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/medical/morgue) -"cRK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) -"cRL" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor/tiled/steel_grid,/area/medical/morgue) -"cRM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cRN" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cRO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRW" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/cargo) -"cRY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cSa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cSb" = (/turf/simulated/wall,/area/crew_quarters/barrestroom) -"cSc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southleft{name = "Bar Delivery"; req_access = list(25)},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cSd" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cSe" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Storage"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cSf" = (/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/obj/item/glass_jar,/obj/item/device/retail_scanner/civilian,/obj/item/device/retail_scanner/civilian,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cSg" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cSh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cSi" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cSj" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cSk" = (/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cSl" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cSm" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe Back Room"; dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cSn" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cSo" = (/obj/structure/disposalpipe/segment,/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSp" = (/obj/structure/closet/crate/plastic,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/reagent_containers/dropper,/obj/random/maintenance/clean,/obj/random/soap,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSq" = (/turf/simulated/wall,/area/crew_quarters/kitchen) -"cSr" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSt" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSu" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSv" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSw" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSx" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSy" = (/turf/simulated/wall/r_wall,/area/maintenance/medbay) -"cSz" = (/turf/simulated/wall/r_wall,/area/medical/ward) -"cSA" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSB" = (/obj/structure/closet/secure_closet/personal/patient,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSC" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSD" = (/obj/structure/closet/secure_closet/personal/patient,/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSE" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSF" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; pixel_x = 0; pixel_y = 36},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSG" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSH" = (/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSI" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSJ" = (/obj/structure/closet/wardrobe/medic_white,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSK" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSL" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cSM" = (/obj/machinery/clonepod{biomass = 600},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cSN" = (/obj/machinery/computer/cloning,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cSO" = (/obj/machinery/dna_scannernew,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cSP" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cSQ" = (/obj/structure/closet/wardrobe/medic_white,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"cSR" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) -"cSS" = (/obj/machinery/optable,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) -"cST" = (/obj/structure/table/steel,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/cautery,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) -"cSU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) -"cSV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/medical/morgue) -"cSW" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cSX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay2) -"cSY" = (/turf/simulated/wall/r_wall,/area/maintenance/bar) -"cSZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/bar) -"cTa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/bar) -"cTb" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cTc" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cTd" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cTe" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cTf" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cTg" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cTh" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cTi" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cTj" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cTk" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cTl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cTm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Bar Backroom"; req_access = list(25)},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cTn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cTo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cTp" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = 28; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cTq" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cTr" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cTs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock{name = "Coffee Shop"; req_one_access = list(25,28)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/coffee_shop) -"cTt" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cTu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cTv" = (/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cTw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cTx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cTy" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/cafeteria) -"cTz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/crew_quarters/cafeteria) -"cTA" = (/obj/structure/closet/crate/internals,/obj/random/tank,/obj/random/tank,/obj/random/tank,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTB" = (/obj/structure/closet/crate,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/maintenance/clean,/obj/random/toy,/obj/item/weapon/toy/xmas_cracker,/turf/simulated/floor,/area/maintenance/medbay) -"cTC" = (/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cTD" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cTE" = (/obj/machinery/gibber,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cTF" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southright{name = "Kitchen Delivery"; req_access = list(28)},/turf/simulated/floor/tiled,/area/crew_quarters/kitchen) -"cTG" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/west{location = "Kitchen"},/turf/simulated/floor/tiled,/area/crew_quarters/kitchen) -"cTH" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTI" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTJ" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "aft_starboard_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTM" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cTO" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTP" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTQ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTR" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTS" = (/obj/structure/table/glass,/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 = "Surgery Emergency Phone"},/obj/random/medical,/obj/random/medical,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTW" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTX" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTY" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cTZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Cloning Laboratory"; req_access = list(66)},/turf/simulated/floor/tiled/steel_grid,/area/medical/genetics_cloning) -"cUa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) -"cUb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) -"cUc" = (/turf/simulated/wall/r_wall,/area/medical/patient_wing) -"cUd" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUe" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUf" = (/obj/item/weapon/material/ashtray/glass,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUg" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUh" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks,/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUi" = (/obj/structure/bed/chair/comfy/purp,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUj" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUk" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUl" = (/obj/item/weapon/storage/briefcase/inflatable,/turf/simulated/floor/plating,/area/maintenance/cargo) -"cUm" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/bar) -"cUn" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cUo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cUp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cUq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cUr" = (/obj/item/weapon/book/manual/barman_recipes,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/screwdriver,/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/marble,/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Fore"; dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cUs" = (/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cUt" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cUu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cUv" = (/obj/effect/landmark/start{name = "Bartender"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cUw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cUx" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cUy" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/paper{info = "This permit signifies that the Bartender is permitted to posess this firearm in the bar, and ONLY the bar. Failure to adhere to this permit will result in confiscation of the weapon and possibly arrest."; name = "Shotgun permit"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cUz" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cUA" = (/obj/machinery/vending/coffee,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cUB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cUC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cUD" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cUE" = (/obj/structure/table/marble,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/button/remote/blast_door{id = "coffeeshop"; name = "Cafe Shutters"; pixel_x = 0; pixel_y = -26},/obj/item/device/retail_scanner/civilian{tag = "icon-retail_idle (NORTH)"; icon_state = "retail_idle"; dir = 1},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cUF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cUG" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cUH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cUI" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cUJ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/item/clothing/head/cakehat,/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cUK" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cUL" = (/obj/structure/kitchenspike,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cUM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cUN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cUO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cUP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access = list(28)},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"cUQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cUR" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/medbay) -"cUS" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cUT" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cUU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cUV" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cUW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cUX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/ward) -"cUY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cUZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVc" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/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/ward) -"cVd" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/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/ward) -"cVe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/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/ward) -"cVf" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/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/ward) -"cVh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVi" = (/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/manifold/hidden/scrubbers{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVj" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVk" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cVl" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/glass_medical{name = "Patient Ward"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVm" = (/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/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVn" = (/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"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVq" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Hallway"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVu" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cVy" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_wing) -"cVz" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/bar) -"cVA" = (/obj/machinery/atmospherics/valve/digital/open,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cVB" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cVC" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cVD" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cVE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cVF" = (/obj/random/soap,/obj/random/soap,/obj/structure/table/standard,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) -"cVG" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/glass/rag,/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cVH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cVI" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cVJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/mob/living/carbon/human/monkey/punpun,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cVK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cVL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/obj/machinery/button/remote/blast_door{id = "bar"; name = "Bar Shutters"; pixel_x = 26; pixel_y = 0},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cVM" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/crew_quarters/bar) -"cVN" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cVO" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cVP" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{tag = "icon-register_idle (NORTH)"; icon_state = "register_idle"; dir = 1},/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cVQ" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cVR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/southright{name = "Coffee Shop"; req_one_access = list(25,28)},/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"cVS" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/coffee_shop) -"cVT" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cVU" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cVV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"cVW" = (/obj/structure/closet/chefcloset,/obj/item/glass_jar,/obj/item/device/retail_scanner/civilian,/obj/item/weapon/soap/nanotrasen,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cVX" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cVY" = (/obj/structure/closet/secure_closet/freezer/kitchen,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cVZ" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cWa" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Cold Room"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cWb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cWc" = (/obj/structure/closet/crate/freezer,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cWd" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/crate/plastic,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cWe" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) -"cWf" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cWg" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cWh" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) -"cWi" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cWj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cWk" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWl" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWm" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWn" = (/obj/item/weapon/stool/padded,/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Ward Port"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWq" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWt" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWw" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Ward Starboard"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWy" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWz" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWA" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cWB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWE" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWG" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) -"cWO" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_wing) -"cWP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/barrestroom) -"cWQ" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/crew_quarters/barrestroom) -"cWR" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cWS" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{dir = 1; icon_state = "register_idle"; tag = "icon-register_idle (NORTH)"},/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cWT" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Bar"; req_access = list(25)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/lino,/area/crew_quarters/bar) -"cWU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cWV" = (/obj/structure/bed/chair/wood{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cWW" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cah,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cWX" = (/obj/structure/bed/chair/wood{dir = 8},/obj/structure/sign/double/barsign{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cWY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cWZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/bar) -"cXa" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cXb" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cXc" = (/turf/simulated/wall,/area/crew_quarters/cafeteria) -"cXd" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXf" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXh" = (/obj/structure/table/standard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXi" = (/obj/item/weapon/stool/padded,/obj/machinery/atm{pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cXl" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/kitchen) -"cXm" = (/obj/structure/table/standard,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"cXn" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cXo" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cXp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/freezer{name = "Kitchen cold room"; req_access = list(28)},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) -"cXq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cXr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) -"cXs" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_starboard_sensor"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cXt" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_starboard_airlock"; pixel_x = 25; req_access = list(13); req_one_access = null; tag_airpump = "aft_starboard_pump"; tag_chamber_sensor = "aft_starboard_sensor"; tag_exterior_door = "aft_starboard_outer"; tag_interior_door = "aft_starboard_inner"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cXu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) -"cXv" = (/turf/simulated/wall/r_wall,/area/medical/surgery) -"cXw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "st1_tint"},/turf/simulated/floor/plating,/area/medical/surgery) -"cXx" = (/turf/simulated/wall,/area/medical/surgery) -"cXy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery) -"cXz" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cXA" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cXB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) -"cXC" = (/turf/simulated/wall/r_wall,/area/medical/surgery2) -"cXD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery2) -"cXE" = (/turf/simulated/wall,/area/medical/surgery2) -"cXF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "st2_tint"},/turf/simulated/floor/plating,/area/medical/surgery2) -"cXG" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/machinery/door/airlock/medical{name = "Operating Theatre Storage"; req_access = list(45)},/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery_storage) -"cXH" = (/turf/simulated/wall,/area/medical/surgery_storage) -"cXI" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "pr1_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) -"cXJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room A"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_a) -"cXK" = (/turf/simulated/wall,/area/medical/patient_a) -"cXL" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "pr2_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) -"cXM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room B"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_b) -"cXN" = (/turf/simulated/wall/r_wall,/area/medical/patient_b) -"cXO" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/medical/patient_wing) -"cXP" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/medical/patient_wing) -"cXQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cXR" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/bar) -"cXS" = (/obj/structure/closet,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) -"cXT" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/bar) -"cXU" = (/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/wood,/area/crew_quarters/bar) -"cXV" = (/obj/machinery/media/jukebox,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cXW" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cXX" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cXY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cXZ" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cYa" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cYb" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cYc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Starboard"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cYd" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Two"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cYe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) -"cYf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cYg" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cYh" = (/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/crew_quarters/cafeteria) -"cYi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cYj" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cYk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cYl" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 26; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Fore"; dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cYm" = (/turf/simulated/wall/r_wall,/area/crew_quarters/kitchen) -"cYn" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/button/remote/blast_door{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -26; pixel_y = 0; req_access = list(28)},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Port"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYo" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYp" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYq" = (/obj/machinery/cooker/fryer,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYr" = (/obj/machinery/cooker/grill,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYs" = (/obj/machinery/cooker/oven,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYt" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYu" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cYv" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/chapel) -"cYw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"cYx" = (/turf/simulated/wall/r_wall,/area/maintenance/chapel) -"cYy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cYz" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/pink/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cYA" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "st1_tint"; pixel_x = -11; pixel_y = 22},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/machinery/button/holosign{pixel_x = -11; pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/pink/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cYB" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cYC" = (/obj/structure/sink{pixel_y = 16},/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_x = 26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cYD" = (/turf/simulated/wall,/area/medical/surgeryobs) -"cYE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/medical{id_tag = "surgery_observation"; name = "Observation Room"; req_access = newlist()},/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/tiled/steel_grid,/area/medical/surgeryobs) -"cYF" = (/obj/structure/sink{pixel_y = 16},/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cYG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cYH" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "st2_tint"; pixel_x = -11; pixel_y = 22},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/machinery/button/holosign{pixel_x = -11; pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/pink/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cYI" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/pink/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cYJ" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) -"cYK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"cYL" = (/obj/structure/sink{pixel_y = 16},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"cYM" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"cYN" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "pr1_window_tint"; pixel_x = -36; pixel_y = 6},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"cYO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"cYP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"cYQ" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"cYR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"cYS" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "pr2_window_tint"; pixel_x = 36; pixel_y = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"cYT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cYU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"cYV" = (/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/plating,/area/maintenance/bar) -"cYW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"cYX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cYY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cYZ" = (/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/wood,/area/crew_quarters/bar) -"cZa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Bar"; sortType = "Bar"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cZb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cZc" = (/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"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cZe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cZf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/bar) -"cZg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cZh" = (/obj/structure/sign/directions/medical{dir = 2},/obj/structure/sign/directions/security{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cryo{dir = 8; pixel_y = -10},/turf/simulated/wall,/area/maintenance/medbay_fore) -"cZi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"cZj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/cafeteria) -"cZk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cZl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cZm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cZn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cZo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cZp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"cZq" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/door/blast/shutters{dir = 8; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cZr" = (/obj/structure/table/standard,/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/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/binoculars{pixel_y = 5},/turf/simulated/floor/tiled/dark,/area/security/armoury) -"cZs" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cZt" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cZu" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cZv" = (/obj/machinery/icecream_vat,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cZw" = (/turf/simulated/floor/plating,/area/maintenance/chapel) -"cZx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/chapel) -"cZy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/medbay) -"cZz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "aft_starboard_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/airless,/area/maintenance/medbay) -"cZA" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/medbay) -"cZB" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cZC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cZD" = (/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,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cZE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"cZF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/surgeryobs) -"cZG" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"cZH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"cZI" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"cZJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs2"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/surgeryobs) -"cZK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cZL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cZM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cZN" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"cZO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"cZP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"cZQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"cZR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/bed/chair/office/light,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"cZS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"cZT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/vending/wallmed1{pixel_x = 25},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"cZU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/bed/chair/office/light,/obj/machinery/vending/wallmed1{pixel_x = -25},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"cZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"cZW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"cZX" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cZY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) -"cZZ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"daa" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/plating,/area/maintenance/bar) -"dab" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) -"dac" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"dad" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"dae" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"daf" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"dag" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dah" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dai" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"daj" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dak" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dal" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/bar) -"dam" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dan" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/cafeteria) -"dao" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/magnetic_controller{autolink = 1},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses{pixel_x = 3; pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud/aviator,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/weapon/screwdriver,/turf/simulated/floor/tiled,/area/security/range) -"dap" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (WEST)"; icon_state = "corner_white_full"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"daq" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/yellow/full{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dar" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (WEST)"; icon_state = "corner_white_full"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"das" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dat" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/door/blast/shutters{dir = 8; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dau" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/item/weapon/packageWrap,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dav" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"daw" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/material/knife/butch,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dax" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"day" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"daz" = (/obj/structure/table/marble,/obj/machinery/reagentgrinder,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"daA" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"daB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"daC" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"daD" = (/turf/simulated/floor/tiled/white,/area/medical/surgery) -"daE" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/medical/surgery) -"daF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"daG" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"daH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"daI" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"daJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"daK" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"daL" = (/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"daM" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"daN" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/FixOVein,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/item/stack/nanopaste,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"daO" = (/obj/structure/closet/crate/freezer,/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"daP" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) -"daQ" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room A"; dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"daR" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"daS" = (/obj/structure/closet/secure_closet/personal/patient,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"daT" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"daU" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"daV" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room B"; dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/patient_b) -"daW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) -"daX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) -"daY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/crate,/obj/random/drinkbottle,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/random/powercell,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) -"daZ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/bar) -"dba" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) -"dbb" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"dbc" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"dbd" = (/obj/structure/bed/chair/wood{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbe" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbf" = (/obj/structure/bed/chair/wood{dir = 8},/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Aft"; dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbg" = (/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/crew_quarters/bar) -"dbh" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbi" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbj" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/obj/item/device/paicard,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbk" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dbn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dbo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dbp" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dbq" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dbr" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/effect/floor_decal/corner/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dbs" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dbt" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/effect/floor_decal/corner/yellow{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dbu" = (/obj/structure/bed/padded,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/machinery/flasher{id = "Cell 2"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"dbv" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dbw" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dbx" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dby" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dbz" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dbA" = (/obj/machinery/vending/dinnerware,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dbB" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dbC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dbD" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"dbE" = (/obj/machinery/iv_drip,/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 1"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery) -"dbF" = (/obj/machinery/computer/operating,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery) -"dbG" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/surgery) -"dbH" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"dbI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"dbJ" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"dbK" = (/obj/machinery/computer/operating,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"dbL" = (/obj/machinery/iv_drip,/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 2"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"dbM" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/surgery2) -"dbN" = (/turf/simulated/wall/r_wall,/area/medical/surgery_storage) -"dbO" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_a) -"dbP" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_a) -"dbQ" = (/turf/simulated/wall/r_wall,/area/medical/patient_a) -"dbR" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_b) -"dbS" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_b) -"dbT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) -"dbU" = (/turf/simulated/wall,/area/holodeck_control) -"dbV" = (/obj/machinery/status_display,/turf/simulated/wall,/area/holodeck_control) -"dbW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) -"dbX" = (/obj/machinery/door/firedoor/glass,/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/airlock/glass{name = "Bar"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) -"dbY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dbZ" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dca" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcb" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dcc" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dcd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/cafeteria) -"dce" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcf" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/yellow/full,/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcg" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dch" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dci" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dcj" = (/obj/effect/floor_decal/corner/grey/diagonal{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/crew_quarters/kitchen) -"dck" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dcl" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dcm" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dcn" = (/obj/machinery/space_heater,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dco" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dcp" = (/turf/simulated/wall/r_wall,/area/medical/surgeryobs) -"dcq" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"dcr" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "MED - Surgery Observation"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"dcs" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled,/area/medical/surgeryobs) -"dct" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"dcu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) -"dcv" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck) -"dcw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dcx" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) -"dcy" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcA" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dcB" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcC" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcD" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dcE" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dcF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dcG" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) -"dcH" = (/obj/item/weapon/stool/padded,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/holodeck_control) -"dcI" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/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/tiled,/area/holodeck_control) -"dcJ" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcK" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcM" = (/obj/item/weapon/stool/padded,/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcN" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"dcO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dcP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dcQ" = (/obj/machinery/vending/cola,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/brown/border{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcR" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcS" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcT" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcU" = (/obj/machinery/computer/arcade,/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Aft"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcV" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcW" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Kitchen"; sortType = "Kitchen"},/obj/structure/flora/pottedplant/small{pixel_y = 10},/obj/structure/table/standard,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcX" = (/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/stool/padded,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dcY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/crew_quarters/kitchen) -"dcZ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dda" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"ddb" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"ddc" = (/obj/structure/table/marble,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"ddd" = (/obj/structure/table/marble,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dde" = (/obj/machinery/cooker/cereal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"ddf" = (/obj/machinery/cooker/candy,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"ddg" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/crowbar,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance,/obj/random/maintenance,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/chapel) -"ddh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/chapel) -"ddi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/light{dir = 8},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) -"ddj" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) -"ddk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/holodeck_control) -"ddl" = (/obj/machinery/status_display,/turf/simulated/wall,/area/crew_quarters/bar) -"ddm" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ddn" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Three"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ddo" = (/turf/simulated/wall,/area/hydroponics) -"ddp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hydroponics) -"ddq" = (/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) -"ddr" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics) -"dds" = (/obj/structure/table/marble,/obj/machinery/door/window/southright{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddt" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/hydroponics) -"ddu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = list(28)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) -"ddv" = (/obj/structure/closet/crate/hydroponics,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/chapel) -"ddw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Holodeck"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) -"ddx" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"ddy" = (/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/tiled,/area/holodeck_control) -"ddz" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/holodeck_control) -"ddA" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ddB" = (/obj/structure/railing,/turf/simulated/open,/area/hallway/primary/seconddeck/aft) -"ddC" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ddD" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/aft) -"ddE" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ddF" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ddG" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddH" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddI" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddJ" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/camera/network/civilian{c_tag = "CIV - Hydroponics Port"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddK" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddL" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddM" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Gardener"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddN" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddO" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddQ" = (/obj/machinery/biogenerator,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddR" = (/obj/machinery/honey_extractor,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddS" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddT" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/camera/network/civilian{c_tag = "CIV - Hydroponics Starboard"; dir = 2},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddU" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"ddV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southright{name = "Hydroponics Delivery"; req_access = list(35)},/turf/simulated/floor/tiled,/area/hydroponics) -"ddW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/west{location = "Hydroponics"},/turf/simulated/floor/tiled,/area/hydroponics) -"ddX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Starboard"; dir = 8},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) -"ddY" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor/tiled,/area/holodeck_control) -"ddZ" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/holodeck_control) -"dea" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/holodeck_control) -"deb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) -"dec" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"ded" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dee" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"def" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deg" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) -"deh" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dei" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dej" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) -"dek" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"del" = (/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dem" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"den" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dep" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"der" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"des" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"det" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deu" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/chapel) -"dev" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Port"; dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) -"dew" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Control"; dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) -"dex" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/holodeck_control) -"dey" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/holodeck_control) -"dez" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) -"deA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deD" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"deF" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"deH" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) -"deI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Gardener"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deO" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deR" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"deU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access = list(35)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hydroponics) -"deV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/chapel) -"deW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/chapel) -"deX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/holodeck_control) -"deY" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/holodeck_control) -"deZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dfa" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/table/bench/padded,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dfb" = (/obj/structure/table/bench/padded,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Stairwell"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dfc" = (/obj/machinery/light,/obj/structure/table/glass,/obj/structure/sign/deck/second{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dfd" = (/obj/structure/bed/padded,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/machinery/flasher{id = "Cell 1"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) -"dfe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel_reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/obj/item/device/retail_scanner/security,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/warden) -"dff" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfg" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfh" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/seed_extractor,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfi" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfj" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfk" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Hydroponics"; sortType = "Hydroponics"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfm" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfn" = (/obj/machinery/seed_storage/garden,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfo" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfp" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfq" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfr" = (/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) -"dfs" = (/obj/structure/table/rack,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dft" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) -"dfu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/holodeck_control) -"dfv" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) -"dfw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) -"dfx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) -"dfy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) -"dfz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) -"dfA" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hydroponics) -"dfB" = (/obj/machinery/ai_status_display,/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics) -"dfC" = (/turf/simulated/wall,/area/maintenance/chapel) -"dfD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/chapel) -"dfE" = (/turf/space,/area/shuttle/response_ship/seconddeck) -"dfF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"dfG" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/holodeck_control) -"dfH" = (/turf/simulated/wall/r_wall,/area/holodeck_control) -"dfI" = (/obj/structure/table/glass,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dfJ" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dfK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dfL" = (/obj/structure/bed/roller,/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dfM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/seconddeck/aft) -"dfN" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dfO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dfP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/chapel/main) -"dfQ" = (/obj/structure/table/woodentable,/obj/structure/flora/pottedplant/stoutbush{pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dfR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dfS" = (/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dfT" = (/turf/simulated/floor/carpet,/area/chapel/main) -"dfU" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Fore"; dir = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/chapel/main) -"dfV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dfW" = (/turf/simulated/wall,/area/chapel/office) -"dfX" = (/obj/machinery/photocopier,/turf/simulated/floor/lino,/area/chapel/office) -"dfY" = (/obj/structure/table/wooden_reinforced,/obj/structure/flora/pottedplant/thinbush{pixel_y = 10},/turf/simulated/floor/lino,/area/chapel/office) -"dfZ" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/nullrod,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/button/windowtint{id = "chapel"; pixel_x = -11; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/lino,/area/chapel/office) -"dga" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/fancy/crayons,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/lino,/area/chapel/office) -"dgb" = (/obj/structure/closet/wardrobe/chaplain_black,/turf/simulated/floor/lino,/area/chapel/office) -"dgc" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dgd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dge" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Civilian Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dgf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/chapel) -"dgg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dgh" = (/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/holodeck_control) -"dgi" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/closet/lasertag/red,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/holodeck_control) -"dgj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgl" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgm" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgn" = (/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19,25,27,28,35)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/first_aid_station/seconddeck/aft) -"dgo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dgp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dgq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dgr" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (NORTH)"; icon_state = "chapel"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgs" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (EAST)"; icon_state = "chapel"; dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgt" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/carpet,/area/chapel/main) -"dgu" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/chapel/main) -"dgv" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (NORTH)"; icon_state = "chapel"; dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgw" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (EAST)"; icon_state = "chapel"; dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgx" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/lino,/area/chapel/office) -"dgy" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"dgz" = (/obj/structure/table/wooden_reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/lino,/area/chapel/office) -"dgA" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Chaplain"},/turf/simulated/floor/lino,/area/chapel/office) -"dgB" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/lino,/area/chapel/office) -"dgC" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dgD" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dgE" = (/turf/simulated/wall,/area/maintenance/substation/civilian) -"dgF" = (/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dgG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dgH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/techfloor,/area/holodeck_control) -"dgI" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/techfloor,/area/holodeck_control) -"dgJ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/techfloor,/area/holodeck_control) -"dgK" = (/obj/machinery/sleeper{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgL" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgM" = (/obj/item/weapon/stool/padded,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgN" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Civilian"; dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) -"dgO" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dgP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dgQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dgR" = (/turf/simulated/wall,/area/chapel/main) -"dgS" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgT" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgU" = (/obj/effect/floor_decal/chapel,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgV" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgW" = (/obj/effect/floor_decal/chapel,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dgX" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "chapel"},/turf/simulated/floor/plating,/area/chapel/office) -"dgY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Office"; dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"dgZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"dha" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/flashlight/lamp{pixel_y = 10},/turf/simulated/floor/lino,/area/chapel/office) -"dhb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"dhc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/lino,/area/chapel/office) -"dhd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dhe" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dhf" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dhg" = (/turf/simulated/wall,/area/library) -"dhh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/library) -"dhi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/library) -"dhj" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) -"dhk" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/library) -"dhl" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library) -"dhm" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) -"dhn" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library) -"dho" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/library) -"dhp" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) -"dhq" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) -"dhr" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/hallway/primary/seconddeck/aft) -"dhs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dht" = (/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dhu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dhv" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/chapel/main) -"dhw" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Chapel"; sortType = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dhx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dhy" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "chapel"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/chapel/office) -"dhz" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) -"dhA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/lino,/area/chapel/office) -"dhB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/lino,/area/chapel/office) -"dhC" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian"; name_tag = "Civilian Subgrid"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dhD" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dhE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Civilian Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) -"dhF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dhG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) -"dhH" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) -"dhI" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/library) -"dhJ" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) -"dhK" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/library) -"dhL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/library) -"dhM" = (/turf/simulated/floor/wood,/area/library) -"dhN" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/library) -"dhO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/wood,/area/library) -"dhP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/tiled/steel_grid,/area/library) -"dhQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Four"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dhR" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dhS" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Chapel Office"; req_access = list(27)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/chapel/office) -"dhT" = (/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"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/chapel) -"dhU" = (/turf/simulated/wall/r_wall,/area/chapel/main) -"dhV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"dhW" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"dhX" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Port"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) -"dhY" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) -"dhZ" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) -"dia" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/library) -"dib" = (/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/manifold/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) -"dic" = (/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/wood,/area/library) -"did" = (/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/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/library) -"die" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/wood,/area/library) -"dif" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/library) -"dig" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/library) -"dih" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/library) -"dii" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/library) -"dij" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/tiled/steel_grid,/area/library) -"dik" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dil" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dim" = (/obj/effect/floor_decal/chapel,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"din" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/chapel/main) -"dio" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dip" = (/obj/effect/floor_decal/chapel,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dir" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dis" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dit" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"div" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dix" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Starboard"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diB" = (/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diC" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/chapel/main) -"diD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"diE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"diF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/library) -"diG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) -"diH" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library) -"diI" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/deck/cards,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/wood,/area/library) -"diJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/library) -"diK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/library) -"diL" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/library) -"diM" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/carpet,/area/library) -"diN" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/library) -"diO" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/wood,/area/library) -"diP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) -"diQ" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Starboard"; dir = 8},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/tape_roll,/turf/simulated/floor/wood,/area/library) -"diR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "library_window_tint"},/turf/simulated/floor/plating,/area/library) -"diS" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"diT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"diU" = (/obj/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diW" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"diX" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/chapel/main) -"diY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/chapel/main) -"diZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dja" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djc" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dje" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dji" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djj" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djk" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djl" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djm" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djn" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"djo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"djp" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/wood,/area/library) -"djq" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/library) -"djr" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) -"djs" = (/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,/turf/simulated/floor/wood,/area/library) -"djt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) -"dju" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) -"djv" = (/obj/structure/table/woodentable,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/wood,/area/library) -"djw" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library) -"djx" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/folder/yellow,/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library) -"djy" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/library) -"djz" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Office"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet,/area/library) -"djA" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor/carpet,/area/library) -"djB" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"djC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"djD" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Chapel"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/chapel/main) -"djE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Chapel"},/turf/simulated/floor/tiled/steel_grid,/area/chapel/main) -"djF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/chapel/main) -"djG" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth"},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djH" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth (Chaplain)"; req_access = list(22)},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djI" = (/obj/structure/closet/coffin,/obj/machinery/door/window/northleft{name = "Coffin Storage"; req_access = list(27)},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djJ" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djK" = (/obj/structure/closet/coffin,/obj/machinery/door/window/northright{name = "Coffin Storage"; req_access = list(27)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djL" = (/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,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djM" = (/obj/machinery/button/remote/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 32; pixel_y = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"djN" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) -"djO" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/library) -"djP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/library) -"djQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library) -"djR" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) -"djS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/library) -"djT" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/library) -"djU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/wood,/area/library) -"djV" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/paicard,/turf/simulated/floor/wood,/area/library) -"djW" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Librarian"},/turf/simulated/floor/wood,/area/library) -"djX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/library) -"djY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Library Office"; req_access = list(37)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/library) -"djZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/library) -"dka" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Librarian"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/library) -"dkb" = (/turf/simulated/floor/carpet,/area/library) -"dkc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dkd" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dke" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkg" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dki" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkl" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkm" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/aft) -"dkn" = (/obj/item/device/radio/intercom/locked/confessional{pixel_y = -21},/obj/structure/bed/chair{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dko" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/simulated/floor/plating,/area/chapel/main) -"dkp" = (/obj/item/device/radio/intercom/locked/confessional{dir = 2; pixel_y = -21},/obj/structure/bed/chair{dir = 8},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dkq" = (/obj/structure/closet/coffin,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dkr" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dks" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light,/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dkt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dku" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/chapel/main) -"dkv" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access = list(22)},/obj/machinery/mass_driver{dir = 4; id = "chapelgun"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/airlock_sensor{pixel_y = 25},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/chapel/main) -"dkw" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/sign/warning/vacuum{pixel_y = 32},/turf/simulated/floor/plating,/area/chapel/main) -"dkx" = (/obj/machinery/door/blast/regular{id = "chapelgun"; name = "Chapel Launcher Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/chapel/main) -"dky" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) -"dkz" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library) -"dkA" = (/obj/machinery/light,/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) -"dkB" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/library) -"dkC" = (/obj/structure/filingcabinet,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"dkD" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/library) -"dkE" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/wood,/area/library) -"dkF" = (/obj/machinery/door/window/westleft{name = "Library Desk Door"; req_access = list(37)},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/wood,/area/library) -"dkG" = (/obj/machinery/libraryscanner,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/wood,/area/library) -"dkH" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/structure/table/woodentable,/obj/machinery/librarycomp{pixel_y = 0},/turf/simulated/floor/wood,/area/library) -"dkI" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/device/camera,/obj/machinery/button/windowtint{id = "library_window_tint"; pixel_x = -11; pixel_y = -24},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/carpet,/area/library) -"dkJ" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/invisible,/obj/item/clothing/under/suit_jacket/red,/obj/item/weapon/barcodescanner,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/carpet,/area/library) -"dkK" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/tvcamera,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/carpet,/area/library) -"dkL" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dkN" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Aft"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkV" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkW" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dkX" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/aft) -"dkY" = (/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"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/locker) -"dkZ" = (/turf/simulated/wall,/area/maintenance/locker) -"dla" = (/turf/simulated/wall/r_wall,/area/maintenance/locker) -"dlb" = (/turf/simulated/shuttle/wall,/area/shuttle/cryo/station) -"dlc" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/cryo/station) -"dld" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/cryo/station) -"dle" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/docking_hallway2) -"dlf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"dlg" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"dlh" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/library) -"dli" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/library) -"dlj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/tiled/steel_grid,/area/library) -"dlk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/library) -"dll" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dln" = (/turf/simulated/wall,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dlo" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) -"dlp" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/weapon/bedsheet/rainbow,/obj/item/weapon/pen/crayon/rainbow,/turf/simulated/floor,/area/crew_quarters/seconddeck/locker) -"dlq" = (/turf/simulated/wall,/area/crew_quarters/seconddeck/locker) -"dlr" = (/obj/item/clothing/head/soft/mime,/obj/item/clothing/mask/gas/mime,/obj/item/clothing/shoes/mime,/obj/item/clothing/under/mime,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) -"dls" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) -"dlt" = (/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) -"dlu" = (/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"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/locker) -"dlv" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/locker) -"dlw" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/locker) -"dlx" = (/obj/structure/closet,/obj/item/weapon/lipstick/purple,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/locker) -"dly" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/locker) -"dlz" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/cryo/station) -"dlA" = (/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/tiled/white,/area/medical/medbay) -"dlB" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/cryo/station) -"dlC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlE" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlK" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dlP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) -"dlQ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlT" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlU" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlV" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dlW" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dlX" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dlY" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dlZ" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dma" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmb" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmc" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmd" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dme" = (/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"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/locker) -"dmf" = (/turf/simulated/floor/plating,/area/maintenance/locker) -"dmg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/locker) -"dmh" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/locker) -"dmi" = (/obj/machinery/ai_status_display,/turf/simulated/shuttle/wall/no_join,/area/shuttle/cryo/station) -"dmj" = (/obj/machinery/cryopod{dir = 2; time_till_despawn = 4500},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dmk" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/cryopod{dir = 2; time_till_despawn = 4500},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dml" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dmm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dms" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Library"; sortType = "Library"},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Civilian Hallway One"; dir = 1},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmy" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; name = "Primary Tool Storage"; sortType = "Primary Tool Storage"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dmB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) -"dmC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dmD" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dmE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dmF" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Delivery Office"; dir = 8; name = "security camera"},/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) -"dmG" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dmH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmK" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmM" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmN" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dmO" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dmP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dmQ" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dmR" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/camera/network/civilian{c_tag = "Civ - Locker Room Two"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dmS" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dmT" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dmU" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dmV" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/locker) -"dmW" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/locker) -"dmX" = (/obj/machinery/computer/cryopod{density = 0; pixel_x = -32; pixel_y = 0},/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dmY" = (/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dmZ" = (/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dna" = (/obj/machinery/door/airlock/external{frequency = 1380; id_tag = "cryostorage_shuttle_hatch"; name = "Cryogenic Storage Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dnb" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/turf/simulated/floor/tiled/techfloor,/area/hallway/secondary/docking_hallway2) -"dnc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dne" = (/obj/structure/flora/pottedplant/decorative,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"dnf" = (/turf/simulated/wall,/area/hallway/secondary/entry/docking_lounge) -"dng" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/docking_lounge) -"dnh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/hallway/secondary/entry/docking_lounge) -"dni" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/docking_lounge) -"dnj" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dnk" = (/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dnl" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dnm" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dnn" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dno" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/docking_hallway2) -"dnp" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dnq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dnr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dns" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dnt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dnu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dnv" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dnw" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dnx" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dny" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dnz" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dnA" = (/obj/structure/undies_wardrobe,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dnB" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dnC" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dnD" = (/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dnE" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dnF" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/item/weapon/tape_roll,/obj/item/weapon/coin/silver,/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dnG" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dnH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dnI" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dnJ" = (/obj/item/trash/candle,/turf/simulated/floor/plating,/area/maintenance/locker) -"dnK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "cryostorage_shuttle"; name = "cryostorage controller"; pixel_x = -26; pixel_y = 0; req_access = list(19); tag_door = "cryostorage_shuttle_hatch"},/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dnL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dnM" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"dnN" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dnO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dnP" = (/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/wood,/area/hallway/secondary/entry/docking_lounge) -"dnQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dnR" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/flora/pottedplant/shoot,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dnS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/storage/primary) -"dnT" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Primary Tool Storage"},/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,/turf/simulated/floor/tiled/steel_grid,/area/storage/primary) -"dnU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/storage/primary) -"dnV" = (/turf/simulated/wall,/area/security/checkpoint2) -"dnW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/checkpoint2) -"dnX" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/security{name = "Security Checkpoint"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/checkpoint2) -"dnY" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/checkpoint2) -"dnZ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) -"doa" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dob" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Five"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"doc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/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,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/seconddeck/locker/locker_toilet) -"dod" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"doe" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dof" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) -"dog" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"doh" = (/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/plating,/area/maintenance/locker) -"doi" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/glasses/sunglasses,/obj/item/weapon/storage/bible,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/locker) -"doj" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall/no_join,/area/shuttle/cryo/station) -"dok" = (/obj/machinery/cryopod{dir = 1; time_till_despawn = 4500},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dol" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/cryopod{dir = 1; time_till_despawn = 4500},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dom" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "cryostorage_shuttle_berth"; name = "cryostorage shuttle berth controller"; pixel_x = -26; pixel_y = 0; req_access = list(19); tag_door = "cryostorage_shuttle_berth_hatch"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"don" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"doo" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"dop" = (/obj/structure/bed/chair/comfy/black,/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"doq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dor" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hallway/secondary/entry/docking_lounge) -"dos" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/navbeacon/delivery/south{location = "Tool Storage"},/turf/simulated/floor/tiled,/area/storage/primary) -"dot" = (/turf/simulated/floor/tiled,/area/storage/primary) -"dou" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dov" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dow" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dox" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"doy" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"doz" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"doA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"doB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Locker Room"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/seconddeck/locker) -"doC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doF" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doI" = (/obj/machinery/atm{pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doN" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doO" = (/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,/area/crew_quarters/seconddeck/locker) -"doP" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"doQ" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) -"doR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/locker) -"doS" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) -"doT" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hazardvest,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/locker) -"doU" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/pink/border{dir = 5},/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"doV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"doW" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"doX" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/obj/item/device/paicard,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"doY" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"doZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dpa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"dpb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"dpc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/storage/primary) -"dpd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/storage/primary) -"dpe" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/primary) -"dpf" = (/obj/machinery/vending/tool,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dpg" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom/department/security{dir = 4; icon_override = "secintercom"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dph" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dpi" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dpj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dpk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpl" = (/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dpn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpo" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpp" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpq" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpr" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dps" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpt" = (/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpu" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) -"dpv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) -"dpw" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/locker) -"dpx" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/cryo/station) -"dpy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dpz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dpA" = (/obj/structure/bed/chair,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Civilian Hallway Two"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) -"dpB" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"dpC" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"dpD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dpE" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dpF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dpG" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) -"dpH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dpI" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/storage/primary) -"dpJ" = (/obj/machinery/vending/assist,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dpK" = (/obj/machinery/computer/card,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dpL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dpM" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dpN" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/westleft{name = "Security Checkpoint"; req_access = list(1)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dpO" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dpP" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/aft) -"dpQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dpR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display,/turf/simulated/wall,/area/crew_quarters/seconddeck/locker) -"dpS" = (/obj/structure/closet/wardrobe/white,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dpT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dpU" = (/obj/structure/closet/wardrobe/pjs,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dpV" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dpW" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dpX" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_1) -"dpY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Room 1"},/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,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/sleep/vistor_room_1) -"dpZ" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_2) -"dqa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Room 2"},/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,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/sleep/vistor_room_2) -"dqb" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/locker) -"dqc" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) -"dqd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/locker) -"dqe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dqf" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dqg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqj" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Public Office"; req_one_access = newlist()},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqk" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dql" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) -"dqm" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/storage/primary) -"dqn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) -"dqo" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dqp" = (/obj/machinery/computer/security,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dqq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dqr" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/crowbar,/obj/item/weapon/pen,/obj/item/device/flash,/obj/machinery/camera/network/security{c_tag = "SEC - Arrival Checkpoint"; dir = 8},/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dqs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dqt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) -"dqu" = (/obj/structure/closet/wardrobe/mixed,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqv" = (/obj/structure/closet/wardrobe/grey,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqw" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/weapon/storage/backpack/dufflebag,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqx" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqy" = (/obj/structure/closet/secure_closet/personal,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"dqz" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"dqA" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"dqB" = (/obj/structure/closet/secure_closet/personal,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"dqC" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"dqD" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/clothing/head/kitty,/obj/item/clothing/head/kitty,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"dqE" = (/obj/item/latexballon,/turf/simulated/floor,/area/crew_quarters/seconddeck/locker) -"dqF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/locker) -"dqG" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/locker) -"dqH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dqI" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) -"dqJ" = (/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqK" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqL" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/device/taperecorder,/obj/item/device/tape/random,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dqM" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) -"dqN" = (/obj/effect/landmark/start{name = "Assistant"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/storage/primary) -"dqO" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) -"dqP" = (/obj/structure/closet/secure_closet/security,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -30},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dqQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = -30},/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = 32; pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dqR" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/checkpoint2) -"dqS" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dqT" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dqU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dqV" = (/obj/structure/closet/wardrobe/xenos,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dqX" = (/obj/structure/closet/wardrobe/black,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqY" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"dqZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"dra" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"drb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"drc" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"drd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"dre" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"drf" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"drg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"drh" = (/obj/structure/bed/chair,/obj/item/weapon/handcuffs/fuzzy,/obj/random/contraband,/turf/simulated/floor,/area/crew_quarters/seconddeck/locker) -"dri" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/locker) -"drj" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/plating,/area/maintenance/locker) -"drk" = (/turf/space,/area/shuttle/shuttle1/arrivals_dock) -"drl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) -"drm" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) -"drn" = (/obj/machinery/papershredder,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"dro" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"drp" = (/obj/machinery/libraryscanner,/obj/machinery/camera/network/civilian{c_tag = "CIV - Arrivals Lounge"; dir = 1},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"drq" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) -"drr" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/hallway/secondary/entry/docking_lounge) -"drs" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/storage/primary) -"drt" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/storage/primary) -"dru" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian{c_tag = "CIV - Primary Tool Storage"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/storage/primary) -"drv" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/storage/primary) -"drw" = (/turf/simulated/wall/r_wall,/area/security/checkpoint2) -"drx" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/dockhallway) -"dry" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/dockhallway) -"drz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) -"drA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/dockhallway) -"drB" = (/turf/simulated/wall/r_wall,/area/crew_quarters/seconddeck/locker) -"drC" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"drD" = (/obj/structure/closet/wardrobe/suit,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) -"drE" = (/obj/machinery/camera/network/civilian{c_tag = "Civ - Locker Room One"; dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) -"drF" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"drG" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"drH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) -"drI" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"drJ" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"drK" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) -"drL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/locker) -"drM" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/locker) -"drN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"drO" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"drP" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"drQ" = (/turf/simulated/wall,/area/storage/primary) -"drR" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/dockhallway) -"drS" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"drT" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"drU" = (/obj/structure/sign/deck/second,/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/dockhallway) -"drV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Three"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"drW" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"drX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) -"drY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"drZ" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dsa" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsc" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsd" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dse" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsf" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsg" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsh" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsi" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsj" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsk" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsl" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsm" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsn" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dso" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsq" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsr" = (/obj/item/weapon/book/codex/lore/vir,/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dss" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dst" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsu" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsv" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsw" = (/turf/space,/area/shuttle/shuttle2/seconddeck) -"dsx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsy" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsC" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsE" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsH" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsI" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/landmark{name = "Observer-Start"},/obj/effect/landmark/start,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/one,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway One"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsP" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/white/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsQ" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsR" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsS" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsT" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsV" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsW" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Two"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsX" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dsZ" = (/obj/machinery/light,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dta" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dtb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dtc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dtd" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) -"dte" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dtf" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dtg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dth" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dti" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/three,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Five"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) -"dtj" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) -"dtk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D1) -"dtl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D1) -"dtm" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) -"dtn" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) -"dto" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) -"dtp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D2) -"dtq" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dtr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D2) -"dts" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) -"dtt" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) -"dtu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D3) -"dtv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D3) -"dtw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dtx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dty" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dtz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dtA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dtB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dtC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dtD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dtE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dtF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dtG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dtH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dtI" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dtJ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dtK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dtL" = (/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dtM" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dtN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dtO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dtP" = (/turf/space,/area/shuttle/transport1/station) -"dtQ" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dtR" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dtS" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dtT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dtU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dtV" = (/turf/space,/area/shuttle/escape/station) -"dtW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dtX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dtY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dtZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dua" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/emcloset,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dub" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"duc" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dud" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle1_dock_airlocksc"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"due" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duf" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s1s_dock_pump"; tag_chamber_sensor = "s1s_dock_sensor"; tag_exterior_door = "s1s_dock_outer"; tag_interior_door = "s1s_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s1s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dug" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"duh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle1_dock_airlocksc"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dui" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"duj" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duk" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dul" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dum" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dun" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"duo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dup" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"duq" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_dock_pump"; tag_chamber_sensor = "centcom_dock_sensor"; tag_exterior_door = "centcom_dock_outer"; tag_interior_door = "centcom_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dur" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dus" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dut" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"duu" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"duv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"duw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dux" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duz" = (/turf/space,/area/shuttle/arrival/station) -"duA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duC" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"duE" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"duF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"duG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Fore"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duL" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"duM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duP" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"duQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"duR" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"duS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"duU" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) -"duV" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"duX" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"duY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"duZ" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dva" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dvb" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dvc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dvd" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dve" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dvf" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvg" = (/obj/machinery/door/firedoor/border_only,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dvh" = (/obj/machinery/door/firedoor/border_only,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dvi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dvj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dvk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dvl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dvm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dvn" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) -"dvo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dvp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dvq" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dvr" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dvs" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_mech"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dvt" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dvu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_snorth_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_starboard_mech"; tag_airpump = "escape_dock_north_starboard_pump"; tag_chamber_sensor = "escape_dock_north_starboard_sensor"; tag_exterior_door = "escape_dock_north_starboard_outer"; tag_interior_door = "escape_dock_north_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvw" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvx" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvy" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvB" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_north_airlock"; master_tag = "arrivals_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_north_mech"; tag_airpump = "arrivals_dock_north_pump"; tag_chamber_sensor = "arrivals_dock_north_sensor"; tag_exterior_door = "arrivals_dock_north_outer"; tag_interior_door = "arrivals_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvC" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvD" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvE" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_north_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dvF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_north_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dvG" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "dock3_north_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "dock3_north_pump"; tag_chamber_sensor = "dock3_north_sensor"; tag_exterior_door = "dock3_north_outer"; tag_interior_door = "dock3_north_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dvH" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_north_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dvI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "dock3_north_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dvJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dvK" = (/turf/space,/area/shuttle/shuttle2/arrivals_dock) -"dvL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dvM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dvN" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dvO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dvP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_starboard_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvS" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dvU" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvW" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvX" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dvY" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dvZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "dock3_north_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_north_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dwa" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_north_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "dock3_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwb" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwd" = (/turf/space,/area/shuttle/response_ship/arrivals_dock) -"dwe" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwg" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dwh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dwi" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dwj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dwk" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) -"dwl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dwm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) -"dwn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dwo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dwp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dwq" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dwr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dws" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwt" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dwu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dwv" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dww" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwx" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"dwy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/item/device/radio/beacon,/obj/machinery/navbeacon/patrol{location = "SEC"; next_patrol = "CH1"},/mob/living/bot/secbot/beepsky,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) -"dwz" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"dwA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"dwB" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dwD" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dwE" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "response_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dwF" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwG" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "response_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwH" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dwI" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "response_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwJ" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwK" = (/obj/structure/closet/emcloset,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dwL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dwM" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dwN" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle2_dock_airlocksc"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwP" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dwQ" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s2s_dock_pump"; tag_chamber_sensor = "s2s_dock_sensor"; tag_exterior_door = "s2s_dock_outer"; tag_interior_door = "s2s_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s2s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwR" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwS" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle2_dock_airlocksc"; name = "exterior access button"; pixel_x = 5; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dwT" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dwW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dwX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dwY" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dwZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxa" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxc" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxd" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dxf" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxg" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxi" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxj" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dxk" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxl" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dxm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dxn" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxo" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxq" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxr" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) -"dxs" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxt" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxu" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxv" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxw" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxx" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_south_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "dock3_south_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dxy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "dock3_south_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxz" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_south_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dxB" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxC" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxE" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_mech"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dxF" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dxG" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxH" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_ssouth_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_starboard_mech"; tag_airpump = "escape_dock_south_starboard_pump"; tag_chamber_sensor = "escape_dock_south_starboard_sensor"; tag_exterior_door = "escape_dock_south_starboard_outer"; tag_interior_door = "escape_dock_south_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxJ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dxL" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxM" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxN" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_south_airlock"; master_tag = "arrivals_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_south_mech"; tag_airpump = "arrivals_dock_south_pump"; tag_chamber_sensor = "arrivals_dock_south_sensor"; tag_exterior_door = "arrivals_dock_south_outer"; tag_interior_door = "arrivals_dock_south_inner"; tag_shuttle_mech_sensor = "arrivals_dock_south_mech"},/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxP" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxQ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_south_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dxR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxS" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "dock3_south_airlock"; pixel_x = 0; pixel_y = -30; req_one_access = list(13); tag_airpump = "dock3_south_pump"; tag_chamber_sensor = "dock3_south_sensor"; tag_exterior_door = "dock3_south_outer"; tag_interior_door = "dock3_south_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxT" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "dock3_south_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxU" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxV" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dxW" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxX" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dxY" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dxZ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Aft"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dya" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyb" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyc" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyd" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dye" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyf" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyh" = (/obj/effect/floor_decal/sign/dock/one,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyi" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyl" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dym" = (/obj/effect/floor_decal/sign/dock/three,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dyo" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "trade_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyp" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dyr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dys" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyt" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyu" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dyw" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) -"dyx" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dyy" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dyz" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Dock Two Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dyA" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) -"dyB" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dyC" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dyD" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyF" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) -"dyG" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyH" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dyK" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dyN" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "trade_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyO" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "trade_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_one_access = list(13); tag_airpump = "trade_shuttle_dock_pump"; tag_chamber_sensor = "trade_shuttle_dock_sensor"; tag_exterior_door = "trade_shuttle_dock_outer"; tag_interior_door = "trade_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dyP" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = -28; pixel_y = 0; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyR" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "admin_shuttle_dock_sensor"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dyS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) -"dyT" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "nuke_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyU" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "nuke_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "nuke_shuttle_dock_pump"; tag_chamber_sensor = "nuke_shuttle_dock_sensor"; tag_exterior_door = "nuke_shuttle_dock_outer"; tag_interior_door = "nuke_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dyV" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dyW" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "trade_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) -"dyX" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) -"dyY" = (/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Dock Two External Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) -"dyZ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dza" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) -"dzb" = (/turf/space,/area/syndicate_station/arrivals_dock) -"dzc" = (/turf/space,/area/shuttle/merchant/away) -"dzd" = (/turf/space,/area/shuttle/administration/station) -"dze" = (/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dzf" = (/turf/space,/area/shuttle/response_ship/thirddeck) -"dzg" = (/turf/simulated/floor/airless,/area/thirddeck/roof) -"dzh" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/response_ship/thirddeck) -"dzi" = (/turf/simulated/wall/r_wall,/area/ai) -"dzj" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/flora/pottedplant/unusual{name = "Steve"; pixel_y = 15},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = 0},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/greengrid,/area/ai) -"dzk" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai) -"dzl" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzm" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzn" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzo" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzp" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai) -"dzq" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzr" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzs" = (/turf/simulated/floor/greengrid,/area/ai) -"dzt" = (/obj/effect/floor_decal/industrial/warning/cee,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) -"dzu" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/greengrid,/area/ai) -"dzv" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzw" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzx" = (/turf/space,/area/skipjack_station/thirddeck) -"dzy" = (/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) -"dzz" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dzA" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) -"dzB" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzC" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzD" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dzE" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/greengrid,/area/ai) -"dzF" = (/obj/structure/cable/cyan,/obj/machinery/power/smes/buildable{charge = 5e+006; input_attempt = 1; input_level = 200000; output_level = 200000},/obj/machinery/flasher{id = "AI"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plating,/area/ai) -"dzG" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) -"dzH" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzI" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzJ" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) -"dzK" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dzL" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) -"dzM" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) -"dzN" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dzO" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/greengrid,/area/ai) -"dzQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dzR" = (/turf/simulated/wall/durasteel,/area/ai) -"dzS" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) -"dzT" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/greengrid,/area/ai) -"dzU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzV" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dzW" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/device/radio/intercom/private{pixel_y = -21},/obj/item/device/radio/intercom/custom{dir = 1; pixel_y = 21},/turf/simulated/floor/greengrid,/area/ai) -"dzX" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzY" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dzZ" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAa" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = null; locked = 1; name = "AI Core"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAb" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = -30; pixel_y = -24},/obj/machinery/flasher{id = "AI"; pixel_x = 24; pixel_y = -25},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 8; pixel_y = 25; req_access = list(16)},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/xray/command{c_tag = "AI - Core"; dir = 2},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAc" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAd" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAe" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAf" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/device/radio/intercom/private{dir = 1; pixel_y = 21},/obj/item/device/radio/intercom/custom{pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) -"dAg" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/foreport) -"dAh" = (/obj/effect/landmark/start{name = "AI"},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = 30; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = -10},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = -10},/obj/item/device/radio/intercom{broadcasting = 1; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) -"dAi" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/critical{dir = 8; is_critical = 1; name = "west bump"; pixel_x = -24; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) -"dAj" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/greengrid,/area/ai) -"dAk" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/forestarboard) -"dAl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dAm" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/foreportsolar) -"dAn" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAo" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAp" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAq" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAr" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAs" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dAt" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dAu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/ai) -"dAv" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAw" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAx" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dAy" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAz" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/light,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAA" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAB" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAC" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAD" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAE" = (/obj/structure/firedoor_assembly,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAF" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/forestarboardsolar) -"dAG" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dAH" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dAI" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dAJ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dAK" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "foreportsolar"; name = "Fore Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dAL" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port"; dir = 2},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dAM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dAN" = (/turf/simulated/wall,/area/maintenance/solars/foreportsolar) -"dAO" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAP" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dAQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dAR" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAS" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/greengrid,/area/ai) -"dAU" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAV" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAW" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dAX" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAY" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dAZ" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dBa" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dBb" = (/turf/simulated/wall,/area/maintenance/solars/forestarboardsolar) -"dBc" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBd" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard"; dir = 2},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBe" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "forestarboardsolar"; name = "Fore Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBf" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBg" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBh" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dBi" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dBj" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dBk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Bathroom"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/sd) -"dBl" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dBm" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dBn" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_port_solar_pump"; tag_chamber_sensor = "fore_port_solar_sensor"; tag_exterior_door = "fore_port_solar_outer"; tag_interior_door = "fore_port_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBq" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dBv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dBw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dBx" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dBy" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dBz" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dBA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/thirddeck/roof) -"dBB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dBC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dBD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dBE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dBF" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) -"dBG" = (/obj/structure/catwalk,/turf/simulated/floor/airless,/area/thirddeck/roof) -"dBH" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 4; icon_state = "32-4"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/forestarboard) -"dBI" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/railing{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dBJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dBK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dBL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBQ" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBR" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_starboard_solar_pump"; tag_chamber_sensor = "fore_starboard_solar_sensor"; tag_exterior_door = "fore_starboard_solar_outer"; tag_interior_door = "fore_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dBT" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBU" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBV" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBW" = (/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBX" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBY" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dBZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dCa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dCb" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dCc" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dCd" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dCe" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dCf" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) -"dCg" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dCh" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/railing{dir = 4},/turf/simulated/floor,/area/maintenance/thirddeck/foreport) -"dCi" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; icon_state = "32-1"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/foreport) -"dCj" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) -"dCk" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dCl" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dCm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dCn" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dCo" = (/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dCp" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dCq" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dCr" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dCs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) -"dCt" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dCu" = (/turf/space,/area/ninja_dojo/thirddeck) -"dCv" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dCw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dCx" = (/turf/simulated/wall,/area/maintenance/thirddeck/foreport) -"dCy" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload) -"dCz" = (/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/machinery/door/blast/regular{id = "AICore"; name = "AI core maintenance hatch"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) -"dCA" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai) -"dCB" = (/obj/structure/sign/kiddieplaque,/turf/simulated/wall/r_wall,/area/ai/ai_upload) -"dCC" = (/turf/simulated/wall,/area/maintenance/thirddeck/forestarboard) -"dCD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dCE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dCF" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dCG" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/protectStation{pixel_x = -3; pixel_y = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dCH" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCJ" = (/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dCK" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_x = -36; pixel_y = 21},/obj/machinery/flasher{id = "AI"; pixel_x = -22; pixel_y = 24},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCL" = (/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dCM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/command{c_tag = "AI - Upload"; dir = 2},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCN" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset{pixel_x = 2; pixel_y = 3; pixel_z = 0},/obj/structure/window/reinforced{dir = 8},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dCO" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dCP" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dCQ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dCR" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/obj/machinery/camera/network/research{c_tag = "SCI - RD's Office"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) -"dCS" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dCT" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dCU" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCV" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCW" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCX" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dCZ" = (/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDa" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDb" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDc" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDd" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDe" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dDf" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dDg" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDh" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) -"dDk" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDl" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDm" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDn" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dDo" = (/obj/item/device/radio/intercom/locked/ai_private{dir = 4; pixel_x = 21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"dDq" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDr" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) -"dDs" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) -"dDu" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDx" = (/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dDy" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dDz" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "AI Upload"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) -"dDA" = (/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dDB" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dDC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/closet/crate,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDE" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDF" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDG" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDH" = (/obj/machinery/message_server,/obj/machinery/camera/network/command{c_tag = "AI - Messaging Server"; dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dDI" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dDJ" = (/obj/machinery/blackbox_recorder,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dDK" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_y = 21},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/command{c_tag = "AI - Upload Foyer"; dir = 2},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dDL" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dDM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 0; pixel_y = 24},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/flasher{id = "AIFoyer"; pixel_x = 0; pixel_y = 36},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dDN" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dDO" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dDP" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 8},/obj/machinery/computer/cryopod/robot{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dDQ" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDR" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dDS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDT" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dDU" = (/obj/machinery/computer/message_monitor,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dDV" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dDW" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dDX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dDY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dDZ" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dEa" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dEb" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dEc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Synthetic Storage Access"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEe" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEg" = (/obj/machinery/computer/aifixer,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dEh" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dEi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dEj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dEk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dEl" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop/quarters) -"dEm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) -"dEn" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) -"dEo" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"dEp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"dEq" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) -"dEr" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dEs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dEt" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) -"dEu" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload_foyer) -"dEv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/highsecurity{name = "AI Upload Access"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) -"dEw" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEy" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) -"dEz" = (/obj/machinery/cryopod/robot{dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) -"dEA" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) -"dEB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) -"dEC" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) -"dED" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) -"dEE" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) -"dEF" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hor/quarters) -"dEG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dEH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dEI" = (/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,/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dEJ" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dEK" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dEL" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dEM" = (/turf/simulated/wall,/area/maintenance/substation/command) -"dEN" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/substation/command) -"dEO" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dEP" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down{dir = 8},/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/structure/railing,/turf/simulated/open,/area/maintenance/substation/command) -"dEQ" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dER" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) -"dES" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) -"dET" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) -"dEU" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/techfloor{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) -"dEV" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dEW" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) -"dEX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"dEY" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dEZ" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFa" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/cmo/quarters) -"dFb" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFc" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH2"; next_patrol = "CH3"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"dFe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dFf" = (/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,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dFg" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dFh" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hopquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dFi" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dFj" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue_hop,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dFk" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/maintenance/substation/command) -"dFl" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dFm" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/command) -"dFn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFq" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) -"dFr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFt" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "cmoquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFu" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFv" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_cmo,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFw" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_rd,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFx" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFy" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "rdquarters"; pixel_x = 36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFz" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dFA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dFB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) -"dFC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dFD" = (/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{dir = 10},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dFE" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hop,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dFF" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dFG" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor,/area/maintenance/substation/command) -"dFH" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/command) -"dFI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFJ" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFK" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFM" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFN" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Fore"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFO" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFQ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dFR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFT" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dFU" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dFX" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) -"dFY" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dFZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dGa" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dGb" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dGc" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dGe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGf" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dGg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) -"dGh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hopquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) -"dGi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Head of Personnel Quarters"; req_access = list(57)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hop/quarters) -"dGj" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hop/quarters) -"dGk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/command) -"dGl" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/maintenance/substation/command) -"dGm" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dGn" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) -"dGo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmoquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) -"dGp" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo/quarters) -"dGq" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hor/quarters) -"dGr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Research Director Quarters"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hor/quarters) -"dGs" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) -"dGt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) -"dGu" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dGv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dGw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dGx" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dGy" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dGz" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dGA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dGB" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dGC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) -"dGD" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) -"dGE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGF" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGG" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft__inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) -"dGH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGI" = (/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,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dGK" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/port) -"dGL" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dGM" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGN" = (/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/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGO" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGP" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) -"dGQ" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGR" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGT" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dGU" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) -"dGV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/port) -"dGW" = (/obj/structure/sign/directions/cryo,/turf/simulated/wall,/area/hydroponics) -"dGX" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dGY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dGZ" = (/turf/unsimulated/mask,/area/hallway/primary/thirddeck/central) -"dHa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dHb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dHc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/holodeck_control) -"dHd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/starboard) -"dHe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dHf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dHg" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHh" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHi" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway One"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHk" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHl" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dHn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHp" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) -"dHq" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHs" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) -"dHt" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) -"dHu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) -"dHv" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_port_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_port_pump"; tag_chamber_sensor = "d3_port_sensor"; tag_exterior_door = "d3_port_outer"; tag_interior_door = "d3_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHw" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHy" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHz" = (/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 = 5},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway Two"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) -"dHB" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/machinery/navbeacon/patrol{location = "CH1"; next_patrol = "CH2"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"dHC" = (/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,/area/hallway/primary/thirddeck/port) -"dHD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHF" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHI" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dHL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) -"dHM" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dHN" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dHO" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dHP" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dHQ" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dHR" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) -"dHS" = (/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/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHT" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHU" = (/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,/area/hallway/primary/thirddeck/starboard) -"dHV" = (/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/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dHY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/machinery/navbeacon/patrol{location = "CH11"; next_patrol = "SEC"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) -"dHZ" = (/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 = 9},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway Two"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIa" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIc" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dId" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_starboard_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_starboard_pump"; tag_chamber_sensor = "d3_starboard_sensor"; tag_exterior_door = "d3_starboard_outer"; tag_interior_door = "d3_starboard_inner"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIe" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) -"dIf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dIg" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dIh" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) -"dIi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIj" = (/obj/structure/sign/directions/cryo{dir = 8},/turf/simulated/wall,/area/library) -"dIk" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIl" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIo" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIp" = (/obj/structure/sign/directions/cryo{dir = 8},/turf/simulated/wall/r_wall,/area/hallway/secondary/docking_hallway2) -"dIq" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dIr" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dIs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dIt" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIu" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIv" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIw" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIx" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dIy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dIz" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dIA" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dIB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dIC" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) -"dID" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod7/station) -"dIE" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) -"dIF" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/port) -"dIG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dII" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/white/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIJ" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) -"dIK" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/restroom) -"dIL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Command Restroom"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/restroom) -"dIM" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) -"dIN" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/chief/quarters) -"dIO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Chief Engineer Quarters"; req_access = list(56)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/chief/quarters) -"dIP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cequarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/chief/quarters) -"dIQ" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) -"dIR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Port"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dIS" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dIT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Starboard"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dIU" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) -"dIV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos/quarters) -"dIW" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Head of Security Quarters"; req_access = list(58)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hos/quarters) -"dIX" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hos/quarters) -"dIY" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) -"dIZ" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/bs) -"dJa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Secretary Quarters"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/bs) -"dJb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "bsquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/bs) -"dJc" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/bs) -"dJd" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dJe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dJf" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) -"dJg" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) -"dJh" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) -"dJi" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod8/station) -"dJj" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/station) -"dJk" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_7"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dJl" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dJm" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dJn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_hatch"; locked = 1; name = "Escape Pod Hatch 7"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dJo" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/port) -"dJp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_7_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_7_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dJq" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dJr" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dJs" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dJt" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dJu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dJv" = (/obj/structure/table/standard,/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"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dJw" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/ce,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dJx" = (/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{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dJy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dJz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dJA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dJB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dJC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) -"dJD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dJE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dJF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dJG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dJH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dJI" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/bluedouble,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dJJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dJK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dJL" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dJM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_8_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_8_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dJN" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_berth_hatch"; locked = 1; name = "Escape Pod 8"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/starboard) -"dJO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_hatch"; locked = 1; name = "Escape Pod Hatch 8"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dJP" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dJQ" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dJR" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_8"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_8_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dJS" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/station) -"dJT" = (/obj/structure/sign/warning/pods{dir = 8},/turf/simulated/wall,/area/hallway/primary/thirddeck/port) -"dJU" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dJV" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dJW" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) -"dJX" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dJY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dJZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKa" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKb" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dKc" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dKd" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "cequarters"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dKe" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKf" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dKg" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dKh" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/thirddeck/central) -"dKi" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/thirddeck/central) -"dKj" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/thirddeck/central) -"dKk" = (/obj/structure/sign/directions/evac{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dKl" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKm" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hosquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dKn" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dKo" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dKp" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/pen/multi,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dKq" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dKr" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "bsoffice"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dKs" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) -"dKt" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dKu" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dKv" = (/obj/structure/sign/warning/pods{dir = 4},/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) -"dKw" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftport) -"dKx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKy" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftport) -"dKz" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKA" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKB" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKC" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKD" = (/obj/structure/undies_wardrobe,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dKE" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dKF" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dKG" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH10"; next_patrol = "CH11"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) -"dKH" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKI" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKO" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dKP" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/device/defib_kit/jumper_kit/loaded,/obj/item/device/defib_kit/jumper_kit/loaded,/turf/simulated/floor/tiled/techfloor,/area/assembly/robotics) -"dKQ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dKR" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dKS" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dKT" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dKU" = (/obj/structure/closet/lawcloset,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -"dKV" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftstarboard) -"dKW" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftstarboard) -"dKX" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dKY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dKZ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Aft"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLm" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLp" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLq" = (/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dLr" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLs" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLt" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLu" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLv" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLw" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLx" = (/obj/machinery/vending/coffee,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLy" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/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,/turf/simulated/floor/tiled,/area/bridge) -"dLz" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge) -"dLA" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dLB" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dLC" = (/obj/structure/sign/deck/third,/turf/simulated/wall,/area/hallway/primary/thirddeck/central) -"dLD" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dLF" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/bridge) -"dLG" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) -"dLH" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dLI" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dLJ" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dLK" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dLL" = (/obj/structure/closet/wardrobe/captain{name = "station director's wardrobe"},/obj/random/drinkbottle,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dLM" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dLN" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/soap/deluxe,/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dLO" = (/obj/structure/closet,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dLQ" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dLR" = (/obj/machinery/button/remote/blast_door{id = "heads_meeting"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dLT" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dLU" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dLV" = (/obj/structure/bed/chair/comfy/blue,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dLW" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dLX" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dLY" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) -"dLZ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) -"dMa" = (/obj/structure/railing{dir = 4},/turf/simulated/open,/area/hallway/primary/thirddeck/central) -"dMb" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dMc" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dMd" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dMe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) -"dMf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) -"dMg" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/random_multi/single_item/captains_spare_id,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMh" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMk" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/obj/machinery/computer/station_alert/all,/turf/simulated/floor/tiled/dark,/area/bridge) -"dMl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dMm" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dMn" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dMo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dMp" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dMq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dMr" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dMs" = (/obj/structure/bed/chair/comfy/blue{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dMt" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dMu" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dMv" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dMw" = (/obj/structure/bed/chair/comfy/blue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dMx" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dMy" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 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},/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge/meeting_room) -"dMz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/bridge) -"dMA" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dMB" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dMC" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dMD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dME" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; name = "Locker Room"; sortType = "Locker Room"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dMF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dMG" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dMH" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) -"dMI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/bridge) -"dMJ" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/bridge) -"dMK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dML" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMO" = (/obj/structure/closet/secure_closet/captains{name = "station director's locker"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dMP" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dMQ" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/northright,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) -"dMR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dMS" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) -"dMT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dMU" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dMV" = (/obj/structure/table/steel,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dMW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dMX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dMY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dMZ" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dNa" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dNb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"dNc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/command{c_tag = "COM - Conference Room"; dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dNe" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dNf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dNg" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dNh" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Stairwell"; dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dNi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dNj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dNk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dNl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dNm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dNn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dNo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{name = "Station Director's Quarters"; req_access = list(20)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dNp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dNq" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dNr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dNs" = (/obj/item/frame,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dNt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dNu" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNv" = (/obj/machinery/hologram/holopad,/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,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNw" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNx" = (/turf/simulated/wall/r_wall,/area/bridge) -"dNy" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dNz" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dNA" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) -"dNB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dNC" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) -"dND" = (/obj/structure/displaycase,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNE" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNG" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/camera/network/command{c_tag = "COM - Station Director's Office"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNH" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNI" = (/obj/machinery/computer/card,/obj/random_multi/single_item/captains_spare_id,/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNJ" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dNK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dNL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dNM" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) -"dNN" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dNO" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) -"dNP" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dNQ" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dNR" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/hand_labeler,/obj/item/device/retail_scanner/command,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNS" = (/obj/structure/table/wooden_reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNT" = (/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,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNU" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNV" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dNX" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dNY" = (/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/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dNZ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOa" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Port"; dir = 6},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/guncabinet/sidearm{anchored = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOb" = (/obj/structure/noticeboard{pixel_y = 27},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOc" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOd" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOe" = (/obj/structure/cryofeed{dir = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dOf" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dOg" = (/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOh" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Starboard"},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"dOk" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dOl" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOp" = (/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOq" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Colony Director"},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the Starboard Bridge Doors."; id = "sbridgedoor"; name = "Starboard Bridge Door Control"; pixel_x = 30; pixel_y = -6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the captain's office."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 30; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOr" = (/obj/structure/table/wooden_reinforced,/obj/machinery/requests_console{announcementConsole = 1; department = "Station Director's Desk"; departmentType = 5; name = "Station Administrator RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOs" = (/obj/structure/table/rack{dir = 4},/obj/item/clothing/mask/gas,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dOt" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) -"dOu" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dOv" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) -"dOw" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dOx" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dOy" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dOz" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dOA" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dOB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dOC" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOF" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOG" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOH" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) -"dOJ" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/structure/window/basic{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/southleft{name = "Director's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOL" = (/obj/structure/table/wooden_reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/device/megaphone,/obj/item/weapon/pen/multi,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOM" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dON" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/blue_captain,/obj/item/weapon/stamp/denied{pixel_x = -2; pixel_y = -2},/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOO" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dOP" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dOQ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dOR" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dOS" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dOT" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"; pixel_y = 10; tag = "icon-plant-01"},/obj/structure/table/woodentable,/obj/machinery/alarm{pixel_y = 22},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dOU" = (/obj/structure/table/woodentable,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/item/weapon/storage/box/cups,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dOV" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dOW" = (/obj/machinery/camera/network/command{c_tag = "COM - Secretary Office"; dir = 2},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dOX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Secretary Office"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge/meeting_room) -"dOY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/beacon,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dOZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dPa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dPb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dPc" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/device/flashlight,/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 8},/turf/simulated/floor/tiled/dark,/area/bridge) -"dPd" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dPe" = (/obj/machinery/computer/atmos_alert,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled/dark,/area/bridge) -"dPf" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/dark,/area/bridge) -"dPg" = (/obj/machinery/computer/rcon,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 8},/turf/simulated/floor/tiled/dark,/area/bridge) -"dPh" = (/obj/machinery/computer/power_monitor,/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled/dark,/area/bridge) -"dPi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/multitool,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled/dark,/area/bridge) -"dPj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dPk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"dPl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dPm" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/crew_quarters/seconddeck/locker) -"dPn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{id_tag = "captaindoor"; name = "Station Director's Office"; req_access = list(20)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/sd) -"dPo" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPs" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPt" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/hand_tele,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPu" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dPv" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dPw" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dPx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(19)},/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dPy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPD" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/bridge) -"dPF" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dPG" = (/turf/simulated/floor/tiled,/area/bridge) -"dPH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dPI" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/bridge) -"dPJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPK" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPL" = (/obj/machinery/papershredder,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dPM" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dPN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dPO" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dPP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dPQ" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftportsolar) -"dPR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dPS" = (/obj/machinery/photocopier,/obj/machinery/button/remote/blast_door{id = "csblast"; name = "Blastdoors"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPT" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPU" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPV" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPW" = (/obj/structure/filingcabinet,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dPX" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"dPY" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"dPZ" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/folder/red,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/bridge) -"dQa" = (/obj/machinery/computer/security,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dQb" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"dQc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"dQd" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) -"dQe" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/bridge) -"dQf" = (/obj/machinery/button/remote/blast_door{id = "bridge blast"; name = "Bridge Blastdoors"; pixel_x = 0; pixel_y = -36},/obj/machinery/button/windowtint{id = "bridge_center"; pixel_x = -11; pixel_y = -24},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dQg" = (/obj/machinery/computer/crew,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/white/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"dQh" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/folder/white,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/bridge) -"dQi" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/white/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dQj" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dQk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dQl" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dQm" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dQn" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dQo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dQp" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftstarboardsolar) -"dQq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dQr" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dQs" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQu" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQv" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQw" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQx" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQy" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dQz" = (/turf/simulated/wall,/area/maintenance/solars/aftportsolar) -"dQA" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dQB" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dQC" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dQD" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dQE" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dQF" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dQG" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Bridge"},/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dQH" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"dQI" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dQJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dQK" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dQL" = (/obj/structure/table/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/newscaster{pixel_y = -30},/obj/item/weapon/storage/secure/briefcase,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled,/area/bridge) -"dQM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) -"dQN" = (/obj/machinery/computer/card,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) -"dQO" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) -"dQP" = (/obj/machinery/computer/communications,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) -"dQQ" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/aicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) -"dQR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) -"dQS" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) -"dQT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) -"dQU" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) -"dQV" = (/obj/machinery/button/remote/blast_door{id = "directorblast"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dQW" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dQX" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) -"dQY" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) -"dQZ" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/aftstarboard) -"dRa" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/railing{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRb" = (/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRc" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRd" = (/turf/simulated/wall,/area/maintenance/solars/aftstarboardsolar) -"dRe" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRf" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRg" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRh" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRi" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRk" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRl" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dRm" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dRn" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dRo" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dRp" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) -"dRq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dRr" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dRs" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRt" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_port_solar_pump"; tag_chamber_sensor = "aft_port_solar_sensor"; tag_exterior_door = "aft_port_solar_outer"; tag_interior_door = "aft_port_solar_inner"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRy" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dRA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dRB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dRC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dRD" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 8; icon_state = "32-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/aftport) -"dRE" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dRF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dRG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dRH" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) -"dRI" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/bridge) -"dRJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dRK" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dRL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) -"dRM" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) -"dRN" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dRO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dRP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dRQ" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) -"dRR" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dRW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_starboard_solar_pump"; tag_chamber_sensor = "aft_starboard_solar_sensor"; tag_exterior_door = "aft_starboard_solar_outer"; tag_interior_door = "aft_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSe" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dSf" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dSg" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/navbeacon/patrol{location = "CH3"; next_patrol = "ENG"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"dSh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/navbeacon/patrol{location = "CH9"; next_patrol = "CH10"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"dSi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/beacon,/obj/machinery/navbeacon/patrol{location = "ENG"; next_patrol = "CH4"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) -"dSj" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dSk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/beacon,/obj/machinery/navbeacon/patrol{location = "MED"; next_patrol = "CH9"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) -"dSl" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftportsolar"; name = "Aft Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dSm" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port"; dir = 1},/obj/machinery/light/small,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dSn" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) -"dSo" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSp" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSr" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dSs" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dSt" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dSu" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dSv" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dSw" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dSx" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dSy" = (/obj/structure/cable,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSz" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSA" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftstarboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) -"dSB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/machinery/navbeacon/patrol{location = "CH4"; next_patrol = "CH5"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) -"dSC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dSD" = (/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSE" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSF" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSG" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) -"dSH" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/thirddeck/aftport) -"dSI" = (/obj/structure/table/rack{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) -"dSJ" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dSK" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dSL" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) -"dSM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dSN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) -"dSO" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) -"dSP" = (/turf/space,/area/syndicate_station/thirddeck) -"dSQ" = (/obj/effect/landmark/map_data{height = 3},/turf/space,/area/space) -"dSR" = (/obj/structure/cryofeed{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) -"dSS" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) -"dST" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/dockhallway) -"dSU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dSV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dSW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D1) -"dSX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D3) -"dSY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dSZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) -"dTh" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/central) -"dTi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTk" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTm" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dTo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dTq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTr" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTt" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTu" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/port) -"dTw" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dTy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dTz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/starboard) -"dTB" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) -"dTC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dTD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dTE" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/central) -"dTF" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) -"dTG" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/bridge) -"dTH" = (/obj/machinery/computer/guestpass{pixel_y = 28},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/bridge) -"dTI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/bridge) -"dTJ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/machinery/navbeacon/patrol{location = "CH9"; next_patrol = "MED"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) -"dTK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"dTL" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Foyer"; dir = 2; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) -"dTM" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{pixel_y = 24},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) -"dTN" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/structure/flora/pottedplant/orientaltree,/turf/simulated/floor/tiled/white,/area/medical/foyer) -"dTO" = (/obj/structure/table/steel,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/medbay_emt_bay) -"dTP" = (/obj/machinery/mech_recharger,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) -"dTQ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH5"; next_patrol = "CH6"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) -"dTR" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/machinery/navbeacon/patrol{location = "CH6"; next_patrol = "CIV"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"dTS" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/machinery/navbeacon/patrol{location = "CH7"; next_patrol = "CH8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"dTT" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH8"; next_patrol = "CH9"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) -"dTU" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) -"dTV" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) -"dTW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) -"dTX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) -"dTY" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dTZ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dUa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) -"dUb" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cash_register/civilian{dir = 4; icon_state = "register_idle"; tag = "icon-register_idle (EAST)"},/obj/machinery/door/blast/shutters{dir = 8; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"dUc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/navbeacon/patrol{location = "CIV"; next_patrol = "CH7"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) -"dUd" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dUe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) -"dUf" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dUg" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dUh" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dUi" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dUj" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) -"dUk" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dUl" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"dUm" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) -"dUn" = (/obj/machinery/camera/network/command{c_tag = "AI - Fore"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dUo" = (/obj/machinery/camera/network/command{c_tag = "AI - Port 1"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dUp" = (/obj/machinery/camera/network/command{c_tag = "AI - Starboard"; dir = 4},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dUq" = (/obj/machinery/camera/network/command{c_tag = "AI - Port 2"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) -"dUr" = (/obj/structure/closet/secure_closet/CMO_wardrobe,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) -"dUs" = (/obj/structure/closet/secure_closet/RD_wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) -"dUt" = (/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/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dUu" = (/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/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) -"dUv" = (/obj/structure/closet/secure_closet/engineering_chief_wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) -"dUw" = (/obj/structure/closet/secure_closet/hos_wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) -"dUx" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/recharger{pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/obj/item/weapon/storage/box/donut,/turf/simulated/floor/tiled,/area/bridge) -"dUy" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"bbS" = (/obj/structure/closet{name = "Evidence Closet"},/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bbT" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bbU" = (/turf/simulated/floor/tiled,/area/security/main) +"bbV" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/security/main) +"bbW" = (/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/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) +"bbX" = (/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,/area/security/main) +"bbY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/main) +"bbZ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/security/main) +"bca" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/main) +"bcb" = (/obj/structure/sign/warning/caution{name = "\improper CAUTION: FIRING RANGE"},/turf/simulated/wall,/area/security/range) +"bcc" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/range) +"bcd" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/security/range) +"bce" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/range) +"bcf" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"bcg" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"bch" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"bci" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"bcj" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/blast/regular{dir = 1; id = "Cell 2"; name = "Cell 2 Door"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) +"bck" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) +"bcl" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"bcm" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/blast/regular{dir = 1; id = "Cell 1"; name = "Cell 1 Door"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/prison) +"bcn" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"bco" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"bcp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access = list(2)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"bcq" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) +"bcr" = (/turf/simulated/wall,/area/security/warden) +"bcs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access = list(3)},/turf/simulated/floor/tiled/techmaint,/area/security/warden) +"bct" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/warden) +"bcu" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/warden) +"bcv" = (/obj/machinery/status_display,/turf/simulated/wall,/area/security/warden) +"bcw" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bcx" = (/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/tiled,/area/security/brig) +"bcy" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bcz" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/evidence_storage) +"bcA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/security/evidence_storage) +"bcB" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bcC" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) +"bcD" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/clothing/glasses/hud/security,/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,/turf/simulated/floor/tiled/red,/area/security/main) +"bcE" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/tiled/red,/area/security/main) +"bcF" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) +"bcG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/main) +"bcH" = (/obj/machinery/light{dir = 4},/obj/structure/table/standard,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/main) +"bcI" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/magnetic_controller{autolink = 1},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/sunglasses{pixel_x = 3; pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud/aviator,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/weapon/screwdriver,/turf/simulated/floor/tiled,/area/security/range) +"bcJ" = (/obj/machinery/door/window/northleft{name = "Range Access"},/obj/effect/floor_decal/industrial/loading{dir = 1},/turf/simulated/floor/tiled,/area/security/range) +"bcK" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/gun/energy/laser/practice,/turf/simulated/floor/tiled,/area/security/range) +"bcL" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/gun/energy/laser/practice,/turf/simulated/floor/tiled,/area/security/range) +"bcM" = (/obj/structure/lattice,/obj/structure/grille/broken,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) +"bcN" = (/turf/simulated/wall/r_wall,/area/security/security_cell_hallway) +"bcO" = (/obj/structure/bed/padded,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/machinery/flasher{id = "Cell 2"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bcP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bcQ" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Cell 2"; dir = 8},/obj/item/device/radio/headset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bcR" = (/turf/simulated/wall,/area/security/security_cell_hallway) +"bcS" = (/obj/structure/bed/padded,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/machinery/flasher{id = "Cell 1"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bcT" = (/obj/structure/closet/secure_closet/brig{id = "Cell 1"; name = "Cell 1 Locker"},/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Cell 1"; dir = 8},/obj/item/device/radio/headset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bcU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) +"bcV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/machinery/camera/network/prison{c_tag = "SEC - Common Brig Enterance"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) +"bcW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "visit_blast"; name = "Privacy Shutters"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/prison) +"bcX" = (/obj/machinery/door/airlock{id_tag = "visitdoor"; name = "Visitation Area"; req_access = list(63)},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"bcY" = (/obj/machinery/computer/prisoner,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bcZ" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/camera/network/security{c_tag = "SEC - Warden's Office"},/obj/item/device/radio/intercom/department/security{pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bda" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel_reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp/ward,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/obj/item/device/retail_scanner/security,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdc" = (/obj/structure/closet/secure_closet/warden,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdd" = (/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Fore"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bde" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/brig) +"bdf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bdg" = (/turf/simulated/wall,/area/security/security_processing) +"bdh" = (/obj/structure/table/standard,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdi" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdj" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdk" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdl" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/folder/red{pixel_x = 2; pixel_y = 4},/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdm" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/security_processing) +"bdn" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bdo" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) +"bdp" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/red,/area/security/main) +"bdq" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/red,/area/security/main) +"bdr" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) +"bds" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/main) +"bdt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/range) +"bdu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/range) +"bdv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/security/range) +"bdw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/security/range) +"bdx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/range) +"bdy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bdz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bdA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bdB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bdC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/flasher{id = "permentryflash"; name = "Floor mounted flash"; pixel_x = 0},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/prison) +"bdD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/security/prison) +"bdE" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/prison) +"bdF" = (/obj/machinery/flasher{id = "IAflash"; pixel_x = 26; pixel_y = 0},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/prison) +"bdG" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/recharger/wallcharger{pixel_x = -26; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdH" = (/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdL" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bdM" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bdN" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bdO" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) +"bdP" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdQ" = (/turf/simulated/floor/tiled,/area/security/security_processing) +"bdR" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/security/security_processing) +"bdS" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/evidence,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) +"bdT" = (/obj/structure/noticeboard{pixel_x = -32},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bdU" = (/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/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/tiled/red,/area/security/main) +"bdV" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/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/red,/area/security/main) +"bdW" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/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,/area/security/main) +"bdX" = (/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/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/main) +"bdY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/main) +"bdZ" = (/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/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/main) +"bea" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/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/plating,/area/security/range) +"beb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) +"bec" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) +"bed" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) +"bee" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -26},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) +"bef" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -26},/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/blanks,/obj/item/weapon/storage/box/blanks{pixel_x = 2; pixel_y = -2},/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m9mmt/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/item/ammo_magazine/m45/practice,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/obj/item/ammo_magazine/s45/practice,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/range) +"beg" = (/turf/simulated/wall,/area/rnd/test_area) +"beh" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/turf/simulated/floor/airless,/area/rnd/test_area) +"bei" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/security/security_cell_hallway) +"bej" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) +"bek" = (/obj/machinery/light,/turf/simulated/floor/tiled/airless,/area/rnd/test_area) +"bel" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) +"bem" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) +"ben" = (/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/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/brigdoor/northright{id = "Cell 2"; name = "Cell 2"; req_access = null; req_one_access = list(2,4)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beo" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"bep" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"beq" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northright{name = "Visitation"; req_access = list(2)},/obj/item/weapon/book/codex/corp_regs,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/turf/simulated/floor/tiled,/area/security/prison) +"ber" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Communal Brig Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/prison) +"bes" = (/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/obj/structure/table/steel_reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bet" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"beu" = (/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = 36; pixel_y = 18; req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bev" = (/obj/structure/table/steel_reinforced,/obj/machinery/door/window/brigdoor/eastleft{name = "Warden's Desk"; req_access = list(1)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bew" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/brig) +"bex" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) +"bey" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/security{name = "Security Processing"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_processing) +"bez" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) +"beA" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) +"beB" = (/obj/structure/table/standard,/obj/item/device/tape/random,/obj/item/device/taperecorder,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/security/security_processing) +"beC" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/security_processing) +"beD" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) +"beE" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"beF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) +"beG" = (/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/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/security/main) +"beH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/main) +"beI" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/main) +"beJ" = (/turf/simulated/wall,/area/security/aid_station) +"beK" = (/turf/simulated/wall,/area/security/security_ses) +"beL" = (/turf/simulated/wall/r_wall,/area/security/security_ses) +"beM" = (/obj/structure/closet/emcloset,/turf/simulated/floor/airless,/area/rnd/test_area) +"beN" = (/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) +"beO" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) +"beP" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-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/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/brigdoor/northright{id = "Cell 1"; name = "Cell 1"; req_access = null; req_one_access = list(2,4)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beQ" = (/obj/machinery/camera/network/security{c_tag = "SEC - Cell Hallway 1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/obj/machinery/door_timer/cell_2{pixel_y = 32; req_access = null; req_one_access = list(2,4)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beR" = (/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,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beS" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beT" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/button/remote/blast_door{id = "Cell 2"; name = "Cell 2 Door"; pixel_x = -1; pixel_y = 28; req_access = null; req_one_access = list(2,4)},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/obj/machinery/button/flasher{id = "Cell 2"; name = "Cell 2 Flash"; pixel_x = -1; pixel_y = 36; req_access = list(2,4); tag = "Cell 2"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beU" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/machinery/door_timer/cell_1{pixel_y = 32; req_access = null; req_one_access = list(2,4)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beV" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beW" = (/obj/machinery/computer/security/telescreen{desc = "Big Brother is watching."; layer = 3.4; name = "Brig Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beY" = (/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"},/obj/machinery/button/remote/airlock{id = "prisonentry"; name = "Entry Doors"; pixel_x = 26; pixel_y = -9; req_access = list(2)},/obj/machinery/button/remote/airlock{id = "prisonexit"; name = "Exit Doors"; pixel_x = 26; pixel_y = 0; req_access = list(2)},/obj/machinery/button/flasher{id = "permentryflash"; name = "entry flash"; pixel_x = 39; pixel_y = 0; req_access = list(2)},/obj/machinery/button/remote/blast_door{id = "Prison Gate"; name = "Prison Lockdown"; pixel_x = 32; pixel_y = 9; req_access = list(2)},/obj/machinery/button/flasher{id = "permflash"; name = "Brig flashes"; pixel_x = 39; pixel_y = -9; req_access = list(2); tag = "permflash"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"beZ" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/security/prison) +"bfa" = (/obj/machinery/button/remote/blast_door{id = "visit_blast"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/flasher{id = "IAflash"; pixel_x = 25; pixel_y = 12},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/prison) +"bfb" = (/obj/machinery/photocopier,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfe" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bff" = (/obj/structure/table/steel_reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/hand_labeler,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfg" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) +"bfh" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) +"bfi" = (/obj/machinery/camera/network/security{c_tag = "SEC - Processing"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_processing) +"bfj" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/security/security_processing) +"bfk" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/security_processing) +"bfl" = (/obj/machinery/status_display,/turf/simulated/wall,/area/security/security_processing) +"bfm" = (/obj/machinery/photocopier,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/main) +"bfn" = (/obj/machinery/papershredder,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bfo" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bfp" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/main) +"bfq" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/main) +"bfr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/main) +"bfs" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack{pixel_x = -4; pixel_y = 3},/obj/item/stack/medical/bruise_pack{pixel_x = 10},/obj/item/stack/medical/ointment{pixel_y = 10},/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bft" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_y = 10},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bfu" = (/obj/structure/table/standard,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/camera/network/security{c_tag = "SEC - Medical Station"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bfv" = (/turf/simulated/wall/r_wall,/area/security/aid_station) +"bfw" = (/obj/structure/closet/bombclosetsecurity,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/security/security_ses) +"bfx" = (/obj/structure/closet/bombclosetsecurity,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/security/security_ses) +"bfy" = (/obj/structure/closet/l3closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom/department/security{pixel_y = 21},/obj/machinery/camera/network/security{c_tag = "SEC - Secondary Equipment Storage"},/turf/simulated/floor/tiled,/area/security/security_ses) +"bfz" = (/obj/structure/closet/l3closet/security,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/security/security_ses) +"bfA" = (/obj/structure/closet/wardrobe/orange,/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_ses) +"bfB" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/airless,/area/rnd/test_area) +"bfC" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/rnd/test_area) +"bfD" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless,/area/rnd/test_area) +"bfE" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/airless,/area/rnd/test_area) +"bfF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/engineering/atmos) +"bfG" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"bfH" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) +"bfI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfJ" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfK" = (/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 = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfN" = (/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/computer/cryopod{density = 0; layer = 3.3; pixel_x = 0; pixel_y = -32},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/security_cell_hallway) +"bfO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfQ" = (/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/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bfT" = (/obj/machinery/door/airlock{id_tag = "visitdoor"; name = "Visitation Area"; req_access = list(63)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/security/prison) +"bfU" = (/obj/machinery/disposal,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfV" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfX" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfY" = (/obj/machinery/computer/security{pixel_y = 0},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/security/warden) +"bfZ" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/warden) +"bga" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bgb" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) +"bgc" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/security_processing) +"bgd" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/security_processing) +"bge" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/security_processing) +"bgf" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/button/windowtint{id = "secpro"; pixel_x = -12; pixel_y = -24},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/security_processing) +"bgg" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/security_processing) +"bgh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/main) +"bgi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/main) +"bgj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Briefing Room"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/main) +"bgk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/main) +"bgl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bgm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bgn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bgo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/security/security_ses) +"bgp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_ses) +"bgq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/security_ses) +"bgr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/security/security_ses) +"bgs" = (/turf/simulated/floor/tiled,/area/security/security_ses) +"bgt" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall,/area/rnd/test_area) +"bgu" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/rnd/test_area) +"bgv" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/engineering/atmos) +"bgw" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/turf/space,/area/space) +"bgx" = (/turf/simulated/wall/r_wall,/area/security/riot_control) +"bgy" = (/turf/simulated/wall,/area/security/riot_control) +"bgz" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Riot Control"; req_access = list(2)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/security/riot_control) +"bgA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 1"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) +"bgB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 2"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) +"bgC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bgD" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bgE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Cells"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) +"bgF" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) +"bgG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bgH" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/security/warden) +"bgI" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/warden) +"bgJ" = (/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/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access = list(3)},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/techmaint,/area/security/warden) +"bgK" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/warden) +"bgL" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/warden) +"bgM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bgN" = (/obj/machinery/door/firedoor/glass,/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/tiled,/area/security/brig) +"bgO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bgP" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) +"bgQ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "secpro"},/turf/simulated/floor/plating,/area/security/security_processing) +"bgR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security Processing"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_processing) +"bgS" = (/obj/machinery/vending/security,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bgT" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bgU" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bgV" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bgW" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bgX" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) +"bgY" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bgZ" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bha" = (/obj/structure/bed/roller,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bhb" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/security/security_ses) +"bhc" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/security/security_ses) +"bhd" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/tiled,/area/security/security_ses) +"bhe" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/machinery/door/window/northleft,/turf/simulated/floor/tiled,/area/security/security_ses) +"bhf" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/machinery/door/window/northright,/turf/simulated/floor/tiled,/area/security/security_ses) +"bhg" = (/turf/simulated/floor/airless,/area/space) +"bhh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/space) +"bhi" = (/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) +"bhj" = (/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Nitrogen"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) +"bhk" = (/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) +"bhl" = (/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Oxygen"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) +"bhm" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white{tag = "icon-corner_white (NORTH)"; icon_state = "corner_white"; dir = 1},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) +"bhn" = (/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Air"; dir = 2},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) +"bho" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) +"bhp" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) +"bhq" = (/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Gas Mixing"; dir = 2},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) +"bhr" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/riot_control) +"bhs" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/security/riot_control) +"bht" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bhu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bhv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bhw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bhx" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bhy" = (/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 = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bhz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Cells"; req_access = list(1)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/security/security_cell_hallway) +"bhA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) +"bhB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/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,/area/security/brig) +"bhC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bhD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bhG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bhH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/brig) +"bhL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bhM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bhP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bhQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Mid"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhR" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"bhT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bhU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) +"bhV" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/security/brig) +"bhW" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"bhX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/aid_station) +"bhY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_security{name = "Security Medical"; req_access = newlist()},/turf/simulated/floor/tiled/white,/area/security/aid_station) +"bhZ" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/security_ses) +"bia" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/machinery/door/airlock/security{name = "Secondary Equipment Storage"; req_access = list(2)},/turf/simulated/floor/tiled/steel_grid,/area/security/security_ses) +"bib" = (/obj/effect/floor_decal/corner/red/full,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) +"bic" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) +"bid" = (/obj/effect/floor_decal/corner/blue/full,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) +"bie" = (/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) +"bif" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) +"big" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white,/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) +"bih" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; pixel_y = 1; use_power = 1},/obj/effect/floor_decal/corner/lime/full,/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) +"bii" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) +"bij" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/computer/area_atmos/area,/turf/simulated/floor/plating,/area/security/riot_control) +"bik" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/security/riot_control) +"bil" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/security/riot_control) +"bim" = (/obj/structure/table/steel,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/item/device/radio/headset,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bin" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bio" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bip" = (/obj/structure/table/steel,/obj/item/weapon/pen,/obj/item/weapon/paper,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/item/device/radio/headset,/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"biq" = (/obj/structure/closet/secure_closet/brig,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/obj/item/device/radio/headset,/turf/simulated/floor/tiled/dark,/area/security/security_cell_hallway) +"bir" = (/obj/structure/closet/secure_closet/brig,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/headset,/turf/simulated/floor/tiled/dark,/area/security/security_cell_hallway) +"bis" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/security_cell_hallway) +"bit" = (/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biu" = (/obj/structure/disposalpipe/junction/yjunction{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"biv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) +"biw" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) +"bix" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Port"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"biA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) +"biB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) +"biC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"biG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) +"biH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) +"biI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"biJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; name = "HoS Office"; sortType = "HoS Office"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"biK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"biL" = (/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{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"biM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"biN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/security/brig) +"biO" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Security"; sortType = "Security"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) +"biP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) +"biQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) +"biR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"biS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"biT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"biU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"biV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"biW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/brig) +"biX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"biY" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/brig) +"biZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/brig) +"bja" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bjb" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bjc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bjd" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bje" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bjf" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/camera/network/security{c_tag = "SEC - Riot Control"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/security/riot_control) +"bjg" = (/turf/simulated/floor/plating,/area/security/riot_control) +"bjh" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/security/riot_control) +"bji" = (/obj/machinery/camera/network/security{c_tag = "SEC - Solitary Confinement 2"; dir = 1},/obj/structure/cryofeed{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) +"bjj" = (/obj/machinery/cryopod{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) +"bjk" = (/obj/machinery/cryopod,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) +"bjl" = (/obj/machinery/camera/network/security{c_tag = "SEC - Solitary Confinement 1"; dir = 1},/obj/structure/cryofeed,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/security/security_cell_hallway) +"bjm" = (/turf/simulated/wall,/area/security/detectives_office) +"bjn" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/detectives_office) +"bjo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) +"bjp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/security{id_tag = "detdoor"; name = "Detective"; req_access = list(4)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/security/detectives_office) +"bjq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) +"bjr" = (/turf/simulated/wall/r_wall,/area/security/detectives_office) +"bjs" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/brig) +"bjt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) +"bju" = (/turf/simulated/wall,/area/security/lobby) +"bjv" = (/obj/machinery/door/window/brigdoor/northleft{req_access = list(63)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -34; pixel_y = 0},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; pixel_x = -24; pixel_y = 0; req_access = list(63)},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bjw" = (/obj/structure/window/reinforced{dir = 1},/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/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bjx" = (/obj/machinery/door/window/brigdoor/northright{req_access = list(63)},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bjy" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) +"bjz" = (/turf/simulated/wall/r_wall,/area/security/brig) +"bjA" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/brig) +"bjB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bjC" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) +"bjD" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjF" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/security/brig) +"bjG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/security/brig) +"bjH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/security/brig) +"bjI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Security Wing"; req_access = list(63)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/security/brig) +"bjJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/security/brig) +"bjK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/brig) +"bjL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/security{c_tag = "SEC - Brig Hallway Starboard"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjM" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjP" = (/obj/effect/floor_decal/borderfloor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/brig) +"bjQ" = (/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/brig) +"bjR" = (/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/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/security/brig) +"bjS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) +"bjT" = (/obj/random/tool,/turf/space,/area/space) +"bjU" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/lattice,/turf/space,/area/space) +"bjV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) +"bjW" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space) +"bjX" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/security/riot_control) +"bjY" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/item/weapon/wrench,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/plating,/area/security/riot_control) +"bjZ" = (/obj/structure/table/reinforced,/obj/machinery/microscope,/obj/item/device/radio/intercom/department/security{pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bka" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bkb" = (/obj/machinery/computer/security/wooden_tv,/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/lino,/area/security/detectives_office) +"bkc" = (/obj/structure/table/wooden_reinforced,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "detoffice"; pixel_x = -12; pixel_y = 24},/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/tape/random,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/lino,/area/security/detectives_office) +"bkd" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/machinery/camera/network/security{c_tag = "SEC - Detective Office"; dir = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office) +"bke" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/lino,/area/security/detectives_office) +"bkf" = (/turf/simulated/floor/lino,/area/security/detectives_office) +"bkg" = (/obj/structure/closet/wardrobe/detective,/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/structure/noticeboard{pixel_y = 30},/turf/simulated/floor/lino,/area/security/detectives_office) +"bkh" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) +"bki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/lobby) +"bkj" = (/obj/machinery/computer/security,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/lobby) +"bkk" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/lobby) +"bkl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) +"bkm" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) +"bkn" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/security/lobby) +"bko" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/security/lobby) +"bkp" = (/obj/item/device/radio/intercom/department/security{dir = 8; icon_override = "secintercom"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) +"bkq" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos) +"bkr" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos) +"bks" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) +"bkt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Head of Security Quarters"; req_access = list(58)},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hos) +"bku" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) +"bkv" = (/turf/simulated/wall/r_wall,/area/lawoffice) +"bkw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/security/brig) +"bkx" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northright{name = "Security Delivery"; req_access = list(1)},/turf/simulated/floor/tiled,/area/security/brig) +"bky" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/security) +"bkz" = (/obj/machinery/button/remote/blast_door{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = -1; pixel_y = 28; req_access = null; req_one_access = list(2,4)},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/obj/machinery/button/flasher{id = "Cell 1"; name = "Cell 1 Flash"; pixel_x = -1; pixel_y = 36; req_access = list(2,4); tag = "Cell 1"},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) +"bkA" = (/turf/simulated/wall/r_wall,/area/engineering/atmos) +"bkB" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos) +"bkC" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkD" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkE" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkF" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkG" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkI" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkJ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkK" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkL" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkM" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/atmos{name = "Riot Control Maintenance"; req_access = newlist(); req_one_access = list(2,12,24)},/turf/simulated/floor/plating,/area/security/riot_control) +"bkO" = (/obj/structure/table/steel,/obj/item/device/t_scanner,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bkP" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bkQ" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bkR" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bkS" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bkT" = (/obj/item/weapon/stool/padded,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bkU" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_y = -3},/obj/item/weapon/folder/yellow{pixel_y = -5},/obj/item/weapon/storage/box/swabs{layer = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bkV" = (/obj/structure/closet/secure_closet/detective,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flash,/turf/simulated/floor/lino,/area/security/detectives_office) +"bkW" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bkX" = (/obj/structure/table/wooden_reinforced,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bkY" = (/obj/item/weapon/stool/padded,/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/carpet,/area/security/detectives_office) +"bkZ" = (/turf/simulated/floor/carpet,/area/security/detectives_office) +"bla" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/machinery/light{dir = 4},/turf/simulated/floor/lino,/area/security/detectives_office) +"blb" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) +"blc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bld" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/lobby) +"ble" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby) +"blf" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southleft{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/book/codex/corp_regs,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) +"blg" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) +"blh" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/southright{name = "Secure Door"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) +"bli" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby) +"blj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/security/lobby) +"blk" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) +"bll" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) +"blm" = (/obj/machinery/disposal,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 28},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bln" = (/obj/machinery/camera/network/security{c_tag = "SEC - HoS' Office"; dir = 2},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"blo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"blp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"blq" = (/obj/machinery/photocopier,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 36},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"blr" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bls" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/windowtint{id = "lawyer_tint"; pixel_x = 30; pixel_y = -26; req_access = list(58)},/obj/machinery/newscaster{pixel_y = 30},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"blt" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"blu" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"blv" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"blw" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{anchored = 0; department = "Internal Affairs"},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/corner/blue/border{dir = 5},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"blx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access = list(1)},/turf/simulated/floor/plating,/area/security/brig) +"bly" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/navbeacon/delivery/north{location = "Security"},/turf/simulated/floor/plating,/area/security/brig) +"blz" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Security Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"blA" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"blB" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"blC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos) +"blD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "N2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Nitrogen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blF" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Connector"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Port"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Oxygen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blI" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blK" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Inlet Valve"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blL" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Air Mix to Connector"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blM" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Outlet Valve"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blN" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blO" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mixing to Mix Tank"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Starboard"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix Tank to Port"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix Tank to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blS" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/wall/r_wall,/area/engineering/atmos) +"blU" = (/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"blV" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/security_port) +"blW" = (/turf/simulated/wall,/area/maintenance/security_port) +"blX" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/security_port) +"blY" = (/turf/simulated/floor/plating,/area/maintenance/security_port) +"blZ" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bma" = (/obj/structure/table/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bmb" = (/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bmc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bmd" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase/crimekit,/obj/item/weapon/storage/briefcase/crimekit,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bme" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/turf/simulated/floor/lino,/area/security/detectives_office) +"bmf" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/carpet,/area/security/detectives_office) +"bmg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bmh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bmi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/lino,/area/security/detectives_office) +"bmj" = (/obj/machinery/door/airlock/security{id_tag = "detdoor"; name = "Detective"; req_access = list(4)},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/security/detectives_office) +"bmk" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bml" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) +"bmm" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bmn" = (/obj/effect/landmark{name = "lightsout"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bmo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bmp" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) +"bmq" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) +"bmr" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bms" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bmt" = (/obj/structure/bed/chair,/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{dir = 9},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bmu" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bmv" = (/obj/machinery/papershredder,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bmw" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bmx" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/internalaffairs,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bmy" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bmz" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bmA" = (/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bmB" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bmC" = (/turf/simulated/wall,/area/lawoffice) +"bmD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bmE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bmF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"bmG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"bmH" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/substation/security) +"bmI" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"bmJ" = (/turf/simulated/wall,/area/space) +"bmK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/ai_status_display{pixel_y = 32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmL" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmM" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmN" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmO" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmP" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmQ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmR" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmS" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmT" = (/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmU" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmV" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmW" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bmY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bmZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bna" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bnb" = (/obj/machinery/camera/network/security{c_tag = "SEC - Forensic Office"; dir = 4},/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bnc" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bne" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bnf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/window/westright{name = "Forensics Area"; req_one_access = list(4)},/turf/simulated/floor/lino,/area/security/detectives_office) +"bng" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bnh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bni" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bnj" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bnk" = (/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor/lino,/area/security/detectives_office) +"bnl" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "detoffice"},/turf/simulated/floor/plating,/area/security/detectives_office) +"bnm" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) +"bnn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bno" = (/turf/simulated/floor/tiled,/area/security/lobby) +"bnp" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/security/lobby) +"bnq" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/security/lobby) +"bnr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/lobby) +"bns" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bnt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos) +"bnu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bnv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/flashlight/lamp/green{dir = 2; pixel_x = 10; pixel_y = 12},/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bnw" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/folder/red,/obj/item/weapon/stamp/hos,/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bnx" = (/obj/machinery/computer/skills{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bny" = (/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{pixel_x = -4; pixel_y = 8},/obj/item/device/tape/random,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/device/radio/off,/obj/machinery/light{dir = 4},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bnz" = (/obj/machinery/photocopier,/obj/machinery/camera/network/civilian{c_tag = "CIV - Internal Affairs"; dir = 5},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bnA" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bnB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bnC" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bnD" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bnE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bnF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnH" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnI" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 7500; tag_east = 2; tag_east_con = null; tag_north = 1; tag_north_con = 0.21; tag_south = 0; tag_south_con = null; tag_west = 1; tag_west_con = 0.79; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnJ" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnK" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnL" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnM" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Tank Bypass Pump"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnN" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/valve/digital,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Mix to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnQ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnR" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnS" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnT" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnU" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/security_port) +"bnV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bnW" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bnX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bnY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bnZ" = (/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"boa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bob" = (/obj/machinery/dnaforensics,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"boc" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/papershredder,/turf/simulated/floor/lino,/area/security/detectives_office) +"bod" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/security/detectives_office) +"boe" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/carpet,/area/security/detectives_office) +"bof" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/lino,/area/security/detectives_office) +"bog" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/lobby) +"boh" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) +"boi" = (/obj/machinery/atm{pixel_y = -30},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/security/lobby) +"boj" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) +"bok" = (/obj/machinery/camera/network/security{c_tag = "SEC - Lobby"; dir = 1},/turf/simulated/floor/tiled,/area/security/lobby) +"bol" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/security/lobby) +"bom" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant/fern,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/lobby) +"bon" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) +"boo" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/lobby) +"bop" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"boq" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bor" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/machinery/button/remote/airlock{id = "HoSdoor"; name = "Office Door"; pixel_x = -36; pixel_y = 29},/obj/machinery/button/windowtint{id = "hosoffice"; pixel_x = -26; pixel_y = 30; req_access = list(58)},/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = -36; pixel_y = 39; req_access = list(2)},/obj/effect/landmark/start{name = "Head of Security"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bos" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"bot" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bou" = (/obj/structure/closet/lawcloset,/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bov" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bow" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"box" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"boy" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"boz" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"boA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"boB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"boC" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"boD" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/random/maintenance/security,/obj/random/cash,/turf/simulated/floor,/area/maintenance/security_starboard) +"boE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"boF" = (/obj/effect/floor_decal/corner/black/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) +"boG" = (/obj/effect/floor_decal/corner/black/full{dir = 1},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) +"boH" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"boI" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"boJ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"boK" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boL" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boM" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "N2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boN" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 4; tag_south = 1; tag_west = 5; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boO" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boP" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 3; tag_south = 0; tag_west = 1; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boQ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boR" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boS" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boT" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boU" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boV" = (/obj/machinery/atmospherics/binary/pump{name = "Transit to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boW" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boX" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/security_port) +"boZ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/maintenance/security_port) +"bpa" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/meter,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bpb" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bpc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Forensics Maintenance Access"; req_access = list(4)},/turf/simulated/floor/plating,/area/security/detectives_office) +"bpd" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bpe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bpf" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/security/detectives_office) +"bpg" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer/adv,/obj/item/device/reagent_scanner,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bph" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/lino,/area/security/detectives_office) +"bpi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bpj" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) +"bpk" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/tape/random,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/lino,/area/security/detectives_office) +"bpl" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/security/lobby) +"bpm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/lobby) +"bpn" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"},/turf/simulated/floor/tiled/steel_grid,/area/security/lobby) +"bpo" = (/obj/machinery/status_display,/turf/simulated/wall,/area/security/lobby) +"bpp" = (/obj/structure/filingcabinet,/obj/item/device/radio/intercom/department/security{dir = 4; icon_override = "secintercom"; pixel_x = -21},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bpq" = (/obj/machinery/computer/security,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bpr" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bps" = (/obj/structure/closet/secure_closet/hos,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bpt" = (/obj/machinery/photocopier/faxmachine{department = "Head of Security"},/obj/machinery/status_display{pixel_x = 32; pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) +"bpu" = (/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/secure/briefcase,/obj/structure/closet,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bpv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bpw" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bpx" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/button/windowtint{id = "lawyer_tint"; pixel_x = -26; pixel_y = 30; req_access = list(58)},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bpy" = (/obj/machinery/atmospherics/valve/digital/open,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bpz" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bpA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bpB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bpC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/obj/machinery/meter,/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bpD" = (/obj/effect/floor_decal/corner/black/full,/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Carbon Dioxide"; dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) +"bpE" = (/obj/effect/floor_decal/corner/black/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) +"bpF" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bpG" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"bpH" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bpI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "CO2 Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpJ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpK" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpL" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpM" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpN" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpO" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpP" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpQ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpR" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpS" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpU" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpV" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/warning/compressed_gas{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpW" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/atmospherics) +"bpX" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bpY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/plushie/beepsky,/turf/simulated/floor/plating,/area/maintenance/security_port) +"bpZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bqa" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bqb" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bqc" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/spray/luminol,/obj/item/device/uv_light,/obj/item/clothing/gloves/sterile/latex,/obj/machinery/requests_console{announcementConsole = 0; department = "Security"; departmentType = 5; name = "Security RC"; pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bqd" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{desc = "Talk... listen through this."; dir = 2; name = "Station Intercom (Brig Radio)"; pixel_x = 0; pixel_y = -21; wires = 7},/obj/item/weapon/forensics/sample_kit,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bqe" = (/obj/structure/table/reinforced,/obj/item/weapon/forensics/sample_kit/powder,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"bqf" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/photocopier,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/lino,/area/security/detectives_office) +"bqg" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/lino,/area/security/detectives_office) +"bqh" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/corp_regs,/turf/simulated/floor/lino,/area/security/detectives_office) +"bqi" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30; pixel_x = 2; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office) +"bqj" = (/obj/structure/closet/secure_closet/detective,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flash,/turf/simulated/floor/lino,/area/security/detectives_office) +"bqk" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/lino,/area/security/detectives_office) +"bql" = (/obj/item/weapon/bedsheet/ian,/obj/item/clothing/suit/ianshirt,/turf/simulated/floor/plating,/area/security/lobby) +"bqm" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/fore) +"bqn" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = -32},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"bqo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"bqp" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"bqq" = (/obj/structure/sign/deck/second,/turf/simulated/wall,/area/security/lobby) +"bqr" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hos) +"bqs" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bqt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bqu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bqv" = (/obj/machinery/papershredder,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bqw" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bqx" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/lawoffice) +"bqy" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bqz" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/firstaid,/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bqA" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/clothing/suit/storage/hazardvest/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/security_starboard) +"bqB" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bqC" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bqD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqE" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqF" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqH" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqI" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqJ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqM" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqN" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/binary/pump{name = "Transit to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqO" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqP" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqQ" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/table/rack,/obj/item/weapon/tank/oxygen/yellow,/obj/item/weapon/tank/oxygen/yellow,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"bqR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; RCon_tag = "Substation - Atmospherics"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"bqS" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Atmos Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"bqT" = (/turf/simulated/wall/r_wall,/area/maintenance/engineering) +"bqU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/engineering) +"bqV" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/airless,/area/maintenance/security_port) +"bqW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"bqX" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"bqY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"bqZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/security_port) +"bra" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_port) +"brb" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) +"brc" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) +"brd" = (/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"bre" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"brf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"brg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/eva_hallway) +"brh" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bri" = (/obj/structure/railing,/turf/simulated/open,/area/hallway/secondary/eva_hallway) +"brj" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"brk" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"brl" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) +"brm" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) +"brn" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) +"bro" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/turf/simulated/floor/plating,/area/lawoffice) +"brp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Internal Affairs"; req_access = list(38)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/lawoffice) +"brq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/lawoffice) +"brr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"brs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/maintenance/security_starboard) +"brt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) +"bru" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) +"brv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) +"brw" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/eva_hallway) +"brx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) +"bry" = (/obj/effect/floor_decal/corner/orange/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Phoron"; dir = 4},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) +"brz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "tox_in"; pixel_y = 1; use_power = 1},/obj/effect/floor_decal/corner/purple/diagonal,/obj/effect/floor_decal/corner/orange{dir = 4},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) +"brA" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/orange/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brB" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) +"brC" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 0; tag_north = 2; tag_south = 1; tag_west = 6; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"brD" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brE" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"brF" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Waste to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brG" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Air to Supply"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brH" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brI" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/decal/warning_stripes,/turf/simulated/floor,/area/engineering/atmos) +"brK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"brL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"brM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"brN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"brO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Atmospherics Substation"; req_one_access = list(11,24)},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"brP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/maintenance/engineering) +"brQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) +"brR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/airless,/area/maintenance/security_port) +"brS" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/maintenance/security_port) +"brT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_port_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"brU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_port_pump"},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"brV" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/maintenance/security_port) +"brW" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_port_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 26; req_access = list(18)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"brX" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"brY" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) +"brZ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/head/welding,/obj/item/weapon/storage/belt/utility,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsa" = (/obj/machinery/suit_cycler/mining,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsb" = (/obj/machinery/suit_cycler/engineering,/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/command{c_tag = "EVA - Port"},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsc" = (/obj/machinery/suit_cycler/medical,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsd" = (/obj/machinery/suit_cycler/security,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bse" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsf" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsg" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/effect/floor_decal/industrial/warning,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsh" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsi" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsj" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsk" = (/obj/structure/table/reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/command{c_tag = "EVA - Starboard"},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsl" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/rods{amount = 50},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsm" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/effect/floor_decal/industrial/warning,/obj/machinery/requests_console{department = "EVA"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bsn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) +"bso" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bsp" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bsq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/item/device/radio/beacon,/obj/machinery/navbeacon/patrol{location = "SEC"; next_patrol = "CH1"},/mob/living/bot/secbot/beepsky,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) +"bsr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bss" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/eva_hallway) +"bst" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/security/aid_station) +"bsu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsz" = (/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/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Starboard Hallway Two"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsL" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsM" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_starboard_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "eva_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_starboard_airlock"; pixel_x = 0; pixel_y = 26; req_access = list(18); tag_airpump = "eva_starboard_pump"; tag_chamber_sensor = "eva_starboard_sensor"; tag_exterior_door = "eva_starboard_outer"; tag_interior_door = "eva_starboard_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bsO" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) +"bsP" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_starboard_airlock"; name = "exterior access button"; pixel_x = -26; pixel_y = 25; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) +"bsQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/maintenance/research) +"bsR" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/purple/diagonal,/obj/effect/floor_decal/corner/orange{dir = 8},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) +"bsS" = (/obj/effect/floor_decal/corner/orange/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) +"bsT" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) +"bsU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/cap/visible{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/orange/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsV" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsW" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsX" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsY" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsZ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bta" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btb" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btc" = (/obj/machinery/atmospherics/tvalve/digital{dir = 8; name = "Waste to Space"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btd" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bte" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btf" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; name = "Scrubber to Waste"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btg" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bth" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bti" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"btk" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"btl" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"btm" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"btn" = (/turf/simulated/wall,/area/maintenance/substation/atmospherics) +"bto" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/maintenance/engineering) +"btp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) +"btq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/engineering) +"btr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eva_port_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/maintenance/security_port) +"bts" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_port_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eva_port_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "eva_port_pump"; tag_chamber_sensor = "eva_port_sensor"; tag_exterior_door = "eva_port_outer"; tag_interior_door = "eva_port_inner"},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"btt" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_port_pump"},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"btu" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eva_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/maintenance/security_port) +"btv" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"btw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"btx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = list(18)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"bty" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/ai_monitored/storage/eva) +"btD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btF" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"btJ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_one_access = list(18)},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/eva) +"btK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"btL" = (/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; name = "Janitor Closet"; sortType = "Janitor Closet"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"btM" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"btN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"btO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/eva_hallway) +"btP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btQ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Starboard Hallway One"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btX" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"btZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bua" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bub" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"buc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bud" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eva_starboard_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -25; req_access = list(18)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bue" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eva_starboard_sensor"; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"buf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "eva_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bug" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) +"buh" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small,/turf/simulated/floor/airless,/area/maintenance/research) +"bui" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/research) +"buj" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "fore_starboard_airlock"; name = "exterior access button"; pixel_x = 26; pixel_y = -25; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/maintenance/research) +"buk" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/airless,/area/maintenance/research) +"bul" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/airless,/area/space) +"bum" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Phoron to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bun" = (/obj/machinery/atmospherics/binary/pump{name = "Port to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"buo" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bup" = (/obj/machinery/atmospherics/unary/freezer{dir = 1; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"buq" = (/obj/machinery/atmospherics/unary/heater{dir = 1; icon_state = "heater"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bur" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bus" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"but" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos/monitoring) +"buu" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) +"buv" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) +"buw" = (/turf/simulated/wall,/area/maintenance/substation/engineering) +"bux" = (/turf/simulated/wall,/area/maintenance/engineering) +"buy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/maintenance/engineering) +"buz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/engineering) +"buA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"buB" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"buC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/security_port) +"buD" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/sign/warning/airlock{pixel_x = -32},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"buE" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/maintenance/security_port) +"buF" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buG" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buH" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buI" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buJ" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buK" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buL" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buM" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buN" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"buP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) +"buQ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"buR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) +"buS" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"buT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"buU" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/hallway/secondary/eva_hallway) +"buV" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"buW" = (/turf/simulated/wall,/area/janitor) +"buX" = (/obj/structure/noticeboard{pixel_x = -32},/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/northleft{name = "Janitorial Desk"},/obj/machinery/door/window/southright{name = "Janitorial Desk"; req_access = list(26)},/obj/machinery/door/blast/shutters{dir = 1; id = "janitor_blast"; layer = 3.1; name = "Janitorial Shutters"},/turf/simulated/floor/tiled,/area/janitor) +"buY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Custodial Closet"; req_access = list(26)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/janitor) +"buZ" = (/turf/simulated/wall,/area/storage/auxillary) +"bva" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/storage/auxillary) +"bvb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass{name = "Auxiliary Storage"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/storage/auxillary) +"bvc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) +"bvd" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) +"bve" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall,/area/hallway/secondary/eva_hallway) +"bvf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) +"bvg" = (/turf/simulated/wall/r_wall,/area/maintenance/research) +"bvh" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/airless,/area/maintenance/research) +"bvi" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/research) +"bvj" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/research) +"bvk" = (/obj/effect/floor_decal/corner/white/diagonal{tag = "icon-corner_white_diagonal (EAST)"; icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrous Oxide"; dir = 4},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) +"bvl" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2o_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) +"bvm" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bvn" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvo" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 2; tag_south = 0; tag_west = 7; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvp" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvq" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvr" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvt" = (/obj/machinery/computer/security/engineering,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bvu" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bvv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bvw" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bvx" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/obj/structure/sign/atmosplaque{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bvy" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bvz" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bvA" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bvB" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bvC" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bvD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/maintenance/engineering) +"bvE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/engineering) +"bvF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bvG" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bvH" = (/obj/structure/closet/crate,/obj/item/weapon/storage/backpack,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bvI" = (/obj/structure/table/steel,/obj/item/clothing/head/orangebandana,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor,/area/maintenance/engineering) +"bvJ" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/powercell,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bvK" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/engineering) +"bvL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_port) +"bvM" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/breacher,/obj/machinery/door/window/eastleft{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvN" = (/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvO" = (/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvP" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvQ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvR" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_security{name = "Security Hardsuits"; req_access = list(1)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvS" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medical Hardsuits"; req_one_access = list(5)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bvT" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bvU" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bvV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) +"bvW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Hallway Two"; dir = 8},/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bvX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bvY" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) +"bvZ" = (/turf/simulated/wall,/area/maintenance/research) +"bwa" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled,/area/janitor) +"bwb" = (/obj/machinery/button/remote/blast_door{id = "janitor_blast"; name = "Privacy Shutters"; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/janitor) +"bwc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/janitor) +"bwd" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/janitor) +"bwe" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = 28},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/steel,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled,/area/janitor) +"bwf" = (/obj/structure/table/steel,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bwg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bwh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bwi" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bwj" = (/obj/structure/table/steel,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/weapon/tape_roll,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bwk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/research) +"bwl" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) +"bwm" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/firstaid,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/research) +"bwn" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/research) +"bwo" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/research) +"bwp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "fore_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_starboard_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "fore_starboard_pump"; tag_chamber_sensor = "fore_starboard_sensor"; tag_exterior_door = "fore_starboard_outer"; tag_interior_door = "fore_starboard_inner"},/turf/simulated/floor/plating,/area/maintenance/research) +"bwq" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "fore_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_starboard_sensor"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"bwr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/research) +"bws" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/research) +"bwt" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research) +"bwu" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) +"bwv" = (/obj/effect/floor_decal/corner/white/diagonal{tag = "icon-corner_white_diagonal (EAST)"; icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) +"bww" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bwx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "N2O Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwy" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwz" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwC" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwD" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Ports to Waste"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwE" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Ports to Waste"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwF" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; name = "Air to Ports"},/obj/structure/cable/cyan,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwG" = (/turf/simulated/wall,/area/engineering/atmos/monitoring) +"bwH" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = -26; pixel_y = -16; req_one_access = list(10,24)},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwJ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwK" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwL" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Monitoring"; dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwM" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bwN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bwO" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bwP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bwQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bwR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bwS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/engineering) +"bwT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/engineering) +"bwU" = (/obj/structure/cable{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/plating,/area/maintenance/engineering) +"bwV" = (/obj/structure/cable{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/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bwW" = (/obj/structure/cable{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/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bwX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bwY" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/white,/obj/item/clothing/head/helmet/space/skrell/white,/obj/machinery/door/window/eastleft{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bwZ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/obj/machinery/door/window/westright{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bxa" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/weapon/rig/eva/equipped,/obj/machinery/door/window/westright{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bxb" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/obj/machinery/door/window/westright{name = "Security Hardsuits"; req_one_access = list(1)},/obj/item/clothing/head/helmet/space/void/security,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bxc" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westright{name = "Medical Hardsuits"; req_one_access = list(5)},/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bxd" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"bxe" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bxf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) +"bxg" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bxh" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/fore) +"bxi" = (/turf/simulated/floor/plating,/area/maintenance/research) +"bxj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/seconddeck/fore) +"bxk" = (/obj/structure/closet/l3closet/janitor,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/janitor) +"bxl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/janitor) +"bxm" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/janitor) +"bxn" = (/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) +"bxo" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/camera/network/civilian{c_tag = "CIV - Custodial Closet"; dir = 9},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled,/area/janitor) +"bxp" = (/obj/structure/closet/toolcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bxq" = (/turf/simulated/floor/tiled,/area/storage/auxillary) +"bxr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/recharger{pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/auxillary) +"bxs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bxt" = (/obj/structure/table/steel,/obj/item/device/camera_film{pixel_x = 2; pixel_y = 2},/obj/item/device/camera_film{pixel_x = -2; pixel_y = -2},/obj/item/device/camera,/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bxu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bxv" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/research) +"bxw" = (/obj/structure/table/steel,/obj/random/powercell,/obj/random/maintenance/research,/obj/random/tool,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research) +"bxx" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"bxy" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/research) +"bxz" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "fore_starboard_pump"},/turf/simulated/floor/plating,/area/maintenance/research) +"bxA" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "fore_starboard_pump"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"bxB" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/research) +"bxC" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/research) +"bxD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/obj/effect/floor_decal/industrial/warning,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) +"bxE" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) +"bxF" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/closet/wardrobe/white,/obj/random/maintenance/clean,/obj/random/maintenance/research,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/research) +"bxG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/research) +"bxH" = (/turf/simulated/wall/r_wall,/area/rnd/research) +"bxI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/research) +"bxJ" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/airless,/area/space) +"bxK" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/space) +"bxL" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/airless,/area/space) +"bxM" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/airless,/area/space) +"bxN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/space) +"bxO" = (/obj/machinery/light/small,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"bxP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxins_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -22; req_one_access = list(8,13,65)},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"bxQ" = (/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"bxR" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bxS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxU" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxV" = (/obj/structure/table/standard,/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/cell_charger,/obj/item/device/multitool{pixel_x = 5},/obj/item/weapon/wrench,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxW" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxX" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxY" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/obj/machinery/meter,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxZ" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/meter,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bya" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) +"byb" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bye" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byf" = (/obj/machinery/computer/atmoscontrol,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byg" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"byh" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"byi" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"byj" = (/obj/machinery/power/grid_checker,/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"byk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/maintenance/engineering) +"byl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor,/area/maintenance/engineering) +"bym" = (/turf/simulated/floor/plating,/area/maintenance/engineering) +"byn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"byo" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/black,/obj/item/clothing/head/helmet/space/skrell/black,/obj/machinery/door/window/eastright{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"byp" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/obj/machinery/door/window/westleft{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"byq" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"byr" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"bys" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/head/helmet/space/void/atmos,/obj/machinery/door/window/westleft{name = "Engineering Hardsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"byt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/security,/obj/machinery/door/window/westleft{name = "Security Hardsuits"; req_one_access = list(1)},/obj/item/clothing/head/helmet/space/void/security,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"byu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"byv" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fore) +"byw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"byx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) +"byy" = (/obj/structure/closet/jcloset,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/janitor) +"byz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/janitor) +"byA" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/janitor) +"byB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/janitor) +"byC" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/janitor) +"byD" = (/obj/structure/closet/toolcloset,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) +"byE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/auxillary) +"byF" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Auxiliary Storage"; dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/item/weapon/storage/fancy/markers,/obj/item/weapon/storage/fancy/markers,/turf/simulated/floor/tiled,/area/storage/auxillary) +"byG" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) +"byH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) +"byI" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/maintenance/research) +"byJ" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/research) +"byK" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/research) +"byL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/research) +"byM" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/research) +"byN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) +"byO" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"byP" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"byQ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/plating,/area/maintenance/research) +"byR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) +"byS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"byT" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research) +"byU" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"byV" = (/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) +"byW" = (/turf/simulated/wall,/area/rnd/toxins_launch) +"byX" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"byY" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall,/area/rnd/toxins_launch) +"byZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/toxins_launch) +"bza" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/rnd/toxins_launch) +"bzb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxins_outer"; locked = 1; name = "Toxins External Access"; req_access = list(8,10,13)},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bzc" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/dispenser,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bzd" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/item/clothing/glasses/welding,/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bze" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = -32},/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/device/pipe_painter,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Aft"; dir = 1},/obj/machinery/light/spot,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bzf" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) +"bzg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) +"bzh" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) +"bzi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) +"bzj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) +"bzk" = (/obj/structure/sign/warning/nosmoking_2,/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) +"bzl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) +"bzm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bzn" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/maintenance/engineering) +"bzo" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bzp" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bzq" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bzr" = (/obj/structure/table/steel,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/machinery/alarm{pixel_y = 22},/obj/random/tool/powermaint,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bzs" = (/obj/structure/closet/toolcloset,/obj/random/tank,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bzt" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bzu" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fore) +"bzv" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bzw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fore) +"bzx" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bzy" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19)},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"bzz" = (/obj/structure/closet/crate,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research) +"bzA" = (/obj/structure/closet/jcloset,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/janitor) +"bzB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/janitor) +"bzC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/janitor) +"bzD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/janitor) +"bzE" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled,/area/janitor) +"bzF" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bzG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bzH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/storage/auxillary) +"bzI" = (/obj/structure/table/steel,/obj/item/weapon/hand_labeler,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bzJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzK" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) +"bzL" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/research) +"bzM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) +"bzN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) +"bzP" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzQ" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzR" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzS" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzT" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "fore_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 25; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzU" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzV" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bzW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) +"bzX" = (/obj/machinery/atmospherics/tvalve/mirrored{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/research) +"bzY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) +"bzZ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/research) +"bAa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) +"bAb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bAc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bAd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bAe" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/vacuum{pixel_x = -32},/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"bAf" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bAg" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/bed/chair{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bAh" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins Test Area"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/driver{dir = 2; id = "toxinsdriver"; pixel_x = 24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bAi" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "toxins_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "toxins_airlock"; pixel_x = -25; pixel_y = 0; tag_airpump = "toxins_pump"; tag_chamber_sensor = "toxins_sensor"; tag_exterior_door = "toxins_outer"; tag_interior_door = "toxins_inner"},/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "toxins_sensor"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bAj" = (/turf/space,/area/skipjack_station/seconddeck) +"bAk" = (/turf/simulated/wall/r_wall,/area/engineering/storage) +"bAl" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAo" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAq" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAr" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAs" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAt" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAu" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAw" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAz" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAB" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) +"bAD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAE" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAF" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAJ" = (/obj/structure/cable{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/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAK" = (/obj/structure/cable{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/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAL" = (/obj/structure/cable{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/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAM" = (/obj/structure/cable{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/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAN" = (/obj/structure/cable{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/item/inflatable/door/torn,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAO" = (/obj/structure/cable{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/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAQ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAR" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bAS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bAT" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) +"bAU" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/research) +"bAV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/eastright{name = "Janitorial Delivery"; req_one_access = list(26)},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/janitor) +"bAW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/janitor) +"bAX" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/janitor) +"bAY" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled,/area/janitor) +"bAZ" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/turf/simulated/floor/tiled,/area/janitor) +"bBa" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bBb" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bBc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/auxillary) +"bBd" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/storage/auxillary) +"bBe" = (/obj/structure/table/steel,/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/device/taperecorder,/obj/item/device/taperecorder,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/storage/auxillary) +"bBf" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bBg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) +"bBh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research) +"bBi" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/research) +"bBj" = (/obj/structure/closet/crate/plastic,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/medical,/obj/random/medical/lite,/obj/random/bomb_supply,/obj/random/bomb_supply,/turf/simulated/floor/plating,/area/maintenance/research) +"bBk" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) +"bBl" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hor) +"bBm" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) +"bBn" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/research) +"bBo" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bBp" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) +"bBq" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"bBr" = (/turf/simulated/wall,/area/rnd/research_lockerroom) +"bBs" = (/turf/simulated/wall,/area/rnd/research_restroom_sc) +"bBt" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bBu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bBv" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bBw" = (/turf/simulated/wall/r_wall,/area/rnd/storage) +"bBx" = (/turf/simulated/wall,/area/rnd/storage) +"bBy" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/airlock_sensor{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"bBz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westleft{name = "Toxins Launcher"; req_access = list(8)},/obj/machinery/door/window/eastleft{name = "Toxins Launcher"; req_access = list(8)},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/rnd/toxins_launch) +"bBA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bBB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bBC" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bBD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxins_inner"; locked = 1; name = "Toxins External Access"},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bBE" = (/turf/simulated/wall/r_wall,/area/engineering/drone_fabrication) +"bBF" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/engineering/drone_fabrication) +"bBG" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/engineering/drone_fabrication) +"bBH" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_port_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = -25; req_one_access = list(11,24)},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/sign/warning/engineering_access{pixel_x = 32},/turf/simulated/floor/airless,/area/engineering/drone_fabrication) +"bBI" = (/obj/machinery/shield_gen/external,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bBJ" = (/obj/machinery/shield_gen/external,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/storage) +"bBK" = (/obj/machinery/shield_gen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bBL" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/camera/network/engineering{c_tag = "ENG - Hard Storage"; dir = 2},/turf/simulated/floor,/area/engineering/storage) +"bBM" = (/obj/machinery/shieldgen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bBN" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/storage) +"bBO" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBP" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBR" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBT" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Atmospherics"; sortType = "Atmospherics"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBU" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBV" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBW" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBX" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBY" = (/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/engineering/hallway/atmos_hallway) +"bBZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bCa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Hallway 1"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bCb" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bCc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bCd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bCe" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bCf" = (/turf/simulated/wall,/area/engineering/hallway/atmos_hallway) +"bCg" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCh" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCi" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCj" = (/obj/random/toolbox,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/meter,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCn" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/maintenance/engineering) +"bCo" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCp" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCq" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fore) +"bCt" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fore) +"bCu" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fore) +"bCv" = (/obj/structure/closet/crate/freezer/rations,/obj/random/action_figure,/turf/simulated/floor/plating,/area/maintenance/research) +"bCw" = (/obj/effect/floor_decal/industrial/loading{dir = 1},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/north{location = "Janitor"},/turf/simulated/floor/tiled,/area/janitor) +"bCx" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access = list(26)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/janitor) +"bCy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/storage/auxillary) +"bCz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) +"bCA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) +"bCB" = (/obj/structure/table,/obj/item/stack/material/plastic,/obj/item/weapon/wrench,/obj/item/weapon/weldingtool/hugetank,/turf/simulated/floor/plating,/area/maintenance/research) +"bCC" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/research) +"bCD" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research) +"bCE" = (/obj/item/weapon/rig/hazmat/equipped,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/machinery/door/window/southright{name = "RD Suit"; req_one_access = list(30)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/blue/border,/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bCF" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bCG" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Research Director's Office"},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bCH" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/button/remote/blast_door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -6; pixel_y = 24; req_access = list(47)},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the cargo doors."; id = "researchdoor"; name = "Research door control"; pixel_x = 6; pixel_y = 24; req_access = list(30)},/obj/machinery/button/windowtint{id = "rdoffice"; pixel_x = -16; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bCI" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/teleporter,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/cartridge/signal/science,/obj/item/weapon/cartridge/signal/science{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/science{pixel_x = 4; pixel_y = 6},/obj/item/device/megaphone,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = 30; pixel_y = -2},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/blue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bCJ" = (/turf/simulated/wall,/area/rnd/research) +"bCK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(47)},/turf/simulated/floor/plating,/area/rnd/research) +"bCL" = (/obj/structure/closet/secure_closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bCM" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/camera/network/research{c_tag = "SCI - Locker Room"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bCN" = (/obj/structure/closet/l3closet/scientist,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bCO" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bCP" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bCQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bCR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bCS" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bCT" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bCU" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bCV" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bCW" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/nosmoking_2{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bCX" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bCY" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bCZ" = (/obj/machinery/mass_driver{dir = 1; id = "toxinsdriver"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) +"bDa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating,/area/rnd/toxins_launch) +"bDb" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bDc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bDd" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Launch Room"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bDe" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "toxins_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 22; req_one_access = list(8,13,65)},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bDf" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning/full,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/plating,/area/rnd/toxins_launch) +"bDg" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) +"bDh" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_outer"; locked = 1; name = "Engineering External Access"; req_access = list(13)},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bDi" = (/turf/simulated/wall,/area/engineering/drone_fabrication) +"bDj" = (/obj/machinery/shield_capacitor,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bDk" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/shieldwallgen,/turf/simulated/floor,/area/engineering/storage) +"bDl" = (/obj/machinery/shieldgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/storage) +"bDm" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bDn" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Hallway 2"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bDo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 1},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bDp" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bDq" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bDr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bDs" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bDt" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bDu" = (/turf/simulated/wall,/area/engineering/foyer) +"bDv" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/engineering/foyer) +"bDw" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Monitoring Room"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) +"bDx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/foyer) +"bDy" = (/turf/simulated/wall,/area/engineering/engineer_eva) +"bDz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engineer_eva) +"bDA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engineer_eva) +"bDB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/engineer_eva) +"bDC" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDE" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/shoes/boots/workboots,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDF" = (/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDG" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bDH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bDI" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDJ" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/tool/powermaint,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDK" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDL" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bDM" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -26},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bDN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bDO" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bDP" = (/obj/structure/grille/broken,/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) +"bDQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research) +"bDR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bDS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/research) +"bDT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) +"bDU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bDV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/research) +"bDW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) +"bDX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bDY" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) +"bDZ" = (/turf/simulated/wall,/area/maintenance/substation/research) +"bEa" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/research) +"bEb" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bEc" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bEd" = (/mob/living/simple_animal/slime/rainbow/kendrick,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bEe" = (/obj/structure/bed/chair/office/light,/obj/effect/landmark/start{name = "Research Director"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bEf" = (/obj/structure/table/reinforced,/obj/item/device/paicard{pixel_x = 4},/obj/item/device/tape,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/weapon/reagent_containers/food/drinks/jar,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bEg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor) +"bEh" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/rnd/research) +"bEi" = (/obj/machinery/vending/coffee,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/rnd/research) +"bEj" = (/turf/simulated/floor/wood,/area/rnd/research) +"bEk" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/rnd/research) +"bEl" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/rnd/research) +"bEm" = (/obj/structure/closet/secure_closet/scientist,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bEn" = (/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bEo" = (/obj/structure/closet/wardrobe/science_white,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bEp" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bEq" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bEr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Fore"; dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bEs" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bEt" = (/obj/structure/sign/warning/compressed_gas,/turf/simulated/wall/r_wall,/area/rnd/storage) +"bEu" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bEv" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bEw" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bEx" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bEy" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bEz" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bEA" = (/turf/simulated/wall/r_wall,/area/rnd/toxins_launch) +"bEB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_access = list(1); req_one_access = null},/turf/simulated/floor/plating,/area/maintenance/substation/security) +"bEC" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_port_sensor"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bED" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bEE" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bEF" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bEG" = (/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bEH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bEI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bEJ" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bEK" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bEL" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bEM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bEN" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bEO" = (/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bEP" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bEQ" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/techmaint,/area/engineering/hallway/atmos_hallway) +"bER" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) +"bES" = (/obj/machinery/computer/power_monitor,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bET" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bEV" = (/turf/simulated/floor/tiled,/area/engineering/foyer) +"bEW" = (/obj/machinery/computer/security/engineering,/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bEX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/engineer_eva) +"bEY" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft{name = "Engineering Suits"; req_access = list(11)},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bEZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/engineering{c_tag = "ENG - EVA"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bFa" = (/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/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bFb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bFc" = (/obj/item/weapon/tank/jetpack/carbondioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westright{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bFd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFe" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFf" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFh" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFj" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bFk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bFl" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bFm" = (/obj/structure/closet,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFn" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFo" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bFs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bFt" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bFu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bFv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) +"bFw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/research) +"bFx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/research) +"bFy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) +"bFz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) +"bFA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/meter,/obj/structure/closet/toolcloset,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research) +"bFB" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bFC" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bFD" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"bFE" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Research Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bFF" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Research"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bFG" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bFH" = (/obj/machinery/computer/aifixer,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hor) +"bFI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bFJ" = (/obj/structure/flora/pottedplant/mysterious,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bFK" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bFL" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white_rd,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/obj/item/clothing/glasses/welding/superior,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bFM" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hor) +"bFN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) +"bFO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) +"bFP" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/wood,/area/rnd/research) +"bFQ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) +"bFR" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bFS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bFT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bFU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access = list(7)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/toxins_launch) +"bFV" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/multi,/obj/item/weapon/paper/monitorkey,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("Research","Toxins Test Area","Robots","Anomaly Isolation","Research Outpost"); pixel_x = 32; pixel_y = -4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bFW" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/light{dir = 1},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/towel{color = "#800080"; name = "purple towel"},/obj/item/weapon/soap/nanotrasen,/obj/random/soap,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bFX" = (/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bFY" = (/obj/structure/window/basic,/obj/structure/undies_wardrobe,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bFZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bGa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bGb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Research Restroom"; req_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/research_restroom_sc) +"bGc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/rnd/storage) +"bGd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) +"bGe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) +"bGf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) +"bGg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/storage) +"bGh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/rnd/storage) +"bGi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bGj" = (/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGl" = (/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},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGm" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGn" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Lab 1"; dir = 2},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGo" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGp" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGq" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGr" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bGs" = (/turf/simulated/wall,/area/rnd/mixing) +"bGt" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eng_port_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "eng_port_pump"; tag_chamber_sensor = "eng_port_sensor"; tag_exterior_door = "eng_port_outer"; tag_interior_door = "eng_port_inner"},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bGu" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/drone_fabrication) +"bGv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "eng_port_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bGw" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bGx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bGy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bGz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bGA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bGB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) +"bGC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bGD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bGE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bGF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bGG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bGH" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bGI" = (/obj/machinery/computer/station_alert,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bGJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bGK" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bGL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bGM" = (/obj/machinery/computer/atmoscontrol,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bGN" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/eastright{name = "Engineering Suits"; req_access = list(11)},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bGO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bGP" = (/obj/machinery/suit_cycler/engineering,/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bGQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bGR" = (/obj/item/weapon/tank/jetpack/carbondioxide,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westleft{name = "Jetpack Storage"; req_one_access = list(11,24)},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bGS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bGT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bGU" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor,/area/maintenance/engineering) +"bGV" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/maintenance/engineering) +"bGW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bGX" = (/obj/machinery/light/small{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bGY" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bGZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bHa" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/fscenter) +"bHb" = (/obj/structure/disposalpipe/segment,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bHc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bHd" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bHe" = (/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bHf" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bHg" = (/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/light/small{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/technology_scanner,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bHh" = (/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bHi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bHj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"bHk" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_one_access = list(11,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bHl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bHm" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bHn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bHo" = (/obj/machinery/computer/robotics,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hor) +"bHp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bHq" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bHr" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bHs" = (/obj/machinery/papershredder,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bHt" = (/obj/machinery/camera/network/research{c_tag = "SCI - Break Room"; dir = 4},/turf/simulated/floor/wood,/area/rnd/research) +"bHu" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) +"bHv" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/rnd/research) +"bHw" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/rnd/research) +"bHx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) +"bHy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/storage) +"bHz" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bHA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bHB" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bHC" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bHD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bHE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bHF" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bHG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bHH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bHI" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/rnd/storage) +"bHJ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/rnd/storage) +"bHK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/rnd/storage) +"bHL" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/firecloset,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/rnd/storage) +"bHM" = (/obj/machinery/vending/phoronresearch,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/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/rnd/mixing) +"bHO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHP" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Heated to Waste"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHQ" = (/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Waste to Scrubbers"},/turf/simulated/floor/plating,/area/rnd/mixing) +"bHR" = (/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHS" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/pump,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHT" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Heater to Waste"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHU" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bHV" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/rnd/mixing) +"bHW" = (/turf/simulated/wall/r_wall,/area/engineering/engine_waste) +"bHX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bHY" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_inner"; locked = 1; name = "Engineering Internal Access"; req_access = list(13)},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bHZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_port_inner"; locked = 1; name = "Engineering Internal Access"; req_access = list(13)},/turf/simulated/floor,/area/engineering/drone_fabrication) +"bIa" = (/obj/machinery/power/emitter,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bIb" = (/obj/structure/closet/crate/solar,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bIc" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/floodlight,/turf/simulated/floor,/area/engineering/storage) +"bId" = (/obj/machinery/power/port_gen/pacman,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/storage) +"bIe" = (/obj/machinery/space_heater,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engineering/storage) +"bIf" = (/obj/structure/dispenser{oxygentanks = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bIg" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bIh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bIi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bIj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/junction{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bIk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bIl" = (/obj/structure/table/reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/recharger{pixel_y = 0},/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bIm" = (/obj/item/device/t_scanner,/obj/structure/table/steel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bIn" = (/obj/machinery/computer/rcon,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIo" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIp" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIq" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIr" = (/obj/machinery/computer/atmos_alert,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIs" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft{name = "Engineering Suits"; req_access = list(11)},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bIt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bIu" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bIv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bIw" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/door/window/westright{name = "Atmospherics Suits"; req_access = list(24)},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bIx" = (/turf/simulated/wall,/area/engineering/locker_room) +"bIy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/locker_room) +"bIz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bIA" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bIB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bIC" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bID" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) +"bIE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bIF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bIG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bIH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bII" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bIJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bIK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bIL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bIM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bIN" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bIO" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bIP" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Research Subgrid"; name_tag = "Research Subgrid"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bIQ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bIR" = (/obj/machinery/computer/mecha,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hor) +"bIS" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bIT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/obj/machinery/camera/network/research{c_tag = "SCI - RD's Office"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bIU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bIV" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bIW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/hor) +"bIX" = (/obj/structure/table/glass,/obj/machinery/recharger{pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/rnd/research) +"bIY" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/rnd/research) +"bIZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) +"bJa" = (/obj/machinery/photocopier,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bJb" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bJc" = (/obj/structure/closet/firecloset,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) +"bJd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bJe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/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/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bJf" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bJg" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/rnd/research_restroom_sc) +"bJh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bJi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bJj" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bJk" = (/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Gas Storage"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bJl" = (/obj/machinery/computer/area_atmos,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bJm" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/rnd/storage) +"bJn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/standard,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/weapon/crowbar,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bJo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bJp" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bJq" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bJr" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bJs" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/tiled/steel,/area/rnd/mixing) +"bJt" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/steel,/area/rnd/mixing) +"bJu" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bJv" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/rnd/mixing) +"bJw" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engineering/engine_waste) +"bJx" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engineering/engine_waste) +"bJy" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/camera/network/engine{c_tag = "ENG - Waste Handling"},/obj/structure/sign/warning/nosmoking_1{pixel_y = 32},/turf/simulated/floor,/area/engineering/engine_waste) +"bJz" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor,/area/engineering/engine_waste) +"bJA" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_waste) +"bJB" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bJC" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bJD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bJE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bJF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bJG" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_port_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_one_access = list(11,24)},/obj/structure/table/steel,/obj/item/weapon/storage/fancy/cigarettes,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bJH" = (/obj/structure/closet/crate/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor,/area/engineering/storage) +"bJI" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/floodlight,/turf/simulated/floor,/area/engineering/storage) +"bJJ" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bJK" = (/obj/machinery/space_heater,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) +"bJL" = (/obj/structure/closet/crate,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_capacity,/obj/item/weapon/smes_coil/super_io,/obj/item/weapon/smes_coil/super_io,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/plating,/area/engineering/storage) +"bJM" = (/turf/simulated/wall/r_wall,/area/engineering/hallway/atmos_hallway) +"bJN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/atmos_hallway) +"bJO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) +"bJP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/atmos_hallway) +"bJQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/hallway/atmos_hallway) +"bJR" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/machinery/recharger,/obj/item/weapon/tape_roll,/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = 0; req_access = list(10)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -34; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJS" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/window/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJT" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/window/southright{name = "Engineering Monitoring Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJU" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJV" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 0; req_one_access = list(10,24)},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJW" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bJX" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bJY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bJZ" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/atmos,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/machinery/door/window/westleft{name = "Atmospherics Suits"; req_access = list(24)},/obj/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bKa" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/secure_closet/engineering_personal,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bKb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/spline/plain,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bKc" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bKd" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bKe" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bKf" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bKg" = (/obj/structure/table,/turf/simulated/floor/tiled/yellow,/area/maintenance/engineering) +"bKh" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bKi" = (/obj/structure/cable,/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) +"bKj" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bKk" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bKl" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bKm" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bKn" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bKo" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bKp" = (/obj/structure/closet/hydrant{pixel_x = 32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fs_emergency) +"bKq" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bKr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access = list(8)},/turf/simulated/floor/tiled/steel_grid,/area/rnd/storage) +"bKs" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdoffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor) +"bKt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Research Locker Room"; req_access = list(47)},/turf/simulated/floor/tiled/steel_grid,/area/rnd/research_lockerroom) +"bKu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdoffice"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor) +"bKv" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/wood,/area/rnd/research) +"bKw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/rnd/research) +"bKx" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/rnd/research) +"bKy" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/rnd/research_restroom_sc) +"bKz" = (/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Science Substation"; req_access = list(47); req_one_access = null},/turf/simulated/floor/plating,/area/maintenance/substation/research) +"bKA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bKB" = (/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bKC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/bombcloset,/obj/machinery/light{dir = 8},/obj/structure/sign/warning/nosmoking_2{pixel_x = -32},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bKD" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bKE" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bKF" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bKG" = (/obj/structure/sign/warning/hot_exhaust,/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bKH" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 5},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bKI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bKJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 10},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bKK" = (/obj/structure/sign/warning/fire,/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bKL" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/obj/structure/lattice,/turf/space,/area/space) +"bKM" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"bKN" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"bKO" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineWasteViewport1"; name = "Engine Waste Viewport Shutter"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_waste) +"bKP" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineWasteViewport1"; name = "Engine Waste Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = null; req_one_access = list(11,24)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) +"bKQ" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_waste) +"bKR" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_waste) +"bKS" = (/obj/machinery/atmospherics/pipe/cap/visible,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engineering/engine_waste) +"bKT" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/simulated/floor,/area/engineering/engine_waste) +"bKU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_waste) +"bKV" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bKW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bKX" = (/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bKY" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bKZ" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bLa" = (/turf/simulated/floor/tiled/dark,/area/engineering/hallway/engineer_hallway) +"bLb" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bLc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bLd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; name = "CE Office"; sortType = "CE Office"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bLe" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bLf" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bLg" = (/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bLh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/hallway/engineer_hallway) +"bLi" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLk" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLl" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLm" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLn" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bLo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bLp" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bLq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bLr" = (/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/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bLs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Locker Room"; req_one_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/locker_room) +"bLt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/locker_room) +"bLu" = (/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,/area/engineering/locker_room) +"bLv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/locker_room) +"bLw" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/engineering/locker_room) +"bLx" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bLy" = (/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/maintenance/engineering) +"bLz" = (/turf/simulated/floor/tiled/yellow,/area/maintenance/engineering) +"bLA" = (/obj/machinery/door/firedoor/border_only,/obj/structure/door_assembly/door_assembly_mhatch{anchored = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) +"bLB" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fpcenter) +"bLC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) +"bLD" = (/obj/structure/sign/directions/cryo{pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fscenter) +"bLE" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Fore Hallway One"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bLF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bLG" = (/obj/structure/sign/directions/evac{dir = 2; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fscenter) +"bLH" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/fscenter) +"bLI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bLJ" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/machinery/navbeacon/delivery/east{location = "Research Division"},/turf/simulated/floor/tiled,/area/rnd/research) +"bLK" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced,/obj/machinery/door/window/eastright{base_state = "left"; dir = 4; icon_state = "left"; name = "Research Division Delivery"; req_access = list(47)},/turf/simulated/floor/tiled,/area/rnd/research) +"bLL" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLN" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLR" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Port"; dir = 2},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "RD Office"; sortType = "RD Office"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLU" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bLZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Research"; sortType = "Research"},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMi" = (/obj/machinery/door/firedoor/border_only,/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMk" = (/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 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMm" = (/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Starboard"; dir = 2},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMr" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bMs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/emcloset,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bMt" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bMu" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bMv" = (/obj/machinery/atmospherics/tvalve/bypass{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{id_tag = "tox_airlock_control"; pixel_x = 24; pixel_y = 0; tag_airpump = "tox_airlock_pump"; tag_chamber_sensor = "tox_airlock_sensor"; tag_exterior_door = "tox_airlock_exterior"; tag_interior_door = "tox_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bMx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bMy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bMz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = -22},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bMA" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bMB" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bMC" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/structure/lattice,/turf/space,/area/space) +"bMD" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) +"bME" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) +"bMF" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineWasteViewport1"; name = "Engine Waste Viewport Shutter"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_waste) +"bMG" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) +"bMH" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor,/area/engineering/engine_waste) +"bMI" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor,/area/engineering/engine_waste) +"bMJ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/engineering/engine_waste) +"bMK" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) +"bML" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) +"bMM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{name = "Engine Waste Handling"; req_one_access = list(10,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/engine_waste) +"bMN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bMO" = (/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/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bMP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bMQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bMR" = (/turf/simulated/wall/r_wall,/area/engineering/hallway/engineer_hallway) +"bMS" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMT" = (/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/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMV" = (/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/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bMZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNb" = (/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/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNc" = (/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"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNd" = (/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/dark,/area/engineering/hallway/engineer_hallway) +"bNe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/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/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bNi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) +"bNj" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bNk" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bNl" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) +"bNm" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bNn" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bNo" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/engineer_eva) +"bNp" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bNq" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/random/medical/lite,/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bNr" = (/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/tiled,/area/engineering/locker_room) +"bNs" = (/turf/simulated/floor/tiled,/area/engineering/locker_room) +"bNt" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/machinery/camera/network/engineering{c_tag = "ENG - Locker Room"; dir = 8},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bNu" = (/obj/item/stack/tile/floor/steel,/turf/simulated/floor/tiled/steel,/area/maintenance/engineering) +"bNv" = (/obj/item/stack/tile/floor/yellow,/obj/item/frame/light,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bNw" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bNx" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"bNy" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Eight"},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"bNz" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"bNA" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bNB" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bNC" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fscenter) +"bND" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bNE" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bNF" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fscenter) +"bNG" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bNH" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bNI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) +"bNJ" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center One"},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) +"bNK" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) +"bNL" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bNM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) +"bNN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/research) +"bNO" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNP" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bNZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOb" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Mid"; dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bOo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Research Director Quarters"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hor) +"bOp" = (/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"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bOq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bOr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bOs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bOt" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(7)},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bOu" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 2; frequency = 1379; id = "tox_airlock_pump"},/obj/machinery/air_sensor{frequency = 1430; id_tag = "toxins_mixing_interior"; output = 63; pixel_x = -8; pixel_y = -18},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bOv" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access = list(7)},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bOw" = (/obj/machinery/air_sensor{frequency = 1430; id_tag = "toxins_mixing_exterior"; output = 63},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bOx" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bOy" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) +"bOz" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/engineering/engine_waste) +"bOA" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/engineering/engine_waste) +"bOB" = (/obj/machinery/atmospherics/pipe/manifold/visible/black,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_waste) +"bOC" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_waste) +"bOD" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_waste) +"bOE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/drone_fabricator/derelict,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bOF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bOG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bOH" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/engineering{name = "Engineering Drone Fabrication"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/drone_fabrication) +"bOI" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/engineer_hallway) +"bOK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bON" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; name = "Engineering"; sortType = "Engineering"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Engineering Hallway 1"; dir = 1},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOS" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOU" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOV" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bOW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) +"bOX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bOY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bOZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bPa" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bPb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engineer_eva) +"bPc" = (/obj/structure/closet/wardrobe/engineering_yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bPd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/locker_room) +"bPe" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bPf" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bPg" = (/obj/item/stack/tile/floor/yellow,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bPh" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bPi" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light{dir = 1},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bPj" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"bPk" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain,/obj/item/device/communicator,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"bPl" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"bPm" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) +"bPn" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) +"bPo" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) +"bPp" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fscenter) +"bPq" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bPr" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light{dir = 1},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bPs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bPt" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) +"bPu" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"bPv" = (/turf/simulated/wall/r_wall,/area/rnd/lab) +"bPw" = (/turf/simulated/wall,/area/rnd/lab) +"bPx" = (/obj/machinery/status_display,/turf/simulated/wall,/area/rnd/lab) +"bPy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bPz" = (/obj/effect/landmark{name = "lightsout"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bPA" = (/turf/simulated/wall,/area/assembly/robotics) +"bPB" = (/obj/machinery/status_display,/turf/simulated/wall,/area/assembly/robotics) +"bPC" = (/turf/simulated/wall/r_wall,/area/assembly/robotics) +"bPD" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/rnd/misc_lab) +"bPE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Research Restroom"},/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/steel_grid,/area/rnd/research_restroom_sc) +"bPF" = (/turf/simulated/wall/r_wall,/area/rnd/misc_lab) +"bPG" = (/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/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access = list(7)},/turf/simulated/floor/tiled/steel_grid,/area/rnd/mixing) +"bPH" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/server) +"bPI" = (/turf/simulated/wall/r_wall,/area/server) +"bPJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bPK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bPL" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bPM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bPN" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bPO" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/button/ignition{id = "mixingsparker"; pixel_x = 25; pixel_y = -5},/obj/machinery/button/remote/blast_door{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = 25; pixel_y = 5; req_access = list(7)},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bPP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bPQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bPR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = -22},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bPS" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bPT" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"bPU" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) +"bPV" = (/turf/simulated/floor,/area/engineering/engine_waste) +"bPW" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_waste) +"bPX" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/door/window/northleft{name = "Engine Waste"; req_one_access = list(10,24)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_waste) +"bPY" = (/obj/machinery/door/window/northright{name = "Engine Waste"; req_one_access = list(10,24)},/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 26; pixel_y = 0; req_access = null; req_one_access = list(11,24)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_waste) +"bPZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/computer/security/engineering{name = "Drone Monitoring Cameras"; network = list("Engineering")},/obj/machinery/camera/network/engineering{c_tag = "ENG - Drone Fabrication"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bQa" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bQb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bQc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bQd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bQe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bQf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bQg" = (/turf/simulated/wall,/area/engineering/workshop) +"bQh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/workshop) +"bQi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) +"bQj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Workshop"; req_one_access = list(11,24)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/workshop) +"bQk" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief) +"bQl" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bQm" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bQn" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/airlock/command{name = "Chief Engineer"; req_access = list(56)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/chief) +"bQo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bQp" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bQq" = (/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/engineering{c_tag = "ENG - Foyer"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bQr" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bQt" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bQu" = (/turf/simulated/wall,/area/engineering/break_room) +"bQv" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/white/diagonal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled,/area/engineering/break_room) +"bQw" = (/obj/effect/floor_decal/corner/white/diagonal,/turf/simulated/floor/tiled,/area/engineering/break_room) +"bQx" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bQy" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bQz" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bQA" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bQB" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/engineering/locker_room) +"bQC" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bQD" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/locker_room) +"bQE" = (/obj/structure/closet/secure_closet/atmos_personal,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/yellow,/area/engineering/locker_room) +"bQF" = (/obj/item/frame/extinguisher_cabinet,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bQG" = (/obj/structure/closet/wardrobe/black,/obj/item/clothing/shoes/boots/combat,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor,/area/maintenance/engineering) +"bQH" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQI" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQJ" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQK" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQL" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQM" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQN" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQO" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bQP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fscenter) +"bQQ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQR" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQS" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQT" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQU" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQX" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQY" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bQZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bRa" = (/obj/structure/flora/pottedplant/crystal,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bRb" = (/obj/machinery/autolathe,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bRc" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/steel{amount = 50},/obj/item/clothing/glasses/welding,/obj/machinery/camera/network/research{c_tag = "SCI - R&D Lab"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bRd" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/table/standard,/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bRe" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bRf" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bRg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/rnd/lab) +"bRh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bRi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bRj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/assembly/robotics) +"bRk" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRl" = (/obj/structure/closet{name = "materials"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/glass{amount = 50; pixel_x = -2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRm" = (/obj/machinery/autolathe,/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRn" = (/obj/machinery/computer/rdconsole/robotics,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRo" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRp" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRq" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRr" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/medical_wall{name = "anesthetic closet"; pixel_x = 0; pixel_y = 32; req_access = list(29)},/obj/item/weapon/tank/anesthetic,/obj/item/weapon/tank/anesthetic,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/breath/medical,/obj/item/weapon/storage/box/gloves,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRs" = (/obj/machinery/optable{name = "Robotics Operating Table"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRt" = (/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bRu" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bRv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bRw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/button/remote/blast_door{id = "misclab"; name = "Test Chamber Blast Doors"; pixel_x = 6; pixel_y = 26; req_access = list(47)},/obj/machinery/button/ignition{id = "Xenobio"; pixel_x = -6; pixel_y = 26},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bRx" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/steel,/area/rnd/misc_lab) +"bRy" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/sparker{dir = 4; id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bRz" = (/obj/structure/table/standard,/obj/item/device/assembly/igniter,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bRA" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bRB" = (/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/server) +"bRC" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; use_power = 1; power_setting = 20; set_temperature = 73},/obj/machinery/camera/network/research{c_tag = "SCI - Server Room"},/turf/simulated/floor/tiled/dark,/area/server) +"bRD" = (/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"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bRE" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bRF" = (/obj/structure/sign/warning/caution,/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bRG" = (/obj/machinery/computer/general_air_control{frequency = 1430; name = "Mixing Chamber Monitor"; sensors = list("toxins_mixing_exterior" = "Mixing Chamber - Exterior", "toxins_mixing_interior" = "Mixing Chamber - Interior")},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bRH" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bRI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bRJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) +"bRK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/engineering/engine_waste) +"bRL" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/light/small,/turf/simulated/floor,/area/engineering/engine_waste) +"bRM" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engineering/engine_waste) +"bRN" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/turf/simulated/floor,/area/engineering/engine_waste) +"bRO" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_waste) +"bRP" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_waste) +"bRQ" = (/obj/machinery/drone_fabricator,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bRR" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bRS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bRT" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) +"bRU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) +"bRV" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bRW" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bRX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bRY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bSa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bSb" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bSc" = (/obj/machinery/papershredder,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 6; name = "Chief Engineer RC"; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bSd" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bSe" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/monotile,/area/crew_quarters/heads/sc/chief) +"bSf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bSg" = (/obj/machinery/disposal,/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/blue/border{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bSh" = (/obj/machinery/door/firedoor/glass,/obj/machinery/status_display{layer = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bSi" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bSj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bSk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bSl" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bSm" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/ai_status_display{layer = 4},/turf/simulated/floor,/area/engineering/break_room) +"bSn" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/break_room) +"bSo" = (/turf/simulated/floor/carpet,/area/engineering/break_room) +"bSp" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bSq" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Station Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bSr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bSs" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bSt" = (/turf/simulated/wall,/area/engineering/engi_restroom) +"bSu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Engineering Washroom"; req_one_access = list(10)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engi_restroom) +"bSv" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bSw" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bSx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bSy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bSz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bSA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bSB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bSC" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) +"bSD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bSE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bSF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bSG" = (/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/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fscenter) +"bSH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bSI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bSJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bSK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bSL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bSM" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bSN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bSO" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/random/cigarettes,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tool,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/research) +"bSP" = (/obj/structure/table/standard,/obj/random/tool,/obj/random/tool,/obj/item/frame,/turf/simulated/floor/plating,/area/maintenance/research) +"bSQ" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bSR" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bSS" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bST" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bSU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bSV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bSW" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/research{name = "Miscellaneous Reseach Room"; req_access = list(); req_one_access = list(7,29)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/rnd/misc_lab) +"bSX" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/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 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bSY" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bSZ" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bTa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = list(30)},/turf/simulated/floor/tiled/steel_grid,/area/server) +"bTb" = (/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/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTc" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTd" = (/obj/effect/floor_decal/industrial/warning,/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/assembly/robotics) +"bTe" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTf" = (/obj/structure/table/standard,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/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/assembly/robotics) +"bTg" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/retractor,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/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/assembly/robotics) +"bTh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTi" = (/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTj" = (/obj/machinery/optable{name = "Robotics Operating Table"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bTk" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table/reinforced,/obj/item/clothing/glasses/science,/obj/item/clothing/mask/gas,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bTl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bTm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bTn" = (/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/misc_lab) +"bTo" = (/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bTp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/server) +"bTq" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark,/area/server) +"bTr" = (/obj/machinery/computer/rdservercontrol,/obj/machinery/firealarm{pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/server) +"bTs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bTt" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bTu" = (/obj/structure/dispenser,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTA" = (/obj/item/weapon/wrench,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTB" = (/obj/machinery/pipedispenser,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bTC" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/structure/lattice,/turf/space,/area/space) +"bTD" = (/turf/simulated/wall/r_wall,/area/engineering/engine_room) +"bTE" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/r_wall,/area/engineering/engine_room) +"bTF" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor,/area/engineering/engine_room) +"bTG" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor,/area/engineering/engine_room) +"bTH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bTI" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/computer/cryopod/robot{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bTJ" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bTK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bTL" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bTM" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bTN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bTO" = (/turf/simulated/floor/tiled,/area/engineering/workshop) +"bTP" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/engineering/workshop) +"bTQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bTR" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bTS" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bTT" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bTU" = (/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bTV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bTW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bTX" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bTY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bTZ" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bUa" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/engineering/foyer) +"bUb" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bUc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/break_room) +"bUd" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/break_room) +"bUe" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bUf" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/supermatter_engine{pixel_x = -3},/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/carpet,/area/engineering/break_room) +"bUg" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bUh" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bUi" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/camera/network/engineering{c_tag = "ENG - Break Room"; dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bUj" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/weapon/towel{color = "#FF8C00"; name = "orange towel"; pixel_x = -2; pixel_y = -4},/obj/item/weapon/towel{color = "#FF8C00"; name = "orange towel"; pixel_x = -2; pixel_y = -4},/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/item/weapon/towel{color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#00FFFF"; name = "cyan towel"; pixel_x = 2; pixel_y = 4},/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bUk" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bUl" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bUm" = (/obj/structure/undies_wardrobe,/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bUn" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor,/area/maintenance/engineering) +"bUo" = (/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bUp" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bUq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH2"; next_patrol = "CH3"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"bUr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bUy" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fscenter) +"bUz" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/machinery/navbeacon/patrol{location = "CH1"; next_patrol = "CH2"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUB" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/machinery/navbeacon/patrol{location = "CH12"; next_patrol = "SEC"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUC" = (/obj/machinery/light,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUD" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUE" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUF" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bUI" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH11"; next_patrol = "CH12"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bUJ" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bUK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) +"bUL" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) +"bUM" = (/obj/machinery/r_n_d/protolathe,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) +"bUN" = (/turf/simulated/floor/tiled,/area/rnd/lab) +"bUO" = (/obj/machinery/r_n_d/destructive_analyzer,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) +"bUP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bUQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bUR" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bUS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/lab) +"bUT" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bUU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bUV" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"bUW" = (/obj/structure/closet/wardrobe/robotics_black,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/flash,/obj/item/device/flash,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 9},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 9},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bUX" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bUY" = (/turf/simulated/floor/tiled,/area/assembly/robotics) +"bUZ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/assembly/robotics) +"bVa" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bVb" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bVc" = (/obj/effect/floor_decal/industrial/warning,/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/tiled/white,/area/assembly/robotics) +"bVd" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bVe" = (/obj/structure/table/standard,/obj/structure/window/reinforced,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/hemostat,/obj/item/stack/cable_coil,/obj/item/weapon/weldingtool/hugetank,/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bVf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/closet/crate,/obj/item/weapon/wrench,/obj/item/weapon/crowbar/red,/obj/machinery/computer/security/telescreen{desc = "Used to monitor the proceedings inside the test chamber."; name = "Test Chamber Monitor"; network = list("Miscellaneous Reseach"); pixel_x = -32; pixel_y = -4},/obj/machinery/camera/network/research{c_tag = "SCI - Miscellaneous Research"; dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bVg" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bVh" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bVi" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/door/window/westright{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/door/window/eastleft{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/rnd/misc_lab) +"bVj" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bVk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bVl" = (/obj/machinery/portable_atmospherics/canister,/obj/machinery/camera/network/research{c_tag = "Research - Miscellaneous Test Chamber"; dir = 8; network = list("Research","Miscellaneous Reseach")},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bVm" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/tiled/dark,/area/server) +"bVn" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/dark,/area/server) +"bVo" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/tiled/dark,/area/server) +"bVp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bVq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bVr" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/rnd/mixing) +"bVs" = (/turf/simulated/floor/tiled,/area/rnd/mixing) +"bVt" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bVu" = (/obj/machinery/portable_atmospherics/canister,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bVv" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/structure/lattice,/turf/space,/area/space) +"bVw" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) +"bVx" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) +"bVy" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/structure/grille,/turf/space,/area/space) +"bVz" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/structure/grille,/turf/space,/area/space) +"bVA" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_room) +"bVB" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"bVC" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutters"; pixel_x = 0; pixel_y = 25; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"bVD" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) +"bVE" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"bVF" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"bVG" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"bVH" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"bVI" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineEmitterPortWest"; name = "Engine Room Blast Doors"; pixel_x = 0; pixel_y = 25; req_access = null; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/engine_room) +"bVJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bVK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bVL" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bVM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Engineering Drone Fabrication"; req_one_access = list(11,24)},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/engineering/drone_fabrication) +"bVN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "Drone Fabrication"; sortType = "Drone Fabrication"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bVO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bVP" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bVQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bVR" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/frame{anchored = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bVS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/floor_painter,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/t_scanner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bVT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bVU" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bVV" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bVW" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bVX" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/item/weapon/stamp/ce,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bVY" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/supermatter_engine,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/clothing/glasses/welding/superior,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bVZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bWa" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/door/airlock/command{name = "Chief Engineer"; req_access = list(56)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/chief) +"bWb" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bWc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bWd" = (/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,/area/engineering/foyer) +"bWe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bWf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Break Room"; req_one_access = list(10)},/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/steel_grid,/area/engineering/break_room) +"bWg" = (/obj/effect/floor_decal/corner/white/diagonal,/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 = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bWh" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWi" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWj" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bWk" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bWl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Engineering Washroom"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engi_restroom) +"bWm" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bWn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bWo" = (/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bWp" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bWq" = (/obj/structure/curtain/open/shower/engineering,/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bWr" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bWs" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bWt" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/brflowers,/obj/machinery/light{dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bWu" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bWv" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bWw" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/central) +"bWx" = (/turf/simulated/wall,/area/maintenance/substation/central) +"bWy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Central Substation"; req_one_access = list(11,19,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"bWz" = (/turf/simulated/wall,/area/maintenance/central) +"bWA" = (/turf/simulated/wall/r_wall,/area/maintenance/central) +"bWB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bWC" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fscenter) +"bWD" = (/turf/simulated/wall/r_wall,/area/teleporter) +"bWE" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/teleporter) +"bWF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/teleporter) +"bWG" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/teleporter) +"bWH" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bWI" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bWJ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/research) +"bWK" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) +"bWL" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/rnd/lab) +"bWM" = (/obj/machinery/computer/rdconsole/core,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/lab) +"bWN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bWO" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access = list(7)},/turf/simulated/floor/tiled/steel_grid,/area/rnd/lab) +"bWP" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bWQ" = (/obj/machinery/mecha_part_fabricator,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bWR" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/table/steel_reinforced,/obj/item/device/robotanalyzer,/obj/item/device/robotanalyzer,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bWS" = (/obj/machinery/pros_fabricator,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bWT" = (/obj/machinery/camera/network/research{c_tag = "SCI - Robotics"; dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bWU" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/techfloor,/area/assembly/robotics) +"bWV" = (/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/tiled/techfloor,/area/assembly/robotics) +"bWW" = (/turf/simulated/floor/tiled/techfloor,/area/assembly/robotics) +"bWX" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/device/defib_kit/jumper_kit/loaded,/obj/item/device/defib_kit/jumper_kit/loaded,/turf/simulated/floor/tiled/techfloor,/area/assembly/robotics) +"bWY" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bWZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bXa" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bXb" = (/obj/effect/floor_decal/industrial/warning/cee,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/door/window/westleft{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/door/window/eastright{name = "Test Chamber"; req_one_access = list(7,29)},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/rnd/misc_lab) +"bXc" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bXd" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bXe" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/server_room{pixel_x = -32},/turf/simulated/floor/plating,/area/server) +"bXf" = (/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/window/northright{name = "Server Room"; req_access = list(30)},/obj/machinery/door/window/southleft{name = "Server Room"; req_access = list(30)},/turf/simulated/floor/tiled/dark,/area/server) +"bXg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/server) +"bXh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"bXi" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bXj" = (/obj/machinery/atmospherics/omni/mixer{tag_east = 2; tag_east_con = null; tag_north = 1; tag_north_con = 0.5; tag_south = 0; tag_south_con = null; tag_west = 1; tag_west_con = 0.5; use_power = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bXk" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/obj/machinery/camera/network/research{c_tag = "SCI - Toxins Lab 2"; dir = 1},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bXl" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 6; tag_south = 0; tag_west = 1; use_power = 0},/turf/simulated/floor/tiled,/area/rnd/mixing) +"bXm" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bXn" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/rnd/mixing) +"bXo" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"bXp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"bXq" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/pipe/cap/visible{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"bXr" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) +"bXs" = (/obj/machinery/atmospherics/pipe/cap/visible{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"bXt" = (/obj/machinery/atmospherics/pipe/cap/visible{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor,/area/engineering/engine_room) +"bXu" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/engine_room) +"bXv" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 2; tag_south = 4; tag_west = 0; use_power = 0},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/atmo_filter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"bXw" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) +"bXx" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 0; tag_north = 2; tag_south = 4; tag_west = 1; use_power = 0},/obj/effect/floor_decal/industrial/outline/blue,/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/obj/effect/engine_setup/atmo_filter,/turf/simulated/floor/plating,/area/engineering/engine_room) +"bXy" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bXz" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bXA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bXB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/engineering{c_tag = "ENG - Engineering Hallway 2"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bXC" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bXD" = (/obj/machinery/vending/tool,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bXE" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bXF" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar/red,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bXG" = (/obj/machinery/computer/station_alert/all,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bXH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bXI" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Chief Engineer"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bXJ" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/computer/skills,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bXK" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bXL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bXM" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bXN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bXO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bXP" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bXQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXR" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXS" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/engineering/break_room) +"bXT" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bXU" = (/obj/effect/landmark{name = "blobstart"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bXV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bXW" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bXX" = (/obj/structure/curtain/open/shower/engineering,/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bXY" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bXZ" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bYa" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bYb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bYc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bYd" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"bYe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/central) +"bYf" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Central Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/central) +"bYg" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/central) +"bYh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/turf/simulated/floor/plating,/area/maintenance/central) +"bYi" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/teleporter) +"bYj" = (/turf/simulated/floor/tiled,/area/teleporter) +"bYk" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/teleporter) +"bYl" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/teleporter) +"bYm" = (/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/teleporter) +"bYn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bYo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bYp" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bYq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bYr" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bYs" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research) +"bYt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bYu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bYv" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bYw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bYx" = (/obj/machinery/light{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"bYy" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"bYz" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"bYA" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"bYB" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"bYC" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bYD" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/assembly/robotics) +"bYE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bYF" = (/turf/simulated/wall,/area/assembly/chargebay) +"bYG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_research{name = "Mech Bay"; req_access = list(29)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"bYH" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_research{name = "Mech Bay"; req_access = list(29)},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"bYI" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) +"bYJ" = (/obj/structure/closet/bombcloset,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bYK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bYL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"bYM" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/rnd/misc_lab) +"bYN" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bYO" = (/obj/machinery/alarm/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; icon_state = "map_vent_out"; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) +"bYP" = (/turf/simulated/floor/tiled/dark,/area/server) +"bYQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) +"bYR" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/rnd/mixing) +"bYS" = (/turf/simulated/floor/airless,/area/medical/virology) +"bYT" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 8},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"bYU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport1"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"bYV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"bYW" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"bYX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"bYY" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"; tag = "icon-map (EAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"bYZ" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) +"bZa" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor,/area/engineering/engine_room) +"bZb" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bZc" = (/obj/machinery/cryopod/robot{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/engineering/drone_fabrication) +"bZd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bZe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"bZf" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bZg" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bZh" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bZi" = (/obj/machinery/vending/engivend,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/workshop) +"bZj" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/engineering/workshop) +"bZk" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/wrench,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"bZl" = (/obj/machinery/computer/security/telescreen{desc = "Used to monitor the engine room."; layer = 3.3; name = "Engine Monitor"; network = list("Engine"); pixel_x = 0; pixel_y = -34},/obj/machinery/computer/atmos_alert,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bZm" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bZn" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Chief Engineer's Office"; dir = 1},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -6; pixel_y = -44; specialfunctions = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = 6; pixel_y = -44},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -34; req_access = list(10)},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 6; pixel_y = -34; req_access = list(10)},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bZo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bZp" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/chief) +"bZq" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced/polarized{id = "ceoffice"},/turf/simulated/floor,/area/crew_quarters/heads/sc/chief) +"bZr" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/break_room) +"bZs" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/break_room) +"bZt" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/glasses/square,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/light{dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor/tiled,/area/engineering/break_room) +"bZu" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bZv" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"bZw" = (/obj/structure/table/rack{dir = 1},/obj/random/cigarettes,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/random/toolbox,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bZx" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bZy" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fpcenter) +"bZz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bZA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"bZB" = (/obj/structure/disposalpipe/junction{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"bZC" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/substation/central) +"bZD" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 32; d2 = 4; icon_state = "32-4"},/obj/machinery/atmospherics/pipe/zpipe/down/supply{dir = 4},/obj/structure/railing{dir = 4},/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{dir = 4},/turf/simulated/open,/area/maintenance/substation/central) +"bZE" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Central Subgrid"; name_tag = "Central Subgrid"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"bZF" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/central) +"bZG" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Central"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/maintenance/substation/central) +"bZH" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/central) +"bZI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/closet/emcloset,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/central) +"bZJ" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"bZK" = (/obj/structure/table/standard,/obj/item/device/radio/beacon,/obj/item/device/radio/beacon,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/teleporter) +"bZL" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/teleporter) +"bZM" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/teleporter) +"bZN" = (/obj/machinery/bluespace_beacon,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/teleporter) +"bZO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/teleporter) +"bZP" = (/obj/structure/dispenser{phorontanks = 0},/turf/simulated/floor/tiled/dark,/area/teleporter) +"bZQ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bZR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"bZS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"bZT" = (/obj/structure/flora/ausbushes/leafybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"bZU" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bZV" = (/obj/structure/bed/chair/office/light,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bZW" = (/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bZX" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Scientist"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bZY" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/westleft{name = "Research and Development Desk"; req_access = list(7)},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bZZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"caa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cab" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/beacon,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cac" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cad" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cae" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/eastleft{name = "Robotics Desk"; req_access = list(29)},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"caf" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"cag" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"cah" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"cai" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/assembly/chargebay) +"caj" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/cell_charger,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) +"cak" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"cal" = (/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/techfloor,/area/assembly/chargebay) +"cam" = (/obj/structure/table/steel_reinforced,/obj/machinery/cell_charger,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) +"can" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"cao" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"cap" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/misc_lab) +"caq" = (/obj/machinery/shieldwallgen{anchored = 1; req_access = list(47)},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/rnd/misc_lab) +"car" = (/obj/machinery/light,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"cas" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"cat" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"cau" = (/obj/machinery/r_n_d/server/robotics,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) +"cav" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/dark,/area/server) +"caw" = (/obj/machinery/r_n_d/server/core,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/server) +"cax" = (/turf/simulated/wall/r_wall,/area/rnd/workshop) +"cay" = (/obj/machinery/computer/rdconsole/core,/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/corner/green/border{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"caz" = (/obj/structure/table/steel,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"caA" = (/obj/structure/table/steel,/obj/item/weapon/storage/bag/circuits/basic,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/corner/green/border{dir = 5},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"caB" = (/obj/structure/sign/poster{pixel_y = -32},/turf/simulated/wall,/area/rnd/workshop) +"caC" = (/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"caD" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"caE" = (/obj/structure/table/glass,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"caF" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) +"caG" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/seconddeck/research_medical) +"caH" = (/turf/simulated/wall/r_wall,/area/medical/virology) +"caI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/virology) +"caJ" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 4},/obj/structure/grille,/turf/space,/area/space) +"caK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"caL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"caM" = (/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) +"caN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"caO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"caP" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caQ" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caR" = (/obj/structure/table/steel_reinforced,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caS" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/table/steel_reinforced,/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/weapon/storage/toolbox/electrical,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caU" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/machinery/newscaster{pixel_y = -30},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caV" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/turf/simulated/floor/tiled/dark,/area/engineering/workshop) +"caW" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) +"caX" = (/obj/machinery/button/remote/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = 0; pixel_y = -21},/obj/structure/window/basic{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/chief) +"caY" = (/obj/structure/table/reinforced,/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/machinery/button/windowtint{id = "ceoffice"; pixel_x = -12; pixel_y = -24},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/chief) +"caZ" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/mask/breath,/obj/item/weapon/rig/ce/equipped,/obj/machinery/door/window/northright{name = "Chief Engineer Suit Storage"},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/chief) +"cba" = (/obj/machinery/atm{pixel_x = -28; pixel_y = 0},/obj/structure/flora/pottedplant/subterranean,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"cbb" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) +"cbc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/foyer) +"cbd" = (/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"cbe" = (/obj/machinery/computer/station_alert,/obj/effect/floor_decal/corner/white/diagonal,/turf/simulated/floor/tiled,/area/engineering/break_room) +"cbf" = (/obj/machinery/computer/security/engineering,/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/break_room) +"cbg" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/tiled,/area/engineering/break_room) +"cbh" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/atmospipes,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/evaguide{pixel_x = -2; pixel_y = 7},/turf/simulated/floor/tiled,/area/engineering/break_room) +"cbi" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/woodentable,/obj/item/weapon/dice,/obj/item/weapon/deck/cards,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/break_room) +"cbj" = (/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/table/woodentable,/turf/simulated/floor/tiled,/area/engineering/break_room) +"cbk" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"cbl" = (/obj/machinery/recharge_station,/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/engineering/engi_restroom) +"cbm" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light/small{dir = 1},/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cbn" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning,/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cbo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cbp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Seven"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"cbq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"cbr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cbs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"cbt" = (/obj/machinery/status_display{pixel_x = 32},/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cbu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall,/area/maintenance/substation/central) +"cbv" = (/obj/structure/disposalpipe/up{dir = 1},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/railing{dir = 4},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"cbw" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"cbx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"cby" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"cbz" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/central) +"cbA" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/central) +"cbB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/central) +"cbC" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/central) +"cbD" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cbE" = (/obj/structure/table/standard,/obj/item/weapon/hand_tele,/turf/simulated/floor/tiled/dark,/area/teleporter) +"cbF" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark,/area/teleporter) +"cbG" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/dark,/area/teleporter) +"cbH" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/teleporter) +"cbI" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/teleporter) +"cbJ" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/machinery/camera/network/command{c_tag = "COM - Teleporter"; dir = 8},/turf/simulated/floor/tiled/dark,/area/teleporter) +"cbK" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/teleporter) +"cbL" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"cbN" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cbO" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"cbP" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Two"; dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"cbQ" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/research) +"cbR" = (/obj/structure/closet/crate,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/turf/simulated/floor/plating,/area/maintenance/research) +"cbS" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"cbT" = (/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/lab) +"cbU" = (/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/machinery/ai_status_display{pixel_y = -32},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/lab) +"cbV" = (/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/scanning_module,/obj/item/weapon/stock_parts/scanning_module,/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"cbW" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 9},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 9},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cbX" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cbY" = (/obj/machinery/camera/network/research{c_tag = "SCI - Research Foyer"; dir = 1},/obj/structure/disposalpipe/sortjunction{dir = 1; name = "Robotics"; sortType = "Robotics"},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cbZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"cca" = (/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/obj/effect/floor_decal/borderfloorwhite/corner2,/obj/effect/floor_decal/corner/purple/bordercorner2,/turf/simulated/floor/tiled/white,/area/rnd/research_foyer) +"ccb" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/assembly/robotics) +"ccc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"ccd" = (/obj/structure/table/standard,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"cce" = (/obj/structure/closet{name = "robotics parts"},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"ccf" = (/obj/structure/closet{name = "welding equipment"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"ccg" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"cch" = (/obj/machinery/mech_recharger,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) +"cci" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"ccj" = (/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"cck" = (/obj/machinery/mech_recharger,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) +"ccl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(7,29)},/turf/simulated/floor/plating,/area/rnd/misc_lab) +"ccm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"ccn" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"cco" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"ccp" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"ccq" = (/obj/structure/table/steel,/obj/item/device/integrated_electronics/debugger{pixel_x = -5; pixel_y = 0},/obj/item/device/integrated_electronics/wirer{pixel_x = 5; pixel_y = 0},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"ccr" = (/turf/simulated/wall,/area/rnd/workshop) +"ccs" = (/obj/item/stack/tile/floor/white,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) +"cct" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"ccu" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/lime/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ccv" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ccw" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/lime/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ccx" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ccy" = (/obj/structure/table/glass,/obj/item/roller,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ccz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) +"ccA" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) +"ccB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/structure/grille,/turf/space,/area/space) +"ccC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) +"ccD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/engine_room) +"ccE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/engine_room) +"ccF" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/power/apc/super/critical{dir = 4; is_critical = 1; name = "east bump"; pixel_x = 24; pixel_y = 0},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_room) +"ccG" = (/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{id_tag = "engine_room_airlock"; name = "Engine Room Airlock"; pixel_x = 0; pixel_y = 24; tag_airpump = "engine_airlock_pump"; tag_chamber_sensor = "eng_al_c_snsr"; tag_exterior_door = "engine_airlock_exterior"; tag_exterior_sensor = "eng_al_ext_snsr"; tag_interior_door = "engine_airlock_interior"; tag_interior_sensor = "eng_al_int_snsr"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"ccH" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 8; frequency = 1379; id = "engine_airlock_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = 0; pixel_y = 25},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"ccI" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/engine_airlock) +"ccJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"ccK" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Access"; dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"ccL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ccM" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/powercell,/obj/random/powercell,/obj/random/tool/powermaint,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"ccN" = (/turf/simulated/wall/r_wall,/area/engineering/foyer) +"ccO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Engineering Access"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) +"ccP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Engineering Access"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) +"ccQ" = (/turf/simulated/wall/r_wall,/area/engineering/break_room) +"ccR" = (/turf/simulated/wall/r_wall,/area/engineering/engi_restroom) +"ccS" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/engineering) +"ccT" = (/obj/structure/lattice,/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/engineering) +"ccU" = (/obj/structure/disposalpipe/broken{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) +"ccV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"ccW" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) +"ccX" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"ccY" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"ccZ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cda" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"cdb" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cdc" = (/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/plating,/area/maintenance/central) +"cdd" = (/turf/simulated/floor/plating,/area/maintenance/central) +"cde" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cdf" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/teleporter) +"cdg" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark,/area/teleporter) +"cdh" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cdi" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cdj" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"cdk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"cdl" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/maintenance/research) +"cdm" = (/turf/simulated/wall/r_wall,/area/rnd/research_foyer) +"cdn" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29,47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/assembly/robotics) +"cdo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/rnd/research_foyer) +"cdp" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/recharge_station,/obj/machinery/button/remote/blast_door{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 0; pixel_y = -26; req_access = list(29)},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) +"cdq" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"cdr" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/recharge_station,/obj/machinery/camera/network/research{c_tag = "SCI - Mech Bay"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/assembly/chargebay) +"cds" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdt" = (/turf/simulated/wall/r_wall,/area/maintenance/research_medical) +"cdu" = (/obj/structure/closet/crate,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/item/stack/tile/floor/white,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdv" = (/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdw" = (/obj/item/stack/cable_coil,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdx" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/item/stack/cable_coil,/obj/item/weapon/coin/silver,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdy" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdz" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdA" = (/obj/structure/closet/crate,/obj/random/bomb_supply,/obj/random/bomb_supply,/obj/random/bomb_supply,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/random/tool,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cdB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"cdC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) +"cdD" = (/obj/machinery/camera/network/research{c_tag = "SCI - Research Hallway Aft"; dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/research) +"cdE" = (/obj/structure/sign/warning/server_room,/turf/simulated/wall/r_wall,/area/rnd/workshop) +"cdF" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorblack/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cdG" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cdH" = (/obj/structure/table/steel,/obj/item/device/electronic_assembly/large{pixel_y = 6},/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cdI" = (/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) +"cdJ" = (/obj/structure/closet,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/storage/backpack/satchel/vir,/obj/item/weapon/storage/backpack/virology,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) +"cdK" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/medical/virology) +"cdL" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cdM" = (/turf/simulated/floor/tiled/white,/area/medical/virology) +"cdN" = (/obj/machinery/smartfridge/secure/virology,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cdO" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cdP" = (/obj/structure/bed/padded,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/weapon/bedsheet/green,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cdQ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/lattice,/turf/space,/area/space) +"cdR" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/engine_room) +"cdS" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"cdT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"cdU" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) +"cdV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cdW" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"cdX" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 4; icon_state = "map"; tag = "icon-map (EAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/engine_room) +"cdY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access = list(11)},/turf/simulated/floor,/area/engineering/engine_airlock) +"cdZ" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"cea" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"ceb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_exterior"; locked = 0; name = "Engine Airlock Exterior"; req_access = list(11)},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"cec" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"ced" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/airlock_sensor/airlock_exterior{id_tag = "eng_al_ext_snsr"; layer = 3.3; master_tag = "engine_room_airlock"; pixel_y = -22; req_access = list(10)},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"cee" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11)},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"cef" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ceg" = (/obj/machinery/door/window/westleft{name = "Engineering Delivery"; req_access = list(10)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ceh" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/machinery/navbeacon/delivery/west{location = "Engineering"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"cei" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cej" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cel" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cem" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cen" = (/turf/simulated/wall,/area/maintenance/apmaint) +"ceo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"cep" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"ceq" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"cer" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/sign/warning/secure_area{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"ces" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cet" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/engineering) +"ceu" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cev" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "Utility Down"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cew" = (/obj/structure/disposalpipe/broken{dir = 1},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cex" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"cey" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"cez" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"ceA" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"ceB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"ceC" = (/obj/structure/table/steel,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/extinguisher,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"ceD" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"ceE" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/central_emergency) +"ceF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"ceG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/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/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"ceH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"ceI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"ceJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"ceK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Teleport Access"; req_access = list(17)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/teleporter) +"ceL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/teleporter) +"ceM" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/teleporter) +"ceN" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/teleporter) +"ceO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) +"ceP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) +"ceQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) +"ceR" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/research) +"ceS" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/research) +"ceT" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) +"ceU" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/turf/simulated/floor/plating,/area/maintenance/research) +"ceV" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/secure_area{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"ceW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"ceX" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"ceY" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/science{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"ceZ" = (/turf/simulated/wall,/area/maintenance/robotics) +"cfa" = (/turf/simulated/floor/plating,/area/maintenance/robotics) +"cfb" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cfc" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cfd" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cfe" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cff" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mining Storage"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"cfg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor/tiled/techfloor,/area/assembly/chargebay) +"cfh" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfi" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfl" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfm" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfn" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cfo" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/research) +"cfp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) +"cfq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{id_tag = "researchdoor"; name = "Research Division Access"; req_access = list(47)},/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"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/rnd/research) +"cfr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cfs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cft" = (/obj/random/junk,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cfu" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cfv" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cfw" = (/obj/structure/table/glass,/obj/item/device/antibody_scanner{pixel_x = 2; pixel_y = 2},/obj/item/device/antibody_scanner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cfx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/medical/virology) +"cfy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cfz" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cfA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cfB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/medical/virology) +"cfC" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 4},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/medical/virology) +"cfD" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/button/remote/blast_door{id = "EngineVent"; name = "Reactor Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) +"cfE" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Core 1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/engine_room) +"cfF" = (/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cfG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) +"cfH" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/engineering/engine_room) +"cfI" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_x = 22; pixel_y = 0; req_access = list(10)},/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) +"cfJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; locked = 0; name = "Engine Access"; req_one_access = list(11)},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) +"cfK" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) +"cfL" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/r_wall,/area/engineering/engine_airlock) +"cfM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"cfN" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"cfO" = (/turf/simulated/wall,/area/engineering/hallway/engineer_hallway) +"cfP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cfQ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cfR" = (/turf/simulated/wall/r_wall,/area/maintenance/apmaint) +"cfS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cfT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cfU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"cfV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cfW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cfX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cfY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"cfZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cga" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cgb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cgc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cgd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cge" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cgf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cgg" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) +"cgh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cgi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cgj" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cgk" = (/turf/simulated/wall/r_wall,/area/storage/emergency_storage/seconddeck/central_emergency) +"cgl" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"cgm" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"cgn" = (/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"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cgo" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/teleporter) +"cgp" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/teleporter) +"cgq" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/simulated/floor/tiled,/area/teleporter) +"cgr" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cgs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2,/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cgt" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) +"cgu" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"cgv" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) +"cgw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) +"cgx" = (/obj/structure/window/reinforced,/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/maintenance/research) +"cgy" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/research) +"cgz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/research) +"cgA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cgB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cgC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cgD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cgE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgF" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgG" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgH" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/robotics) +"cgL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cgM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cgN" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/starboard) +"cgO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cgP" = (/obj/structure/closet/emcloset,/obj/random/maintenance/research,/turf/simulated/floor,/area/maintenance/research_medical) +"cgQ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) +"cgR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/rnd/research) +"cgS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/rnd/research) +"cgT" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cgU" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/obj/machinery/camera/network/research{c_tag = "SCI - Workshop"; dir = 1},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cgV" = (/obj/structure/table/steel,/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind,/obj/random/maintenance/research,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/rnd/workshop) +"cgW" = (/obj/item/frame/light,/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) +"cgX" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/medical,/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cgY" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cgZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cha" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/warning/deathsposal{pixel_x = 32},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/tiled/white,/area/medical/virology) +"chb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/northright{name = "Virology Isolation Room"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) +"chc" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/blast/regular{dir = 8; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor,/area/engineering/engine_room) +"chd" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"che" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) +"chf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/engineering/engine_room) +"chg" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room) +"chh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) +"chi" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"chj" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/supermatter_engine,/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"chk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"chl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"chm" = (/obj/structure/closet/radiation,/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"chn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/engine_monitoring) +"cho" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"chp" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"chq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"chr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"chs" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cht" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"chu" = (/turf/unsimulated/mask,/area/hallway/primary/seconddeck/port) +"chv" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/port) +"chw" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"chx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"chy" = (/obj/structure/sign/directions/medical{dir = 4},/obj/structure/sign/directions/security{dir = 4; pixel_y = 10},/turf/simulated/wall,/area/maintenance/apmaint) +"chz" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/cryo{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/maintenance/apmaint) +"chA" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"chB" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"chC" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"chD" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"chE" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"chF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) +"chG" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/fpcenter) +"chH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"chI" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"chJ" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fpcenter) +"chK" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) +"chL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fpcenter) +"chM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) +"chN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fpcenter) +"chO" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"chP" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/central_emergency) +"chQ" = (/obj/machinery/door/firedoor/border_only,/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/plating,/area/maintenance/central) +"chR" = (/turf/unsimulated/mask,/area/hallway/primary/seconddeck/apcenter) +"chS" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"chT" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/teleporter) +"chU" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/tiled,/area/teleporter) +"chV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/ascenter) +"chW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) +"chX" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/ascenter) +"chY" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) +"chZ" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/ascenter) +"cia" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cib" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cic" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) +"cid" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,47)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"cie" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cif" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cig" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"cih" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cii" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/turf/simulated/wall,/area/maintenance/robotics) +"cij" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cik" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cil" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cim" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/sign/deck/second{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cin" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/starboard) +"cio" = (/turf/unsimulated/mask,/area/hallway/primary/seconddeck/starboard) +"cip" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Research Access"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/research_foyer) +"ciq" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/rnd/workshop) +"cir" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cis" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cit" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ciu" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) +"civ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) +"ciw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cix" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/hand_labeler,/obj/structure/reagent_dispensers/virusfood{pixel_x = 30},/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/lime/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ciy" = (/obj/structure/sign/warning/vent_port{pixel_x = 32},/turf/space,/area/space) +"ciz" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) +"ciA" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) +"ciB" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1438; icon_state = "map_injector"; id = "cooling_in"; name = "Coolant Injector"; pixel_y = 1; power_rating = 30000; use_power = 1; volume_rate = 700},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) +"ciC" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/turf/simulated/floor,/area/engineering/engine_room) +"ciD" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) +"ciE" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) +"ciF" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor,/area/engineering/engine_room) +"ciG" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"ciH" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor,/area/engineering/engine_room) +"ciI" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) +"ciJ" = (/obj/machinery/computer/rcon,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ciK" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ciL" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ciM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ciN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ciO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engine Monitoring Room"; req_access = list(11)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/engineering/engine_monitoring) +"ciP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ciQ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ciR" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ciS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ciT" = (/obj/structure/closet,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ciU" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/port) +"ciV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ciW" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ciX" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ciY" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ciZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cja" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjb" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjc" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"cjd" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cje" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjf" = (/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjh" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cji" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjj" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjk" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Two"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjl" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjm" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjn" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjo" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cjp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/port) +"cjq" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cju" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjy" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/navbeacon/patrol{location = "CH3"; next_patrol = "ENG"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cjz" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"cjA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/navbeacon/patrol{location = "CH10"; next_patrol = "CH11"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjD" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjE" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway One"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjF" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjH" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cjK" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/starboard) +"cjL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"cjT" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjU" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjV" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjX" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjY" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cjZ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cka" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"ckb" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Three"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"ckc" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"ckd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cke" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"ckf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"ckg" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/starboard) +"ckh" = (/obj/structure/ladder,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cki" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/seconddeck/research_medical) +"ckj" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Joint Hallway Access"; dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"ckk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"ckl" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"ckm" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"ckn" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cko" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"ckp" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"ckq" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"ckr" = (/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/secure_area{pixel_y = 32},/obj/machinery/camera/network/medbay{c_tag = "MED - Joint Hallway"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"cks" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/steel,/area/medical/virology) +"ckt" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/steel,/area/medical/virology) +"cku" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -26; pixel_y = 0; req_access = list(5)},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Port"; dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ckv" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ckw" = (/obj/machinery/disease2/isolator,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/lime/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ckx" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineVent"; name = "Reactor Vent"; p_open = 0},/obj/machinery/shield_diffuser,/turf/simulated/floor/reinforced/airless,/area/engineering/engine_room) +"cky" = (/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room) +"ckz" = (/obj/machinery/mass_driver{dir = 8; id = "enginecore"},/obj/machinery/power/supermatter{layer = 4},/obj/effect/engine_setup/core,/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room) +"ckA" = (/obj/machinery/air_sensor{frequency = 1438; id_tag = "engine_sensor"; output = 63},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) +"ckB" = (/obj/effect/wingrille_spawn/reinforced_phoron,/obj/machinery/door/blast/regular{dir = 1; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor,/area/engineering/engine_room) +"ckC" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"ckD" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"ckE" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; id = "EngineEmitter"; state = 2},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/engineering/engine_room) +"ckF" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"ckG" = (/obj/structure/cable/cyan{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/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/engineering/engine_room) +"ckH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) +"ckI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/power_monitor,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ckJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = -6; pixel_y = -3; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; pixel_y = 7; req_access = list(10)},/obj/machinery/button/remote/emitter{desc = "A remote control-switch for the engine emitter."; id = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; pixel_y = 2; req_access = list(10)},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ckK" = (/obj/structure/cable/cyan{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/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ckL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ckM" = (/obj/machinery/disposal,/obj/machinery/camera/network/engine{c_tag = "ENG - Monitoring Room"; dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"ckN" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Engineering Hallway 3"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) +"ckO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ckP" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/port) +"ckQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ckR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Four"; dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ckS" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/port) +"ckT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"ckU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"ckV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"ckW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"ckX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/device/radio/beacon,/obj/machinery/navbeacon/patrol{location = "ENG"; next_patrol = "CH4"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"ckY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"ckZ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"cla" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"clb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"clc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"cld" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"cle" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/port) +"clf" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"clg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"clh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cli" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/port) +"clj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"clk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"cll" = (/obj/structure/cable{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/monotile,/area/hallway/primary/seconddeck/fpcenter) +"clm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fpcenter) +"cln" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"clo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"clp" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"clq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/meter,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"clr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cls" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/central) +"clt" = (/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"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"clu" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"clv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"clw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/central) +"clx" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cly" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"clz" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"clA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"clB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"clC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"clD" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"clE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"clF" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/starboard) +"clG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"clH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clJ" = (/obj/structure/cable{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/monotile,/area/hallway/primary/seconddeck/starboard) +"clK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"clM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/device/radio/beacon,/obj/machinery/navbeacon/patrol{location = "MED"; next_patrol = "CH10"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"clQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"clR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"clS" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/starboard) +"clT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Four"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"clU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"clV" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/starboard) +"clW" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"clX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/secondary/seconddeck/research_medical) +"clY" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/seconddeck/research_medical) +"clZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/secondary/seconddeck/research_medical) +"cma" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/industrial/warning,/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,/area/hallway/secondary/seconddeck/research_medical) +"cmb" = (/obj/machinery/door/firedoor/border_only,/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/hallway/secondary/seconddeck/research_medical) +"cmc" = (/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/hallway/secondary/seconddeck/research_medical) +"cmd" = (/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/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cme" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cmf" = (/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"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cmg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cmh" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/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/hallway/secondary/seconddeck/research_medical) +"cmi" = (/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/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"cmj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = -24; req_access = list(39)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/virology) +"cmk" = (/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/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cml" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/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/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = 24; req_access = list(39)},/turf/simulated/floor/tiled/steel_grid,/area/medical/virology) +"cmn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmo" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmp" = (/obj/structure/table/glass,/obj/item/weapon/storage/lockbox/vials,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmq" = (/obj/structure/table/glass,/obj/item/weapon/storage/fancy/vials,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmr" = (/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cms" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmt" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmu" = (/obj/machinery/computer/centrifuge,/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Starboard"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cmv" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/virology) +"cmw" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Core 2"; dir = 1},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) +"cmx" = (/obj/machinery/atmospherics/unary/vent_pump/engine{dir = 4; external_pressure_bound = 100; external_pressure_bound_default = 0; frequency = 1438; icon_state = "map_vent_in"; id_tag = "cooling_out"; initialize_directions = 1; pressure_checks = 1; pressure_checks_default = 1; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room) +"cmy" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/turf/simulated/floor,/area/engineering/engine_room) +"cmz" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cmA" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cmB" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor,/area/engineering/engine_room) +"cmC" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cmD" = (/turf/simulated/floor,/area/engineering/engine_room) +"cmE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/wingrille_spawn/reinforced_phoron,/turf/simulated/floor,/area/engineering/engine_monitoring) +"cmF" = (/obj/machinery/computer/security/engineering,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"cmG" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"cmH" = (/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"cmI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"cmJ" = (/obj/structure/table/steel,/obj/machinery/microwave{pixel_x = -2; pixel_y = 5},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"cmK" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"cmL" = (/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cmM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cmN" = (/obj/structure/ladder,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cmO" = (/obj/effect/floor_decal/borderfloorblack{dir = 10},/obj/effect/floor_decal/industrial/danger{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/port) +"cmP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmQ" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmR" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmS" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmT" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmU" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmW" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Three"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cmZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cna" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cnb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cnc" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cnd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cne" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/structure/table/bench/steel,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"cnf" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/structure/bed/roller,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"cng" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cnh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cni" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/port) +"cnj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cno" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway One"; dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cnr" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/machinery/navbeacon/patrol{location = "CH4"; next_patrol = "CH5"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) +"cns" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"cnt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cnu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/meter,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cnv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cnw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cnx" = (/obj/machinery/space_heater,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cny" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cnz" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cnA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/machinery/navbeacon/patrol{location = "CH9"; next_patrol = "MED"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnD" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cnK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnM" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Port Hallway Two"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnU" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/starboard) +"cnW" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnX" = (/obj/effect/floor_decal/borderfloor,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cnZ" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"coa" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/starboard) +"cob" = (/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/research_medical) +"coc" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cod" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"coe" = (/obj/effect/floor_decal/industrial/hatch/yellow,/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/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"cof" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"cog" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"coh" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"coi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"coj" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"cok" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/hallway/secondary/seconddeck/research_medical) +"col" = (/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/warning/biohazard{pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/seconddeck/research_medical) +"com" = (/obj/structure/closet/l3closet/virology,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"con" = (/obj/structure/closet/wardrobe/virology_white,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/camera/network/medbay{c_tag = "MED - Virology Airlock"; dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/white,/area/medical/virology) +"coo" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "virology_airlock_control"; name = "Virology Access Console"; pixel_x = -26; pixel_y = 0; tag_exterior_door = "virology_airlock_exterior"; tag_interior_door = "virology_airlock_interior"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cop" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"coq" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cor" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cos" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cot" = (/obj/machinery/disease2/incubator,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/lime/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cou" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -25; pixel_y = 6; req_access = list(10)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; pixel_x = -25; pixel_y = -6; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) +"cov" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room) +"cow" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cox" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room) +"coy" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"coz" = (/obj/structure/table/reinforced,/obj/item/clothing/ears/earmuffs,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"coA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"coB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"coC" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"coD" = (/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"coE" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"coF" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"coG" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"coH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_research{name = "Workshop"; req_access = list(47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/workshop) +"coI" = (/obj/machinery/door/airlock/research{name = "Research Access"; req_access = list(47)},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/rnd/research) +"coJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/vending/coffee,/obj/structure/sign/deck/second{pixel_x = -32},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"coK" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"coL" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/evac{dir = 4; pixel_y = -10},/obj/structure/sign/directions/cargo{dir = 2},/turf/simulated/wall,/area/maintenance/apmaint) +"coM" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"coN" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"coO" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"coP" = (/turf/simulated/wall,/area/maintenance/emergencyeva) +"coQ" = (/turf/simulated/wall,/area/ai_monitored/storage/emergency/eva) +"coR" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Emergency EVA"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/emergency/eva) +"coS" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Emergency EVA"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/ai_monitored/storage/emergency/eva) +"coT" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/port) +"coU" = (/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,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"coV" = (/turf/simulated/wall,/area/maintenance/bar) +"coW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) +"coX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/fpcenter) +"coY" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 2},/obj/structure/sign/directions/medical{dir = 2; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/fpcenter) +"coZ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fpcenter) +"cpa" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/central) +"cpb" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/central) +"cpc" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/rack,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/central) +"cpd" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) +"cpe" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/machinery/door/airlock/maintenance{name = "HoP Maintenance Access"; req_one_access = list(57)},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) +"cpf" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/ascenter) +"cpg" = (/obj/structure/sign/directions/engineering{dir = 2; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 2},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/ascenter) +"cph" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cpi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cpj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cpk" = (/turf/simulated/wall,/area/maintenance/medbay) +"cpl" = (/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cpm" = (/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cpn" = (/turf/simulated/wall,/area/maintenance/medbay_fore) +"cpo" = (/obj/structure/sign/directions/bridge{dir = 8; pixel_y = 10},/obj/structure/sign/directions/evac{dir = 8; pixel_y = -10},/obj/structure/sign/directions/cargo{dir = 8},/turf/simulated/wall,/area/maintenance/medbay_fore) +"cpp" = (/obj/structure/sign/directions/medical{dir = 2},/obj/structure/sign/directions/security{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cryo{dir = 8; pixel_y = -10},/turf/simulated/wall,/area/maintenance/medbay_fore) +"cpq" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cpr" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cps" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cpt" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cpu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"cpv" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/technology_scanner,/obj/item/weapon/storage/bag/circuits/basic,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"cpw" = (/turf/simulated/wall/r_wall,/area/medical/medbay2) +"cpx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Medical Access"; req_access = list(5)},/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/steel_grid,/area/medical/medbay2) +"cpy" = (/obj/effect/floor_decal/industrial/loading,/obj/machinery/door/firedoor/border_only,/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/south{location = "Medbay"},/turf/simulated/floor/tiled,/area/medical/medbay2) +"cpz" = (/turf/simulated/wall/r_wall,/area/medical/genetics) +"cpA" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/medical/genetics) +"cpB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/research{name = "Genetics Lab"; req_one_access = list(5,47)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/seconddeck/research_medical) +"cpC" = (/obj/effect/decal/warning_stripes,/obj/machinery/atmospherics/tvalve/mirrored/bypass,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/medical/virology) +"cpD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpE" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpF" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpG" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/lime/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpJ" = (/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/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = 32},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/lime/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cpK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cpL" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cpM" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/engine{c_tag = "ENG - Engine Core 3"; dir = 2},/turf/simulated/floor,/area/engineering/engine_room) +"cpN" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cpO" = (/obj/machinery/atmospherics/binary/pump,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) +"cpP" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"cpQ" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"cpR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"cpS" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"cpT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cpU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/tagger/partial{dir = 1; name = "Sorting Office"; sort_tag = "Sorting Office"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cpV" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cpW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cpX" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"cpY" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cpZ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cqa" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"cqb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"cqc" = (/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"cqd" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"cqe" = (/obj/machinery/light/small{dir = 1},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"cqf" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"cqg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"cqh" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/ai_monitored/storage/emergency/eva) +"cqi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cqj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"cqk" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"cql" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cqm" = (/turf/simulated/floor,/area/maintenance/bar) +"cqn" = (/obj/structure/closet/emcloset,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cqo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cqp" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/apcenter) +"cqq" = (/obj/structure/flora/ausbushes/pointybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cqr" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cqs" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cqt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cqu" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cqv" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/plushie,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/central) +"cqw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/central) +"cqx" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/stairwell) +"cqy" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/stairwell) +"cqz" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/apcenter) +"cqA" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/apcenter) +"cqB" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/seconddeck/apcenter) +"cqC" = (/obj/machinery/computer/skills,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "hop_office_desk"; name = "Desk Privacy Shutter"; pixel_x = 8; pixel_y = 28},/obj/machinery/button/windowtint{id = "hop_office"; pixel_x = 0; pixel_y = 29},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cqD" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cqE" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cqF" = (/obj/machinery/account_database,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cqG" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cqH" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cqI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cqJ" = (/obj/machinery/seed_storage/garden,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cqK" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cqL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cqM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cqN" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cqO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cqP" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cqQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqT" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqU" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqV" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqY" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cqZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"cra" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"crb" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"crc" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"crd" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"cre" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"crf" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) +"crg" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"crh" = (/turf/simulated/wall,/area/maintenance/research_medical) +"cri" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/maintenance/research_medical) +"crj" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"crk" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"crl" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southright{name = "Medical Delivery"; req_access = list(5)},/turf/simulated/floor/tiled,/area/medical/medbay2) +"crm" = (/turf/simulated/wall,/area/medical/genetics) +"crn" = (/obj/random/contraband,/turf/simulated/floor/plating,/area/medical/genetics) +"cro" = (/obj/item/frame,/turf/simulated/floor/tiled/white,/area/medical/genetics) +"crp" = (/obj/structure/frame{anchored = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"crq" = (/turf/simulated/floor/tiled/white,/area/medical/genetics) +"crr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"crs" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/frame/apc,/turf/simulated/floor/tiled/white,/area/medical/genetics) +"crt" = (/obj/structure/table,/turf/simulated/floor/tiled/white,/area/medical/genetics) +"cru" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/steel,/area/medical/genetics) +"crv" = (/turf/simulated/floor/plating,/area/medical/genetics) +"crw" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"crx" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/virusdish/random,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cry" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/southright{dir = 2; name = "Virology Isolation Room"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/virology) +"crz" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) +"crA" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"crB" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) +"crC" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_room) +"crD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor,/area/engineering/engine_room) +"crE" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engineering/engine_room) +"crF" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) +"crG" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "SMES Access"; req_access = list(10)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/engineering/engine_smes) +"crH" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 0; pixel_y = 26; req_access = list(10); specialfunctions = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"crI" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"crJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"crK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"crL" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"crM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/apmaint) +"crN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/apmaint) +"crO" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/sortjunction/wildcard{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crV" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crW" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"crX" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/port) +"crY" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/bag/ore,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"crZ" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"csa" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"csb" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"csc" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/emergencyeva) +"csd" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cse" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"csf" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"csg" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"csh" = (/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"csi" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"csj" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"csk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"csl" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"csm" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/central) +"csn" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/central) +"cso" = (/obj/machinery/lapvend,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"csp" = (/obj/structure/table/glass,/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/recharger{pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Stair Access"; dir = 2},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"csq" = (/obj/structure/table/glass,/obj/random/cigarettes,/obj/random/toolbox,/obj/random/tech_supply,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"csr" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/stairwell) +"css" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cst" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Head of Personnel's Desk"; req_access = list(57)},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hop) +"csu" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Head of Personnel"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"csv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"csw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"csx" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"csy" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/computer/guestpass{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"csz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"csA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"csB" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"csC" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"csD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"csE" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/medbay) +"csF" = (/turf/simulated/floor/plating,/area/maintenance/medbay) +"csG" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"csH" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"csI" = (/obj/machinery/floodlight,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csJ" = (/obj/machinery/space_heater,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csK" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csL" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csM" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csP" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csQ" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csR" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csS" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"csT" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = -32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"csU" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"csV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"csW" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/starboard) +"csX" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"csY" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research_medical) +"csZ" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cta" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"ctb" = (/obj/item/stack/tile/floor/white,/turf/simulated/floor/plating,/area/medical/genetics) +"ctc" = (/obj/item/weapon/camera_assembly,/turf/simulated/floor/tiled/white,/area/medical/genetics) +"ctd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"cte" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"ctf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"ctg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"cth" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics) +"cti" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/genetics) +"ctj" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/medical/virology) +"ctk" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ctl" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ctm" = (/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ctn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cto" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ctp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"ctq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor,/area/engineering/engine_room) +"ctr" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"cts" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"ctt" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"ctu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor,/area/engineering/engine_room) +"ctv" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/engine_room) +"ctw" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/alarm/nobreach{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor,/area/engineering/engine_room) +"ctx" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/effect/engine_setup/smes,/turf/simulated/floor/plating,/area/engineering/engine_smes) +"cty" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/table/steel,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"ctz" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table/steel,/obj/item/device/multitool{pixel_x = 5},/obj/item/clothing/gloves/yellow,/obj/machinery/camera/network/engine{c_tag = "ENG - SMES Room"; dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"ctA" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/engine_smes) +"ctB" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 750000; output_level = 750000; RCon_tag = "Engine - Main"},/obj/effect/engine_setup/smes/main,/turf/simulated/floor/plating,/area/engineering/engine_smes) +"ctC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/apmaint) +"ctD" = (/turf/simulated/wall,/area/construction/seconddeck/construction1) +"ctE" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/construction/seconddeck/construction1) +"ctF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"ctG" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ctH" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ctI" = (/turf/simulated/wall,/area/quartermaster/delivery) +"ctJ" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/delivery) +"ctK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Delivery Office Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/delivery) +"ctL" = (/turf/simulated/wall,/area/quartermaster/foyer) +"ctM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Cargo Access"},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/foyer) +"ctN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/foyer) +"ctO" = (/turf/simulated/wall,/area/quartermaster/qm) +"ctP" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/quartermaster/qm) +"ctQ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/obj/machinery/door/window/eastright,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"ctR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"ctS" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"ctT" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"ctU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/apcenter) +"ctV" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"ctW" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"ctX" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"ctY" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"ctZ" = (/obj/machinery/atmospherics/valve/digital/open,/obj/effect/decal/cleanable/dirt,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/central) +"cua" = (/obj/machinery/atmospherics/valve/digital/open,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/central) +"cub" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/stairwell) +"cuc" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cud" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cue" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cuf" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cug" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cuh" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cui" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Elevator Access"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cuj" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "hop_office"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) +"cuk" = (/obj/machinery/computer/card,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cul" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cum" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cun" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/hop,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cuo" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/pen/multi,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cup" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cuq" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cur" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cus" = (/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cut" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cuu" = (/turf/simulated/wall/r_wall,/area/medical/medbay_emt_bay) +"cuv" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = null; name = "EMT Bay"; req_access = list(5)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"cuw" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"cux" = (/turf/simulated/wall/r_wall,/area/medical/exam_room) +"cuy" = (/turf/simulated/wall/r_wall,/area/medical/reception) +"cuz" = (/turf/simulated/wall,/area/medical/reception) +"cuA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/medical/reception) +"cuB" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall/r_wall,/area/medical/reception) +"cuC" = (/turf/simulated/wall/r_wall,/area/medical/foyer) +"cuD" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cuE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/foyer) +"cuF" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cuG" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) +"cuH" = (/turf/simulated/wall/r_wall,/area/medical/medbay_primary_storage) +"cuI" = (/turf/simulated/wall/r_wall,/area/medical/biostorage) +"cuJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cuK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cuL" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/genetics) +"cuM" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/medical/genetics) +"cuN" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/lime/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cuO" = (/obj/machinery/computer/diseasesplicer,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/lime/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cuP" = (/obj/machinery/power/generator{anchored = 1; dir = 2},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"cuQ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) +"cuR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) +"cuS" = (/obj/machinery/power/generator{anchored = 1; dir = 2},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"cuT" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_room) +"cuU" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"cuV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cuW" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"cuX" = (/turf/simulated/floor,/area/maintenance/apmaint) +"cuY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) +"cuZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cva" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cvb" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cvc" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cvd" = (/obj/machinery/disposal/deliveryChute,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cve" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cvf" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cvg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/status_display{layer = 4},/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cvh" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvi" = (/obj/structure/bed/chair,/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvj" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvk" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Foyer"; dir = 2; name = "security camera"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvl" = (/obj/structure/bed/chair,/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvm" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cvn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "quart_tint"},/obj/machinery/ai_status_display{layer = 4},/turf/simulated/floor/plating,/area/quartermaster/qm) +"cvo" = (/obj/structure/filingcabinet,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cvp" = (/obj/machinery/computer/supplycomp,/obj/machinery/status_display/supply_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cvq" = (/obj/machinery/computer/security/mining,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cvr" = (/obj/structure/table/standard,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 28},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cvs" = (/obj/structure/table/rack,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cvt" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"cvu" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/ai_monitored/storage/emergency/eva) +"cvv" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cvw" = (/obj/structure/reagent_dispensers/fueltank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cvx" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Six"; dir = 4},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cvy" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cvz" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cvA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cvB" = (/obj/structure/disposalpipe/segment,/obj/machinery/ai_status_display{pixel_x = 32},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cvC" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/tool/powermaint,/turf/simulated/floor/plating,/area/maintenance/research) +"cvD" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/effect/decal/cleanable/dirt,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cvE" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cvF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cvG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cvH" = (/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,/area/hallway/primary/seconddeck/stairwell) +"cvI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cvJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cvK" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cvL" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hop_office"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) +"cvM" = (/obj/structure/closet/secure_closet/hop,/obj/item/device/megaphone,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cvN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cvO" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cvP" = (/obj/structure/dogbed,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cvQ" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) +"cvR" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cvS" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cvT" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cvU" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Three"; dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cvV" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{pixel_y = 24},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"cvW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cvX" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 8},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cvY" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 6},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cvZ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/device/suit_cooling_unit,/obj/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cwa" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall/r_wall,/area/medical/medbay_emt_bay) +"cwb" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/pink/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cwc" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cwd" = (/obj/structure/table/glass,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/storage/box/rxglasses,/obj/random/medical,/obj/random/firstaid,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cwe" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cwf" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cwg" = (/obj/structure/bed/chair,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/landmark/start{name = "Medical Doctor"},/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/reception) +"cwh" = (/obj/structure/bed/chair,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/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/reception) +"cwi" = (/obj/structure/noticeboard{pixel_y = 28},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cwj" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/obj/machinery/ai_status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cwk" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cwl" = (/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/structure/table/glass,/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cwm" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cwn" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/structure/flora/pottedplant/orientaltree,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cwo" = (/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cwp" = (/obj/structure/bed/chair{dir = 8},/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/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cwq" = (/obj/structure/sign/chemistry{icon_state = "chemistry2"; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "chemwindow"; name = "Chemistry Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/chemistry) +"cwr" = (/obj/machinery/chemical_dispenser/full,/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/beige/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cws" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/beige/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cwt" = (/obj/structure/table/reinforced,/obj/item/device/mass_spectrometer/adv,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/beige/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cwu" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/beige/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cwv" = (/obj/machinery/chemical_dispenser/full,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/beige/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cww" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) +"cwx" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/adv,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cwy" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cwz" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cwA" = (/turf/simulated/wall,/area/medical/medbay_primary_storage) +"cwB" = (/obj/structure/bedsheetbin,/obj/structure/table/steel,/obj/random/firstaid,/obj/random/firstaid,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cwC" = (/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/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cwD" = (/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) +"cwE" = (/turf/simulated/wall,/area/medical/biostorage) +"cwF" = (/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cwG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cwH" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/medical/genetics) +"cwI" = (/obj/item/frame/light,/turf/simulated/floor/plating,/area/medical/genetics) +"cwJ" = (/obj/random/tech_supply,/turf/simulated/floor/plating,/area/medical/genetics) +"cwK" = (/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/genetics) +"cwL" = (/turf/simulated/floor/tiled/steel,/area/medical/genetics) +"cwM" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/lime/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cwN" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/white,/area/medical/virology) +"cwO" = (/obj/machinery/disease2/diseaseanalyser,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/lime/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cwP" = (/obj/structure/table/glass,/obj/item/roller,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/medical/virology) +"cwQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport2"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"cwR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engineering/engine_room) +"cwS" = (/obj/machinery/atmospherics/binary/circulator{anchored = 1; dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) +"cwT" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_room) +"cwU" = (/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"cwV" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/engineering/engine_room) +"cwW" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/engineering/engine_room) +"cwX" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cwY" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cwZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cxa" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"cxb" = (/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) +"cxc" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) +"cxd" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/random/maintenance/clean,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) +"cxe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cxf" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cxg" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cxh" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cxi" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cxj" = (/obj/structure/table/reinforced,/obj/machinery/door/window/westright{name = "Mailing Room"; req_access = list(50)},/obj/machinery/door/firedoor/glass,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cxk" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cxl" = (/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cxm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cxn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cxo" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cxp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "quart_tint"},/turf/simulated/floor/plating,/area/quartermaster/qm) +"cxq" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cxr" = (/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cxs" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/button/remote/blast_door{id = "crglockdown"; name = "Cargo Lockdown"; pixel_x = -24; pixel_y = -26; req_access = list()},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cxt" = (/obj/structure/table/standard,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/retail_scanner/civilian{tag = "icon-retail_idle (NORTH)"; icon_state = "retail_idle"; dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cxu" = (/obj/machinery/status_display,/turf/simulated/wall,/area/quartermaster/qm) +"cxv" = (/obj/structure/table/reinforced,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cxw" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/machinery/camera/network/civilian{c_tag = "CIV - Emergency EVA"; dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cxx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/techmaint,/area/ai_monitored/storage/emergency/eva) +"cxy" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cxz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cxA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cxB" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cxC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cxD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"cxE" = (/obj/structure/railing{dir = 4},/turf/simulated/open,/area/hallway/primary/seconddeck/stairwell) +"cxF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"cxG" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/stairwell) +"cxH" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cxI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cxJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cxK" = (/obj/effect/wingrille_spawn/reinforced/polarized{id = "hop_office"},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop) +"cxL" = (/obj/machinery/photocopier,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cxM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cxN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"cxO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cxP" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -30},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop) +"cxQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"cxR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cxS" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cxT" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cxU" = (/obj/structure/table/steel,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/medbay_emt_bay) +"cxV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cxW" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cxX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cxY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/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/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cxZ" = (/turf/simulated/wall,/area/medical/medbay_emt_bay) +"cya" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/obj/structure/closet/secure_closet/medical_wall/pills{pixel_x = -32},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cyb" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cyc" = (/obj/structure/bed/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "MED - Examination Room"; dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cyd" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cye" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cyf" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/storage/box/glasses/square,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cyg" = (/obj/structure/table/glass,/obj/item/weapon/deck/cards,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/reception) +"cyh" = (/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/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cyi" = (/obj/structure/bed/chair/office/light{dir = 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},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cyj" = (/obj/structure/table/reinforced,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/obj/machinery/door/window/eastleft{name = "Medical Reception"; req_access = list(5)},/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/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cyk" = (/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/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cyl" = (/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/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cym" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cyn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cyo" = (/obj/structure/bed/chair{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Foyer"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cyp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "chemwindow"; name = "Chemistry Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/chemistry) +"cyq" = (/obj/machinery/chem_master,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cyr" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cys" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cyt" = (/obj/machinery/chem_master,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/beige/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cyu" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cyv" = (/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cyw" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cyx" = (/obj/structure/closet/l3closet/medical,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cyy" = (/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cyz" = (/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,/obj/structure/closet/crate{name = "Grenade Crate"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cyA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cyB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cyC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/plating,/area/medical/virology) +"cyD" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) +"cyE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport2"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/engine_room) +"cyF" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine radiator viewport shutters."; id = "EngineRadiatorViewport2"; name = "Engine Radiator Viewport Shutters"; pixel_x = 0; pixel_y = -25; req_access = list(10)},/turf/simulated/floor,/area/engineering/engine_room) +"cyG" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cyH" = (/obj/machinery/atmospherics/binary/pump/high_power{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room) +"cyI" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"cyJ" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) +"cyK" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"cyL" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cyM" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cyN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/apmaint) +"cyO" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/port_emergency) +"cyP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cyQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) +"cyR" = (/obj/item/stack/cable_coil/random,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"cyS" = (/obj/item/stack/tile/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"cyT" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cyU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cyV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cyW" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/random/junk,/obj/random/junk,/obj/random/junk,/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cyX" = (/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cyY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 6; icon_state = "intact"; tag = "icon-intact (NORTHWEST)"},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cyZ" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Delivery Office"; dir = 8; name = "security camera"},/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; pump_direction = 0},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cza" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/delivery) +"czb" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"czc" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"czd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cze" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"czf" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/status_display/supply_display{pixel_x = 32},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"czg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"czh" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/qm,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"czi" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"czj" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/device/megaphone,/obj/machinery/camera/network/cargo{c_tag = "CRG - Quartermaster Office"; dir = 8; name = "security camera"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"czk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/ai_monitored/storage/emergency/eva) +"czl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) +"czm" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"czn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"czo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"czp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) +"czq" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/stairwell) +"czr" = (/obj/structure/stairs,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/stairwell) +"czs" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"czt" = (/obj/machinery/papershredder,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"czu" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"czv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/command{c_tag = "COM - HoP's Office"; dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/heads/sc/hop) +"czw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hop) +"czx" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"czy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"czz" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"czA" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"czB" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"czC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/medbay) +"czD" = (/obj/machinery/mech_recharger,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"czE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"czF" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"czG" = (/obj/structure/table/steel,/obj/item/device/multitool,/obj/item/weapon/deck/cards,/obj/machinery/camera/network/medbay{c_tag = "MED - EMT Bay"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"czH" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"czI" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"czJ" = (/obj/machinery/vending/wallmed1{pixel_x = 25},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"czK" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) +"czL" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/random/medical,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"czM" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"czN" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) +"czO" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/medical/reception) +"czP" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/table/reinforced,/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/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Quarantine Shutters Control"; pixel_x = -4; pixel_y = -4; req_access = list(5)},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"czQ" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"czR" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"czS" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"czT" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"czU" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"czV" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/westright{name = "Chemistry Desk"},/obj/machinery/door/window/eastright{name = "Chemistry Desk"; req_access = list(33)},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"czW" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"czX" = (/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"czY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"czZ" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cAa" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cAb" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cAc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cAd" = (/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/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/regular,/obj/random/medical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cAe" = (/obj/structure/closet/l3closet/medical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cAf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cAg" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flashlight,/obj/item/device/flashlight,/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/item/weapon/crowbar/red,/obj/item/weapon/crowbar/red,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cAh" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cAi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cAj" = (/turf/simulated/wall,/area/medical/medbay2) +"cAk" = (/obj/machinery/vending/fitness,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) +"cAl" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) +"cAm" = (/turf/simulated/wall,/area/medical/medical_restroom) +"cAn" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cAo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cAp" = (/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cAq" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cAr" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cAs" = (/turf/simulated/wall/r_wall,/area/medical/medical_restroom) +"cAt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/medical/virology) +"cAu" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/airless,/area/medical/virology) +"cAv" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/turf/simulated/floor,/area/engineering/engine_room) +"cAw" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) +"cAx" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/engineering/engine_room) +"cAy" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"; tag = "icon-intact (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) +"cAz" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor/plating,/area/engineering/engine_room) +"cAA" = (/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cAB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cAC" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cAD" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/construction/seconddeck/construction1) +"cAE" = (/obj/item/stack/tile/floor,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"cAF" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) +"cAG" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cAH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cAI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cAJ" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cAK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cAL" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cAM" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cAN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/delivery) +"cAO" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cAP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cAQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cAR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cAS" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cAT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/mining{name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/qm) +"cAU" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cAV" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cAW" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cAX" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cAY" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/bar) +"cAZ" = (/obj/structure/closet/crate,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) +"cBa" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) +"cBb" = (/turf/simulated/floor/plating,/area/maintenance/bar) +"cBc" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/bar) +"cBd" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/maintenance/bar) +"cBe" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/bar) +"cBf" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/machinery/light{dir = 8},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cBg" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cBh" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/brown/border{dir = 5},/obj/machinery/alarm{pixel_y = 23},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cBi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Central Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/central) +"cBj" = (/obj/structure/sign/deck/second,/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/stairwell) +"cBk" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cBl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cBm" = (/obj/structure/sign/directions/evac{dir = 2; pixel_y = -10},/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/apcenter) +"cBn" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = list(57)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hop) +"cBo" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop) +"cBp" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/obj/machinery/alarm{pixel_y = 23},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cBq" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cBr" = (/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"cBs" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cBt" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/closet/fireaxecabinet{pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/light{dir = 8},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cBu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cBv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cBw" = (/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,/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cBx" = (/obj/structure/closet/secure_closet/medical1,/obj/random/medical,/obj/random/medical,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cBy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cBz" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "exam_window_tint"; pixel_x = 36; pixel_y = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/exam_room) +"cBA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cBB" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cBC" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cBD" = (/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/effect/floor_decal/corner/paleblue{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cBE" = (/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cBF" = (/obj/structure/table/reinforced,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/obj/machinery/door/window/eastright{base_state = "right"; dir = 4; icon_state = "right"; name = "Medical Reception"; req_access = list(5)},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cBG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cBH" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cBI" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cBJ" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cBK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/table/glass,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/screwdriver,/obj/machinery/button/remote/blast_door{id = "chemwindow"; name = "Pharmacy Windows Shutter Control"; pixel_x = 6; pixel_y = -18; pixel_z = 0},/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_x = -6; pixel_y = -18},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cBL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cBM" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cBO" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/beige/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cBP" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cBQ" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cBR" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/medbay{c_tag = "MED - Equipment Storage"; dir = 8},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cBS" = (/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/structure/table/steel,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cBT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cBU" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cBV" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Starboard 2"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cBW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/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,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cBX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cBY" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cBZ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cCa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cCb" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cCc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor,/area/maintenance/apmaint) +"cCd" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cCe" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cCf" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/powercell,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) +"cCg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/cargo) +"cCh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) +"cCi" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/cash,/turf/simulated/floor,/area/maintenance/apmaint) +"cCj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/construction/seconddeck/construction1) +"cCk" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cCl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cCm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cCn" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cCo" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cCp" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cCq" = (/obj/structure/table/steel,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cCr" = (/obj/machinery/computer/ordercomp,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cCs" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cCt" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cCu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cCv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cCw" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/flora/pottedplant/fern,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/foyer) +"cCx" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cCy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cCz" = (/obj/structure/closet/secure_closet/quartermaster,/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cCA" = (/obj/structure/closet/crate,/obj/item/clothing/gloves/boxing/green,/obj/item/clothing/gloves/boxing,/turf/simulated/floor/plating,/area/maintenance/bar) +"cCB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table/steel,/obj/random/medical,/obj/random/medical/lite,/obj/random/medical/lite,/turf/simulated/floor/plating,/area/maintenance/bar) +"cCC" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cCD" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cCE" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCF" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH5"; next_patrol = "CH6"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) +"cCG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/apcenter) +"cCN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/machinery/navbeacon/patrol{location = "CH6"; next_patrol = "CIV"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCO" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/machinery/navbeacon/patrol{location = "CH7"; next_patrol = "CH8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cCP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCQ" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "HoP Office"; sortType = "HoP Office"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCV" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/navbeacon/patrol{location = "CH8"; next_patrol = "CH9"},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/ascenter) +"cCW" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cCX" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cCY" = (/obj/structure/closet/crate,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/medical,/obj/random/medical,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cCZ" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cDa" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cDb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) +"cDc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/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/structure/table/rack{dir = 8; layer = 2.6},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) +"cDd" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "exam_window_tint"},/turf/simulated/floor/plating,/area/medical/exam_room) +"cDe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Examination Room"; req_access = list(5)},/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/tiled/steel_grid,/area/medical/exam_room) +"cDf" = (/obj/structure/table/glass,/obj/machinery/recharger{pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Break Area"; dir = 4},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/reception) +"cDg" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cDh" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cDi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cDj" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/reception) +"cDk" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/computer/med_data/laptop,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cDl" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cDm" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cDn" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cDo" = (/obj/structure/table/glass,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/beige/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cDp" = (/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/chemistry) +"cDq" = (/obj/structure/closet/secure_closet/chemical,/obj/item/weapon/storage/box/pillbottles,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/beige/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cDr" = (/obj/structure/bed/chair/wheelchair,/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cDs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cDt" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cDu" = (/obj/structure/table/steel,/obj/item/weapon/gun/launcher/syringe,/obj/item/weapon/storage/box/syringegun,/obj/random/medical,/obj/random/medical,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cDv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cDw" = (/obj/structure/bed/chair/wheelchair,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cDx" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cDy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cDz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cDA" = (/obj/machinery/hologram/holopad,/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/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cDB" = (/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/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cDC" = (/obj/machinery/door/firedoor,/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/airlock{name = "Medical Restroom"},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_restroom) +"cDD" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cDE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cDF" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cDG" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cDH" = (/turf/simulated/wall/r_wall,/area/maintenance/disposal) +"cDI" = (/obj/machinery/conveyor{dir = 10; id = "garbage"},/turf/simulated/floor,/area/maintenance/disposal) +"cDJ" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/random/junk,/turf/simulated/floor,/area/maintenance/disposal) +"cDK" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/maintenance/disposal) +"cDL" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/turf/simulated/floor,/area/maintenance/disposal) +"cDM" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/maintenance/disposal) +"cDN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/disposal) +"cDO" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cDP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor,/area/maintenance/cargo) +"cDQ" = (/obj/structure/table/rack,/obj/random/powercell,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tank,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/catwalk,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/central) +"cDR" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cDS" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cDT" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/port_emergency) +"cDU" = (/turf/simulated/wall,/area/quartermaster/warehouse) +"cDV" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/warehouse) +"cDW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Cargo Bay Warehouse Maintenance"; req_access = list(31)},/turf/simulated/floor/plating,/area/quartermaster/warehouse) +"cDX" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cDY" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cDZ" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 30; pixel_y = -1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/delivery) +"cEa" = (/turf/simulated/wall,/area/quartermaster/office) +"cEb" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/glass,/obj/machinery/door/window/southleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_x = -32},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cEc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office) +"cEd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) +"cEe" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/office) +"cEf" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "quart_tint"; pixel_x = -36; pixel_y = 6},/obj/structure/flora/pottedplant/tropical,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cEg" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cEh" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cEi" = (/obj/structure/closet,/obj/item/weapon/storage/backpack/dufflebag,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/qm) +"cEj" = (/turf/simulated/wall,/area/quartermaster/lockerroom) +"cEk" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/lockerroom) +"cEl" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/green/border{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cEm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cEn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cEo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cEp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cEq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 6},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cEr" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/apcenter) +"cEs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cEt" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) +"cEu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cEv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cEw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"cEx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"cEy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"cEz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/ascenter) +"cEA" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/green/border{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cEB" = (/obj/structure/closet/crate/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/medbay) +"cEC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/multi_tile/glass{id_tag = null; name = "EMT Bay"; req_access = list(5)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"cED" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_emt_bay) +"cEE" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/medbay_emt_bay) +"cEF" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/machinery/vending/medical,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cEG" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cEH" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cEI" = (/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEJ" = (/obj/structure/filingcabinet/chestdrawer{name = "Medical Forms"},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEK" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEL" = (/obj/machinery/papershredder,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEM" = (/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/effect/floor_decal/corner/paleblue{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEN" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEO" = (/obj/machinery/door/window/eastright{base_state = "right"; dir = 4; icon_state = "right"; name = "Medical Reception"; req_access = list(5)},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/reception) +"cEP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/effect/floor_decal/corner_steel_grid,/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cEQ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cER" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/light,/obj/effect/landmark{name = "lightsout"},/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cES" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cET" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "medbayrecquar"; name = "Medbay Emergency Quarantine Shutters"; opacity = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/corner_steel_grid{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/foyer) +"cEU" = (/obj/machinery/reagentgrinder,/obj/structure/table/glass,/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/beige/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cEV" = (/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/structure/table/glass,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/beige/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cEW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cEX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/medbay{c_tag = "MED - Chemistry"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/beige/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cEY" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/item/device/radio/headset/headset_med,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/storage/box/pillbottles,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/beige/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) +"cEZ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/maintenance/cargo) +"cFa" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cFb" = (/obj/structure/table/standard,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/item/roller{pixel_y = 16},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"cFc" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cFd" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cFe" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"cFf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cFg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cFh" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cFi" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cFj" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cFk" = (/obj/structure/table/glass,/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#FF6666"; name = "light red towel"},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/towel{color = "#3fc0ea"; name = "light blue towel"; pixel_x = 2; pixel_y = 4},/obj/item/weapon/soap/nanotrasen,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cFl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cFm" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/machinery/door/window/westright{name = "Shower"},/obj/structure/window/basic{dir = 1},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cFn" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/sign/warning/vacuum{pixel_x = -32},/turf/simulated/floor,/area/maintenance/disposal) +"cFo" = (/obj/structure/sign/warning/moving_parts,/turf/simulated/wall,/area/maintenance/disposal) +"cFp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/disposal) +"cFq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/turf/simulated/floor,/area/maintenance/disposal) +"cFr" = (/obj/structure/disposalpipe/segment,/obj/machinery/vending/medical,/turf/simulated/wall,/area/medical/medbay_primary_storage) +"cFs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor,/area/maintenance/cargo) +"cFt" = (/obj/structure/closet/crate,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/cargo) +"cFu" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cFv" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/structure/table/rack{dir = 8; layer = 2.9},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) +"cFw" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) +"cFx" = (/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) +"cFy" = (/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/obj/effect/decal/cleanable/cobweb,/obj/structure/closet/crate,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cFz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cFA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cFB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/quartermaster/delivery) +"cFC" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/delivery) +"cFD" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/delivery) +"cFE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access = list(50)},/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/steel_grid,/area/quartermaster/delivery) +"cFF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/delivery) +"cFG" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen,/obj/item/device/retail_scanner/civilian{tag = "icon-retail_idle (NORTH)"; icon_state = "retail_idle"; dir = 1},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFH" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFI" = (/obj/machinery/computer/supplycomp,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFJ" = (/obj/structure/filingcabinet/filingcabinet,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cFN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/mining{name = "Quartermaster"; req_access = list(41)},/turf/simulated/floor/tiled/steel_grid,/area/quartermaster/qm) +"cFO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "quart_tint"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/qm) +"cFP" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cFQ" = (/obj/structure/railing,/turf/simulated/open,/area/quartermaster/lockerroom) +"cFR" = (/obj/structure/railing,/obj/structure/railing{dir = 4},/turf/simulated/open,/area/quartermaster/lockerroom) +"cFS" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) +"cFT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/bar) +"cFU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cFV" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cFW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cFX" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cFY" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cFZ" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cGa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/apcenter) +"cGb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cGc" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cGd" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cGe" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cGf" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cGg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cGh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/ascenter) +"cGi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cGj" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cGk" = (/turf/simulated/wall/r_wall,/area/medical/medbay) +"cGl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cGm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cGn" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cGo" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cGp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cGq" = (/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/tiled/white,/area/medical/medbay) +"cGr" = (/obj/structure/sign/examroom{pixel_x = 32; pixel_y = 32},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cGs" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/reception) +"cGt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/reception) +"cGu" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_medical{name = "Medical Reception"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/medical/reception) +"cGv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access = list(5)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/foyer) +"cGw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/foyer) +"cGx" = (/obj/machinery/smartfridge/secure/medbay{req_one_access = list(33,66)},/turf/simulated/wall/r_wall,/area/medical/chemistry) +"cGy" = (/obj/machinery/door/firedoor/glass,/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"},/obj/machinery/door/airlock/glass_medical{name = "Chemistry Laboratory"; req_access = list(33)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/chemistry) +"cGz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medbay_primary_storage) +"cGA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/medbay_primary_storage) +"cGB" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor,/area/maintenance/cargo) +"cGC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Secondary Storage"; req_access = list(5)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/biostorage) +"cGD" = (/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cGE" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cGF" = (/obj/structure/undies_wardrobe,/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cGG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cGH" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower/medical,/turf/simulated/floor/tiled/freezer,/area/medical/medical_restroom) +"cGI" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/disposal) +"cGJ" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/maintenance/disposal) +"cGK" = (/turf/simulated/floor,/area/maintenance/disposal) +"cGL" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/maintenance/disposal) +"cGM" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/cargo) +"cGN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/binary/pump/on{dir = 2; target_pressure = 200},/turf/simulated/floor,/area/maintenance/cargo) +"cGO" = (/turf/simulated/floor,/area/maintenance/cargo) +"cGP" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cGQ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cGR" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cGS" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cGT" = (/turf/simulated/wall,/area/maintenance/cargo) +"cGU" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/effect/floor_decal/corner/brown/full{dir = 8},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) +"cGV" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled/steel,/area/maintenance/cargo) +"cGW" = (/obj/structure/disposalpipe/tagger/partial{dir = 1; name = "Sorting Office"; sort_tag = "Sorting Office"},/obj/structure/closet/crate,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cGX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cGY" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cGZ" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/steel,/area/quartermaster/warehouse) +"cHa" = (/obj/machinery/button/remote/blast_door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = 26; pixel_y = 0; req_access = list(31)},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cHb" = (/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"},/obj/machinery/button/remote/blast_door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -26; pixel_y = 0; req_access = list(31)},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHc" = (/obj/structure/table/steel,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/device/multitool,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Office Port"; dir = 2; name = "security camera"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHd" = (/obj/machinery/autolathe,/obj/machinery/alarm{pixel_y = 23},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHe" = (/obj/structure/table/steel,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/item/weapon/stamp/cargo,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHf" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHg" = (/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHi" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHj" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHk" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHl" = (/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Office Starboard"; dir = 2; name = "security camera"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHn" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHo" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cHp" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cHq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cHr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cHs" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cHt" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cHu" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) +"cHv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cHw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cHx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cHy" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cHz" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cHA" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) +"cHB" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) +"cHC" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) +"cHD" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cHE" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/apcenter) +"cHF" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cHG" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cHH" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain{dir = 1},/obj/item/device/communicator,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cHI" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cHJ" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cHK" = (/obj/structure/flora/ausbushes/ywflowers,/obj/machinery/light,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cHL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cHM" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cHN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/medbay) +"cHO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHT" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/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/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHU" = (/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},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cHZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIb" = (/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/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},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/obj/effect/floor_decal/corner_steel_grid{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cId" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "CMO Office"; sortType = "CMO Office"},/obj/effect/floor_decal/corner_steel_grid{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner_steel_grid{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIf" = (/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_steel_grid{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIg" = (/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/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/obj/effect/floor_decal/corner_steel_grid{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIh" = (/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; pixel_x = 0; pixel_y = 24},/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 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIi" = (/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/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/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/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cIn" = (/obj/machinery/door/firedoor/border_only,/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/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIp" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIs" = (/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/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIt" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/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/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIu" = (/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/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIx" = (/obj/machinery/atmospherics/pipe/simple/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/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIy" = (/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/medbay2) +"cIz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIA" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cIB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Medical Restroom"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/medical_restroom) +"cIC" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor,/area/maintenance/disposal) +"cID" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/disposal) +"cIE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/maintenance/disposal) +"cIF" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/maintenance/disposal) +"cIG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/disposal) +"cIH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/cargo) +"cII" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_access = list(5); req_one_access = null},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cIJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/cargo) +"cIK" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cIL" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/item/frame/light/small,/turf/simulated/floor/tiled,/area/maintenance/cargo) +"cIM" = (/turf/simulated/floor/plating,/area/maintenance/cargo) +"cIN" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/closet/crate,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Warehouse"; dir = 4; name = "security camera"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cIO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cIP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cIQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cIR" = (/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 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cIS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 4; id = "qm_warehouse"; name = "Warehouse Shutters"},/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,/area/quartermaster/warehouse) +"cIT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cIU" = (/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/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Sorting Office"; sortType = "Sorting Office"},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cIV" = (/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/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cIW" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cIX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cIY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cIZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cJa" = (/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/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Cargo Bay"; sortType = "Cargo Bay"},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cJb" = (/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/structure/disposalpipe/segment{dir = 4},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cJc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cJd" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cJe" = (/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/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "QM Office"; sortType = "QM Office"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cJf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{id_tag = "cargodoor"; name = "Cargo Office"; req_access = list(50)},/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/steel_grid,/area/quartermaster/lockerroom) +"cJg" = (/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/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cJh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cJi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cJj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) +"cJk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/lockerroom) +"cJl" = (/obj/random/trash,/turf/simulated/floor/plating,/area/maintenance/bar) +"cJm" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) +"cJn" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) +"cJo" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Five"; dir = 1},/obj/item/clothing/accessory/scarf/christmas,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) +"cJp" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/apcenter) +"cJq" = (/obj/structure/sign/directions/engineering{dir = 8; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 8},/obj/structure/sign/directions/security{dir = 8; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter) +"cJr" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter) +"cJs" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cJt" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Center Four"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cJu" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/ascenter) +"cJv" = (/obj/structure/flora/ausbushes/brflowers,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/ascenter) +"cJw" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/boots/combat,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/cargo,/obj/random/maintenance/medical,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cJx" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cJy" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJz" = (/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJF" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Port 1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJP" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Port 2"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJQ" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Chemistry"; sortType = "Chemistry"},/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay) +"cJW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cJX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cJY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cJZ" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/structure/table/bench/steel,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"cKa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Starboard 1"; dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/junction/yjunction{dir = 8},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cKh" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/medical_lockerroom) +"cKi" = (/obj/structure/closet/secure_closet/paramedic,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cKj" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cKk" = (/obj/structure/closet/secure_closet/medical3,/obj/item/weapon/soap/nanotrasen,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cKl" = (/turf/simulated/wall/r_wall,/area/medical/medical_lockerroom) +"cKm" = (/obj/machinery/mass_driver{dir = 2; id = "trash"},/turf/simulated/floor/airless,/area/maintenance/disposal) +"cKn" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/maintenance/disposal) +"cKo" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Waste Disposal"; dir = 4},/turf/simulated/floor,/area/maintenance/disposal) +"cKp" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor,/area/maintenance/disposal) +"cKq" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/maintenance/cargo) +"cKr" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/maintenance/cargo) +"cKs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/maintenance/cargo) +"cKt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/cargo) +"cKu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cKv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cKw" = (/obj/structure/firedoor_assembly,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cKx" = (/obj/item/stack/tile/floor,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cKy" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cKz" = (/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cKA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cKB" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cKC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 4; id = "qm_warehouse"; name = "Warehouse Shutters"},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cKD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cKE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cKF" = (/obj/machinery/photocopier,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/brown/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cKG" = (/turf/simulated/wall/r_wall,/area/quartermaster/office) +"cKH" = (/turf/simulated/wall/r_wall,/area/quartermaster/lockerroom) +"cKI" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/weapon/storage/backpack/dufflebag,/obj/item/weapon/stamp/cargo,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cKJ" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/weapon/stamp/cargo,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) +"cKK" = (/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/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) +"cKL" = (/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/obj/structure/table/steel,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Stairwell"; dir = 1; name = "security camera"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) +"cKM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cKN" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cKO" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cKP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cKQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cKR" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/as_emergency) +"cKS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cKT" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/medical) +"cKU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(11,24,50)},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cKV" = (/turf/simulated/wall,/area/maintenance/substation/medical) +"cKW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) +"cKX" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) +"cKY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access = list(40)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo) +"cKZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmooffice"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo) +"cLa" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo) +"cLb" = (/turf/simulated/wall,/area/medical/sleeper) +"cLc" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) +"cLd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) +"cLe" = (/obj/machinery/door/firedoor/border_only,/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/steel_grid,/area/medical/sleeper) +"cLf" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) +"cLg" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/medical/sleeper) +"cLh" = (/turf/simulated/wall,/area/medical/cryo) +"cLi" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area/medical/cryo) +"cLj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/cryo) +"cLk" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/cryo) +"cLl" = (/turf/simulated/wall,/area/medical/psych) +"cLm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "psyco_tint"},/turf/simulated/floor/plating,/area/medical/psych) +"cLn" = (/obj/machinery/door/firedoor/border_only,/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/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/turf/simulated/floor/tiled/steel_grid,/area/medical/psych) +"cLo" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/tiled/dark,/area/medical/medbay2) +"cLp" = (/obj/structure/table/glass,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/recharger,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) +"cLq" = (/obj/structure/table/glass,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) +"cLr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/dark,/area/medical/medbay2) +"cLs" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cLt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cLu" = (/turf/simulated/wall,/area/medical/medical_lockerroom) +"cLv" = (/obj/structure/closet/secure_closet/paramedic,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cLw" = (/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cLx" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cLy" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medical_lockerroom) +"cLz" = (/obj/structure/sign/warning/vent_port,/turf/simulated/wall/r_wall,/area/maintenance/disposal) +"cLA" = (/obj/machinery/door/blast/regular{id = "trash"; name = "disposal mass driver"},/turf/simulated/floor/airless,/area/maintenance/disposal) +"cLB" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/button/remote/driver{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor,/area/maintenance/disposal) +"cLC" = (/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/maintenance/disposal) +"cLD" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/item/weapon/storage/bag/trash,/turf/simulated/floor,/area/maintenance/disposal) +"cLE" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/meter,/turf/simulated/floor,/area/maintenance/cargo) +"cLF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) +"cLG" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor,/area/maintenance/cargo) +"cLH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "crg_aft_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) +"cLI" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/cargo) +"cLJ" = (/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/maintenance/cargo) +"cLK" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cLL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cLM" = (/obj/item/stack/cable_coil/green,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cLN" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cLO" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cLP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cLQ" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cLR" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Cargo Technician"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cLS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cLT" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/cargo/engine{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cLU" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/cargo/trolley{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cLV" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cLW" = (/turf/unsimulated/mask,/area/quartermaster/office) +"cLX" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/cargo) +"cLY" = (/turf/simulated/wall,/area/maintenance/substation/cargo) +"cLZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Cargo Substation"; req_one_access = list(50)},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cMa" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cMb" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cMc" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cMd" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) +"cMe" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cMf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cMg" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cMh" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) +"cMi" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cMj" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cMk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cMl" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cMm" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Medbay Subgrid"; name_tag = "Medbay Subgrid"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cMn" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cMo" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cMp" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cMq" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cMr" = (/obj/machinery/camera/network/medbay{c_tag = "MED - CMO"; dir = 2},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cMs" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/vials{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/fancy/vials,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cMt" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/medical/sleeper) +"cMu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMx" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/medical/sleeper) +"cMy" = (/obj/structure/bed/chair,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/pink/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMz" = (/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"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMA" = (/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMB" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/pink/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMC" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/pink/border{dir = 5},/obj/machinery/computer/crew,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cMD" = (/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/structure/table/glass,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) +"cME" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) +"cMF" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) +"cMG" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) +"cMH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/techmaint,/area/medical/cryo) +"cMI" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/cryo) +"cMJ" = (/obj/structure/table/woodentable,/obj/item/toy/plushie/therapy/blue,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cMK" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cML" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cMM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/closet/secure_closet/psych,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cMN" = (/obj/structure/flora/pottedplant/flower,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cMO" = (/turf/simulated/wall,/area/medical/morgue) +"cMP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cMQ" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cMR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Locker Room"; req_access = list(5)},/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/steel_grid,/area/medical/medical_lockerroom) +"cMS" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cMT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cMU" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Locker Room"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cMV" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/medical_lockerroom) +"cMW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/shield_diffuser,/turf/simulated/floor/airless,/area/maintenance/disposal) +"cMX" = (/turf/simulated/wall/r_wall,/area/maintenance/cargo) +"cMY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cMZ" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) +"cNa" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) +"cNb" = (/obj/structure/closet/crate/medical,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/brown/border{dir = 10},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cNc" = (/obj/structure/closet/crate/internals,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cNd" = (/obj/structure/closet/crate/freezer,/obj/machinery/light/small,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cNe" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cNf" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/cell{maxcharge = 2000},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled,/area/quartermaster/warehouse) +"cNg" = (/obj/machinery/light{dir = 8},/obj/structure/table/steel,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/deck/cards,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cNh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cNi" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cNj" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cNk" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office) +"cNl" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cNm" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Cargo Subgrid"; name_tag = "Cargo Subgrid"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cNn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cNo" = (/obj/structure/closet,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/bar) +"cNp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/tool/powermaint,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) +"cNq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cNr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cNs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cNt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cNu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 16; d2 = 0; icon_state = "16-0"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cNv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) +"cNw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cNx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cNy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cNz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/apcenter) +"cNA" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/floodlight,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cNB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cNC" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cND" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cNE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cNF" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cNG" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Medical"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cNH" = (/obj/machinery/papershredder,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cNI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cNJ" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cNK" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cNL" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cNM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo) +"cNN" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNQ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNR" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNS" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNT" = (/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) +"cNU" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNW" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cNX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/medical/cryo) +"cNY" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cNZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cOa" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cOb" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cOc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/iv_drip,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cOd" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cOe" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cOf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cOg" = (/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cOh" = (/obj/structure/bed/psych,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cOi" = (/obj/structure/morgue,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled,/area/medical/morgue) +"cOj" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Morgue"; dir = 2},/obj/structure/sink{pixel_y = 16},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) +"cOk" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) +"cOl" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) +"cOm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cOn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cOo" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cOp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cOq" = (/obj/structure/closet/secure_closet/medical3,/obj/item/weapon/soap/nanotrasen,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cOr" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "crg_aft_airlock"; pixel_x = -25; req_access = list(13); req_one_access = null; tag_airpump = "crg_aft_pump"; tag_chamber_sensor = "crg_aft_sensor"; tag_exterior_door = "crg_aft_outer"; tag_interior_door = "crg_aft_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "crg_aft_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor,/area/maintenance/cargo) +"cOs" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/cargo) +"cOt" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "crg_aft_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor,/area/maintenance/cargo) +"cOu" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cOv" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cOw" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cOx" = (/obj/effect/floor_decal/steeldecal/steel_decals_central5{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cOy" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office) +"cOz" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Cargo"},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cOA" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cOB" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/random/medical/lite,/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Fore"; dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"cOC" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) +"cOD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = newlist(); req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) +"cOE" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/bar) +"cOF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/bar) +"cOG" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cOH" = (/obj/machinery/floodlight,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cOI" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cOJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) +"cOK" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/apcenter) +"cOL" = (/obj/structure/disposalpipe/segment,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cOM" = (/obj/structure/disposalpipe/segment,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway One"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cON" = (/obj/structure/ladder/updown,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cOO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cOP" = (/obj/machinery/space_heater,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cOQ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cOR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cOS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cOT" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Medical Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cOU" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/obj/machinery/keycard_auth{pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cOV" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cOW" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cOX" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/folder/white_cmo,/obj/item/weapon/stamp/cmo,/obj/item/weapon/pen/multi,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cOY" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills{pixel_y = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cOZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPa" = (/obj/machinery/sleep_console{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPb" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPd" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPe" = (/obj/machinery/bodyscanner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cPh" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/medical/cryo) +"cPi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cPj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cPk" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cPl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cPm" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cPn" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/clipboard,/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cPo" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "office door control"; pixel_x = 0; pixel_y = -24},/obj/effect/landmark/start{name = "Psychiatrist"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "MED - Mental Health"; dir = 1},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cPp" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/button/windowtint{id = "psyco_tint"; pixel_x = -11; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/green,/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cPq" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cPr" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/machinery/vending/wallmed1{pixel_x = 25},/turf/simulated/floor/carpet/sblucarpet,/area/medical/psych) +"cPs" = (/obj/structure/morgue,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) +"cPt" = (/turf/simulated/floor/tiled,/area/medical/morgue) +"cPu" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) +"cPv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cPw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cPx" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medical_lockerroom) +"cPy" = (/obj/structure/closet/wardrobe/medic_white,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cPz" = (/obj/structure/table/glass,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cPA" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medical_lockerroom) +"cPB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "crg_aft_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "crg_aft_sensor"; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/maintenance/cargo) +"cPC" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/cargo) +"cPD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "crg_aft_pump"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/maintenance/cargo) +"cPE" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cPF" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cPG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Cargo Maintenance"; req_access = list(50)},/turf/simulated/floor/plating,/area/quartermaster/office) +"cPH" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/navbeacon/delivery/north{location = "QM #1"},/mob/living/bot/mulebot,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cPI" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/navbeacon/delivery/north{location = "QM #2"},/mob/living/bot/mulebot,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cPJ" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Office Aft"; dir = 1; name = "security camera"},/obj/machinery/navbeacon/delivery/north{location = "QM #3"},/turf/simulated/floor/tiled,/area/quartermaster/office) +"cPK" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/brown/bordercorner2,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cPL" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled,/area/quartermaster/office) +"cPM" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office) +"cPN" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Cargo Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cPO" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cPP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/cargo) +"cPQ" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPR" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPS" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPU" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPV" = (/obj/structure/bed/chair/wood{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPW" = (/obj/structure/table/gamblingtable,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/machinery/alarm{pixel_y = 22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPX" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/cash,/turf/simulated/floor,/area/maintenance/cargo) +"cPY" = (/obj/structure/bed/chair/wood{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cPZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cQa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cQb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) +"cQc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cQd" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) +"cQe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cQf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQj" = (/obj/structure/closet/crate,/obj/random/toy,/obj/random/plushie,/obj/random/plushie,/obj/random/action_figure,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQk" = (/obj/structure/table/steel,/obj/item/device/t_scanner,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/alarm{pixel_y = 23},/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/bar) +"cQl" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQm" = (/obj/structure/closet/hydrant{pixel_y = -32},/obj/item/clothing/glasses/meson,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cQn" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cQo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_one_access = list(11,24,5)},/turf/simulated/floor/plating,/area/maintenance/substation/medical) +"cQq" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "cmooffice"; pixel_x = -36; pixel_y = 6},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cQr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cQt" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "medbayquar"; name = "Medbay Emergency Lockdown Control"; pixel_x = -32; pixel_y = 36; req_access = list(5)},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = -28; pixel_y = 28; req_access = list(5)},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the CMO's office."; id = "cmodoor"; name = "CMO Office Door Control"; pixel_x = -38; pixel_y = 28},/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cQu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/sunglasses/medhud,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/device/megaphone,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cQv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQw" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQx" = (/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQA" = (/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/machinery/body_scanconsole{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cQD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/cryo) +"cQE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cQF" = (/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/white,/area/medical/cryo) +"cQG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cQH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cQI" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cQJ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/medical/morgue) +"cQK" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/medical/morgue) +"cQL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cQM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/medbay{c_tag = "MED - Medical Hallway Starboard 3"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cQN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "crg_aft_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor,/area/maintenance/cargo) +"cQO" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cQP" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/clothing/head/soft,/obj/item/clothing/head/soft,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/quartermaster/office) +"cQQ" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled/dark,/area/quartermaster/office) +"cQR" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/glass_medical{name = "Patient Ward"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) +"cQS" = (/obj/structure/closet/crate,/obj/random/drinkbottle,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/action_figure,/obj/random/plushie,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"cQT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) +"cQU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) +"cQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) +"cQW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/bar) +"cQX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) +"cQY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/wood{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cQZ" = (/obj/structure/table/gamblingtable,/obj/structure/catwalk,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/bar) +"cRa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/gamblingtable,/obj/item/weapon/deck/cards,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cRb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cRc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cRd" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cRe" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cRf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cRg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cRh" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) +"cRi" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRj" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRk" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRl" = (/obj/structure/reagent_dispensers/fueltank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRm" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRn" = (/obj/structure/disposalpipe/segment,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRo" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRp" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) +"cRq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRr" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRs" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cRt" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cRu" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cRv" = (/obj/structure/filingcabinet/chestdrawer{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cRw" = (/obj/machinery/photocopier,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/sc/cmo) +"cRx" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor/tiled/techmaint,/area/medical/sleeper) +"cRy" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRz" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRA" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 2; pixel_y = 2},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -2; pixel_y = -2},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/medbay{c_tag = "MED - Acute"; dir = 1},/obj/item/device/defib_kit/loaded,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRB" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/obj/structure/closet/secure_closet/medical_wall/pills{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRC" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2,/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 9},/obj/effect/floor_decal/corner/pink/bordercorner2,/obj/effect/floor_decal/corner/pink/bordercorner2{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRF" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRG" = (/obj/machinery/iv_drip,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"cRH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/medical/cryo) +"cRI" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cRJ" = (/obj/machinery/sleep_console{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/medbay{c_tag = "MED - Cryogenics"; dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cRK" = (/obj/machinery/sleeper{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cRL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom/department/medbay{dir = 1; pixel_x = 0; pixel_y = -21},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cRM" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/cryo) +"cRN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/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/steel_grid,/area/medical/genetics_cloning) +"cRO" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cRP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cRQ" = (/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/machinery/camera/network/medbay{c_tag = "MED - Cloning"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cRR" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cRS" = (/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cRT" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) +"cRU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/medical/morgue) +"cRV" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) +"cRW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cRX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cRY" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/cargo) +"cRZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/cargo) +"cSa" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "crg_aft_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_one_access = list(13)},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/cargo) +"cSb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSc" = (/obj/item/glass_jar,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSd" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSe" = (/obj/structure/table/rack{dir = 1},/obj/random/toy,/obj/random/tank,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSg" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSh" = (/obj/item/stack/material/glass/reinforced,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSi" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSj" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSl" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSm" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cSo" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/cargo) +"cSp" = (/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/plushielarge,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/bar) +"cSr" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/bar) +"cSs" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/bar) +"cSt" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"cSu" = (/turf/simulated/wall,/area/crew_quarters/bar) +"cSv" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading,/obj/machinery/navbeacon/delivery/south{location = "Bar"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) +"cSw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access = list(25)},/turf/simulated/floor/plating,/area/crew_quarters/bar) +"cSx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) +"cSy" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) +"cSz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) +"cSA" = (/turf/simulated/wall,/area/crew_quarters/coffee_shop) +"cSB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSN" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/sleeper) +"cSO" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/sleeper) +"cSP" = (/turf/simulated/wall,/area/medical/ward) +"cSQ" = (/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/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/ward) +"cSR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/ward) +"cSS" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{id_tag = "Surgery"; name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/ward) +"cST" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/medical/cryo) +"cSU" = (/turf/simulated/wall,/area/medical/genetics_cloning) +"cSV" = (/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},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cSW" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Geneticist"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cSX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cSY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cSZ" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cTa" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/morgue) +"cTb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) +"cTc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/medical/morgue) +"cTd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) +"cTe" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor/tiled/steel_grid,/area/medical/morgue) +"cTf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cTg" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cTh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTp" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/cargo) +"cTr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cTs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cTt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cTu" = (/turf/simulated/wall,/area/crew_quarters/barrestroom) +"cTv" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southleft{name = "Bar Delivery"; req_access = list(25)},/turf/simulated/floor/tiled,/area/crew_quarters/bar) +"cTw" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cTx" = (/obj/structure/closet/secure_closet/bar{req_access = list(25)},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Storage"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cTy" = (/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/obj/item/glass_jar,/obj/item/device/retail_scanner/civilian,/obj/item/device/retail_scanner/civilian,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cTz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cTA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cTB" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cTC" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cTD" = (/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/machinery/light_switch{pixel_x = 11; pixel_y = 22},/obj/machinery/button/holosign{id = "cafeopen"; name = "Open Sign"; pixel_x = 11; pixel_y = 30; tag = ""},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cTE" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cTF" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 8; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = 0; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/glass2/square{pixel_x = -8; pixel_y = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe Back Room"; dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cTG" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cTH" = (/obj/structure/disposalpipe/segment,/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTI" = (/obj/structure/closet/crate/plastic,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/reagent_containers/dropper,/obj/random/maintenance/clean,/obj/random/soap,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTJ" = (/turf/simulated/wall,/area/crew_quarters/kitchen) +"cTK" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTM" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTN" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTO" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTP" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTQ" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cTR" = (/turf/simulated/wall/r_wall,/area/maintenance/medbay) +"cTS" = (/turf/simulated/wall/r_wall,/area/medical/ward) +"cTT" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cTU" = (/obj/structure/closet/secure_closet/personal/patient,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cTV" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cTW" = (/obj/structure/closet/secure_closet/personal/patient,/obj/item/device/radio/intercom/department/medbay{dir = 2; pixel_x = 0; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cTX" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cTY" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; pixel_x = 0; pixel_y = 36},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cTZ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cUa" = (/turf/simulated/floor/tiled/white,/area/medical/ward) +"cUb" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cUc" = (/obj/structure/closet/wardrobe/medic_white,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cUd" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cUe" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/curtain/open/privacy,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cUf" = (/obj/machinery/clonepod{biomass = 600},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cUg" = (/obj/machinery/computer/cloning,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/purple/border,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cUh" = (/obj/machinery/dna_scannernew,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cUi" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cUj" = (/obj/structure/closet/wardrobe/medic_white,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/purple/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"cUk" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) +"cUl" = (/obj/machinery/optable,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) +"cUm" = (/obj/structure/table/steel,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/item/weapon/surgical/cautery,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) +"cUn" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/morgue) +"cUo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/medical/morgue) +"cUp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cUq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"cUr" = (/turf/simulated/wall/r_wall,/area/maintenance/bar) +"cUs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/bar) +"cUt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/bar) +"cUu" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cUv" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cUw" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cUx" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cUy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cUz" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cUA" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cUB" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cUC" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cUD" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cUE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cUF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Bar Backroom"; req_access = list(25)},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cUG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cUH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cUI" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = 28; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cUJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cUK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"cUL" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cUM" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock{name = "Coffee Shop"; req_one_access = list(25,28)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/coffee_shop) +"cUN" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cUO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cUP" = (/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cUQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cUR" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cUS" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/cafeteria) +"cUT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/crew_quarters/cafeteria) +"cUU" = (/obj/structure/closet/crate/internals,/obj/random/tank,/obj/random/tank,/obj/random/tank,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cUV" = (/obj/structure/closet/crate,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/maintenance/clean,/obj/random/toy,/obj/item/weapon/toy/xmas_cracker,/turf/simulated/floor,/area/maintenance/medbay) +"cUW" = (/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cUX" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cUY" = (/obj/machinery/gibber,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cUZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southright{name = "Kitchen Delivery"; req_access = list(28)},/turf/simulated/floor/tiled,/area/crew_quarters/kitchen) +"cVa" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/west{location = "Kitchen"},/turf/simulated/floor/tiled,/area/crew_quarters/kitchen) +"cVb" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVc" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVd" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "aft_starboard_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVe" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVg" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cVi" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVj" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVk" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVl" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVm" = (/obj/structure/table/glass,/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 = "Surgery Emergency Phone"},/obj/random/medical,/obj/random/medical,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/machinery/washing_machine,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVr" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVs" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cVt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Cloning Laboratory"; req_access = list(66)},/turf/simulated/floor/tiled/steel_grid,/area/medical/genetics_cloning) +"cVu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) +"cVv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"; req_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) +"cVw" = (/turf/simulated/wall/r_wall,/area/medical/patient_wing) +"cVx" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVy" = (/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVz" = (/obj/item/weapon/material/ashtray/glass,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVA" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVB" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks,/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVC" = (/obj/structure/bed/chair/comfy/purp,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVD" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVE" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVF" = (/obj/item/weapon/storage/briefcase/inflatable,/turf/simulated/floor/plating,/area/maintenance/cargo) +"cVG" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/bar) +"cVH" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cVI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cVJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cVK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cVL" = (/obj/item/weapon/book/manual/barman_recipes,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/screwdriver,/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/marble,/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Fore"; dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cVM" = (/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cVN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cVO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cVP" = (/obj/effect/landmark/start{name = "Bartender"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cVQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cVR" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cVS" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/beanbags,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cVT" = (/obj/structure/reagent_dispensers/beerkeg,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cVU" = (/obj/machinery/vending/coffee,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cVV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cVW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"cVX" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cVY" = (/obj/structure/table/marble,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/button/remote/blast_door{id = "coffeeshop"; name = "Cafe Shutters"; pixel_x = 0; pixel_y = -26},/obj/item/device/retail_scanner/civilian{tag = "icon-retail_idle (NORTH)"; icon_state = "retail_idle"; dir = 1},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cVZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cWa" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cWb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cWc" = (/obj/machinery/disposal,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cWd" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/item/clothing/head/cakehat,/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/obj/machinery/alarm{pixel_y = 23},/obj/item/device/communicator,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cWe" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cWf" = (/obj/structure/kitchenspike,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cWg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cWh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cWi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cWj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access = list(28)},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"cWk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cWl" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/medbay) +"cWm" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cWn" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cWo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cWp" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cWq" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cWr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access = list(5)},/turf/simulated/floor/plating,/area/medical/ward) +"cWs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWw" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/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/ward) +"cWx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/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/ward) +"cWy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/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/ward) +"cWz" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWA" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/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/ward) +"cWB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWC" = (/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/manifold/hidden/scrubbers{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWD" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWE" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cWF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_wing) +"cWG" = (/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/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWH" = (/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"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWK" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Hallway"; dir = 2},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWO" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cWS" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_wing) +"cWT" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/bar) +"cWU" = (/obj/machinery/atmospherics/valve/digital/open,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cWV" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cWW" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cWX" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cWY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cWZ" = (/obj/random/soap,/obj/random/soap,/obj/structure/table/standard,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/barrestroom) +"cXa" = (/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/glass/rag,/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cXb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cXc" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cXd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/mob/living/carbon/human/monkey/punpun,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cXe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cXf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 32; pixel_y = 6},/obj/machinery/button/remote/blast_door{id = "bar"; name = "Bar Shutters"; pixel_x = 26; pixel_y = -6},/obj/machinery/button/holosign{id = "baropen"; name = "Open Sign"; pixel_x = 24; pixel_y = 6; tag = ""},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cXg" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/crew_quarters/bar) +"cXh" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cXi" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cXj" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{tag = "icon-register_idle (NORTH)"; icon_state = "register_idle"; dir = 1},/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cXk" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cXl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/southright{name = "Coffee Shop"; req_one_access = list(25,28)},/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/turf/simulated/floor/tiled/yellow,/area/crew_quarters/coffee_shop) +"cXm" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/coffee_shop) +"cXn" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cXo" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cXp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) +"cXq" = (/obj/structure/closet/chefcloset,/obj/item/glass_jar,/obj/item/device/retail_scanner/civilian,/obj/item/weapon/soap/nanotrasen,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cXr" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cXs" = (/obj/structure/closet/secure_closet/freezer/kitchen,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cXt" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cXu" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Cold Room"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cXv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cXw" = (/obj/structure/closet/crate/freezer,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cXx" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/crate/plastic,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cXy" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) +"cXz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cXA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cXB" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) +"cXC" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cXD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cXE" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXF" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXG" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXH" = (/obj/item/weapon/stool/padded,/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Ward Port"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXJ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXK" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXN" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXQ" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Ward Starboard"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXS" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXT" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXU" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cXW" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cXX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cXY" = (/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"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cXZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYa" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"cYi" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_wing) +"cYj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/barrestroom) +"cYk" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/crew_quarters/barrestroom) +"cYl" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cYm" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{dir = 1; icon_state = "register_idle"; tag = "icon-register_idle (NORTH)"},/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cYn" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright{name = "Bar"; req_access = list(25)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/lino,/area/crew_quarters/bar) +"cYo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cYp" = (/obj/structure/bed/chair/wood{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cYq" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cah,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cYr" = (/obj/structure/bed/chair/wood{dir = 8},/obj/structure/sign/double/barsign{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cYs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cYt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/bar) +"cYu" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cYv" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cYw" = (/turf/simulated/wall,/area/crew_quarters/cafeteria) +"cYx" = (/obj/machinery/disposal,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/brown/border{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYz" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYB" = (/obj/structure/table/standard,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYC" = (/obj/item/weapon/stool/padded,/obj/machinery/atm{pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/brown/border{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYD" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cYF" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/kitchen) +"cYG" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cYH" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cYI" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = -6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/holosign{id = "cafeopen"; name = "Open Sign"; pixel_x = 36; pixel_y = 6; tag = ""},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cYJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/freezer{name = "Kitchen cold room"; req_access = list(28)},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen) +"cYK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cYL" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) +"cYM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_starboard_sensor"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cYN" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "aft_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_starboard_airlock"; pixel_x = 25; req_access = list(13); req_one_access = null; tag_airpump = "aft_starboard_pump"; tag_chamber_sensor = "aft_starboard_sensor"; tag_exterior_door = "aft_starboard_outer"; tag_interior_door = "aft_starboard_inner"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cYO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/medbay) +"cYP" = (/turf/simulated/wall/r_wall,/area/medical/surgery) +"cYQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "st1_tint"},/turf/simulated/floor/plating,/area/medical/surgery) +"cYR" = (/turf/simulated/wall,/area/medical/surgery) +"cYS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery) +"cYT" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cYU" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cYV" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/ward) +"cYW" = (/turf/simulated/wall/r_wall,/area/medical/surgery2) +"cYX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre 2"; req_access = list(45)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery2) +"cYY" = (/turf/simulated/wall,/area/medical/surgery2) +"cYZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "st2_tint"},/turf/simulated/floor/plating,/area/medical/surgery2) +"cZa" = (/obj/machinery/door/firedoor/border_only,/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"},/obj/machinery/door/airlock/medical{name = "Operating Theatre Storage"; req_access = list(45)},/turf/simulated/floor/tiled/steel_grid,/area/medical/surgery_storage) +"cZb" = (/turf/simulated/wall,/area/medical/surgery_storage) +"cZc" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "pr1_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_a) +"cZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room A"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_a) +"cZe" = (/turf/simulated/wall,/area/medical/patient_a) +"cZf" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "pr2_window_tint"},/turf/simulated/floor/plating,/area/medical/patient_b) +"cZg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/medical{name = "Patient Room B"},/turf/simulated/floor/tiled/steel_grid,/area/medical/patient_b) +"cZh" = (/turf/simulated/wall/r_wall,/area/medical/patient_b) +"cZi" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/medical/patient_wing) +"cZj" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/medical/patient_wing) +"cZk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cZl" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/bar) +"cZm" = (/obj/structure/closet,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) +"cZn" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/bar) +"cZo" = (/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/wood,/area/crew_quarters/bar) +"cZp" = (/obj/machinery/media/jukebox,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZq" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZr" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZt" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZu" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZv" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Starboard"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cZx" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Two"; dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cZy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"cZz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"cZA" = (/obj/machinery/holosign/bar{id = "cafeopen"; name = "cafeteria holosign"},/turf/simulated/wall,/area/crew_quarters/cafeteria) +"cZB" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cZC" = (/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/crew_quarters/cafeteria) +"cZD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cZE" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cZF" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cZG" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 26; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Fore"; dir = 8},/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"cZH" = (/turf/simulated/wall/r_wall,/area/crew_quarters/kitchen) +"cZI" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/button/remote/blast_door{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -26; pixel_y = 0; req_access = list(28)},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Port"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZL" = (/obj/machinery/cooker/fryer,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZM" = (/obj/machinery/cooker/grill,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZN" = (/obj/machinery/cooker/oven,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZO" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZP" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZQ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/chapel) +"cZR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"cZS" = (/turf/simulated/wall/r_wall,/area/maintenance/chapel) +"cZT" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cZU" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/pink/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"cZV" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "st1_tint"; pixel_x = -11; pixel_y = 22},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/machinery/button/holosign{pixel_x = -11; pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/pink/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"cZW" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"cZX" = (/obj/structure/sink{pixel_y = 16},/obj/machinery/button/remote/blast_door{id = "surgeryobs"; name = "Privacy Shutters"; pixel_x = 26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"cZY" = (/turf/simulated/wall,/area/medical/surgeryobs) +"cZZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/holosign/surgery,/obj/machinery/door/airlock/medical{id_tag = "surgery_observation"; name = "Observation Room"; req_access = newlist()},/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/tiled/steel_grid,/area/medical/surgeryobs) +"daa" = (/obj/structure/sink{pixel_y = 16},/obj/machinery/button/remote/blast_door{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -26; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dab" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dac" = (/obj/structure/table/standard,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/button/windowtint{id = "st2_tint"; pixel_x = -11; pixel_y = 22},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/machinery/button/holosign{pixel_x = -11; pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/pink/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dad" = (/obj/structure/table/standard,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/pink/border{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dae" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery2) +"daf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dag" = (/obj/structure/sink{pixel_y = 16},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dah" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dai" = (/obj/machinery/iv_drip,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "pr1_window_tint"; pixel_x = -36; pixel_y = 6},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"daj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dak" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dal" = (/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dam" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dan" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "pr2_window_tint"; pixel_x = 36; pixel_y = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dao" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) +"dap" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"daq" = (/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/plating,/area/maintenance/bar) +"dar" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/crew_quarters/bar) +"das" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dat" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dau" = (/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/wood,/area/crew_quarters/bar) +"dav" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Bar"; sortType = "Bar"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"daw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dax" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"day" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"daz" = (/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/crew_quarters/bar) +"daA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"daB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"daC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/bar) +"daD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"daE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"daF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"daG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/cafeteria) +"daH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"daI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"daJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"daK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"daL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"daM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"daN" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/door/blast/shutters{dir = 8; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daO" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daP" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daQ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daR" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daS" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daT" = (/obj/machinery/icecream_vat,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"daU" = (/turf/simulated/floor/plating,/area/maintenance/chapel) +"daV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/chapel) +"daW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/medbay) +"daX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "aft_starboard_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/airless,/area/maintenance/medbay) +"daY" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/airless,/area/maintenance/medbay) +"daZ" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dba" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dbb" = (/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,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dbc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dbd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/surgeryobs) +"dbe" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"dbf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"dbg" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"dbh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "surgeryobs2"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/surgeryobs) +"dbi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dbj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dbk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dbl" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dbm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dbn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dbo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dbp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/bed/chair/office/light,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dbq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dbr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/vending/wallmed1{pixel_x = 25},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dbs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/bed/chair/office/light,/obj/machinery/vending/wallmed1{pixel_x = -25},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dbt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dbu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dbv" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) +"dbw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/bar) +"dbx" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"dby" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/plating,/area/maintenance/bar) +"dbz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) +"dbA" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"dbB" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"dbC" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"dbD" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"dbE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dbF" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dbG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dbH" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dbI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dbJ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/bar) +"dbK" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dbL" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/cafeteria) +"dbM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dbN" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (WEST)"; icon_state = "corner_white_full"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dbO" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/yellow/full{dir = 1},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dbP" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (WEST)"; icon_state = "corner_white_full"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dbQ" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dbR" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/door/blast/shutters{dir = 8; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbS" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/item/weapon/packageWrap,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbT" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbU" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/material/knife/butch,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbV" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbW" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbX" = (/obj/structure/table/marble,/obj/machinery/reagentgrinder,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dbY" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dbZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dca" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/obj/item/device/radio/intercom/department/medbay{dir = 4; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dcb" = (/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dcc" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dcd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dce" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"dcf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"dcg" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"dch" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dci" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dcj" = (/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dck" = (/obj/structure/table/standard,/obj/item/weapon/surgical/circular_saw{pixel_y = 8},/obj/item/weapon/surgical/scalpel,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"dcl" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/surgical/FixOVein,/obj/item/weapon/surgical/circular_saw,/obj/item/weapon/surgical/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/surgical/retractor,/obj/item/weapon/surgical/hemostat,/obj/item/weapon/surgical/cautery,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/item/stack/nanopaste,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dcm" = (/obj/structure/closet/crate/freezer,/obj/machinery/light,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dcn" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) +"dco" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room A"; dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dcp" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dcq" = (/obj/structure/closet/secure_closet/personal/patient,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"dcr" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dcs" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dct" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room B"; dir = 8},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/patient_b) +"dcu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) +"dcv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) +"dcw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/crate,/obj/random/drinkbottle,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/random/powercell,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) +"dcx" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/bar) +"dcy" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1},/turf/simulated/floor/plating,/area/maintenance/bar) +"dcz" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/obj/machinery/atm{pixel_y = -30},/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"dcA" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"dcB" = (/obj/structure/bed/chair/wood{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcC" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcD" = (/obj/structure/bed/chair/wood{dir = 8},/obj/machinery/camera/network/civilian{c_tag = "CIV - Bar Aft"; dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcE" = (/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/crew_quarters/bar) +"dcF" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcG" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcH" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/obj/item/device/paicard,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcI" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dcJ" = (/obj/machinery/holosign/bar{id = "baropen"},/turf/simulated/wall,/area/crew_quarters/bar) +"dcK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dcL" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dcM" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dcN" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dcO" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dcP" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/effect/floor_decal/corner/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dcQ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dcR" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/spoon{pixel_x = 2},/obj/effect/floor_decal/corner/yellow{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dcS" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/structure/closet/medical_wall{pixel_x = 0; pixel_y = -31},/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"dcT" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dcU" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dcV" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dcW" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dcX" = (/obj/machinery/vending/dinnerware,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dcY" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dcZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dda" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"ddb" = (/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/pink/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"ddc" = (/obj/machinery/computer/operating,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"ddd" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/pink/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"dde" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"ddf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"ddg" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/pink/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddh" = (/obj/machinery/computer/operating,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddi" = (/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/pink/bordercorner,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddj" = (/obj/structure/table/standard,/obj/item/weapon/surgical/surgicaldrill,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"; pixel_x = 2; pixel_y = 2},/obj/item/weapon/surgical/FixOVein,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddk" = (/turf/simulated/wall/r_wall,/area/medical/surgery_storage) +"ddl" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_a) +"ddm" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_a) +"ddn" = (/turf/simulated/wall/r_wall,/area/medical/patient_a) +"ddo" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_b) +"ddp" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_b) +"ddq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) +"ddr" = (/turf/simulated/wall,/area/holodeck_control) +"dds" = (/obj/machinery/status_display,/turf/simulated/wall,/area/holodeck_control) +"ddt" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) +"ddu" = (/obj/machinery/door/firedoor/glass,/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/airlock/glass{name = "Bar"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) +"ddv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"ddw" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"ddx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"ddy" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"ddz" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"ddA" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/cafeteria) +"ddB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"ddC" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/yellow/full,/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"ddD" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/yellow/full{tag = "icon-corner_white_full (EAST)"; icon_state = "corner_white_full"; dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"ddE" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"ddF" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"ddG" = (/obj/effect/floor_decal/corner/grey/diagonal{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/crew_quarters/kitchen) +"ddH" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"ddI" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"ddJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"ddK" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"ddL" = (/obj/machinery/space_heater,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/chapel) +"ddM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/chapel) +"ddN" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 1"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/obj/structure/closet/secure_closet/medical_wall/anesthetics{pixel_x = -32},/turf/simulated/floor/tiled/white,/area/medical/surgery) +"ddO" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"ddP" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/obj/machinery/iv_drip,/turf/simulated/floor/tiled/white,/area/medical/surgery) +"ddQ" = (/turf/simulated/wall/r_wall,/area/medical/surgeryobs) +"ddR" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"ddS" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "MED - Surgery Observation"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"ddT" = (/obj/structure/reagent_dispensers/water_cooler/full,/obj/item/device/radio/intercom/department/medbay{dir = 8; pixel_x = 21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/turf/simulated/floor/tiled,/area/medical/surgeryobs) +"ddU" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/pink/border{dir = 10},/obj/machinery/iv_drip,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddV" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddW" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 2"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/pink/border{dir = 6},/obj/structure/closet/secure_closet/medical_wall/anesthetics{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/medical/surgery2) +"ddX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"ddY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) +"ddZ" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck) +"dea" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) +"deb" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) +"dec" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"ded" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dee" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"def" = (/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"deg" = (/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/brown/border{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"deh" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dei" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dej" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dek" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) +"del" = (/obj/item/weapon/stool/padded,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/holodeck_control) +"dem" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/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/tiled,/area/holodeck_control) +"den" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"deo" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"dep" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"deq" = (/obj/item/weapon/stool/padded,/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"der" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"des" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"det" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"deu" = (/obj/machinery/vending/cola,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/brown/border{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dev" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dew" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dex" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/brown/border,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dey" = (/obj/machinery/computer/arcade,/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafeteria Aft"; dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/brown/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"dez" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"deA" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Kitchen"; sortType = "Kitchen"},/obj/structure/flora/pottedplant/small{pixel_y = 10},/obj/structure/table/standard,/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"deB" = (/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/stool/padded,/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/brown/border{dir = 6},/turf/simulated/floor/tiled/white,/area/crew_quarters/cafeteria) +"deC" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/crew_quarters/kitchen) +"deD" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deE" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deF" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deG" = (/obj/structure/table/marble,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deH" = (/obj/structure/table/marble,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deI" = (/obj/machinery/cooker/cereal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deJ" = (/obj/machinery/cooker/candy,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deK" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/crowbar,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance,/obj/random/maintenance,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/chapel) +"deL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/chapel) +"deM" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/light{dir = 8},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) +"deN" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) +"deO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/holodeck_control) +"deP" = (/obj/machinery/status_display,/turf/simulated/wall,/area/crew_quarters/bar) +"deQ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"deR" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Three"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"deS" = (/obj/structure/sign/directions/cryo,/turf/simulated/wall,/area/hydroponics) +"deT" = (/turf/simulated/wall,/area/hydroponics) +"deU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hydroponics) +"deV" = (/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) +"deW" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics) +"deX" = (/obj/structure/table/marble,/obj/machinery/door/window/southright{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"deY" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/hydroponics) +"deZ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = list(28)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) +"dfa" = (/obj/structure/closet/crate/hydroponics,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dfb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Holodeck"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) +"dfc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/holodeck_control) +"dfd" = (/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/tiled,/area/holodeck_control) +"dfe" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/holodeck_control) +"dff" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfg" = (/obj/structure/railing,/turf/simulated/open,/area/hallway/primary/seconddeck/aft) +"dfh" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfi" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/aft) +"dfj" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfk" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfl" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfm" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfn" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfo" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/camera/network/civilian{c_tag = "CIV - Hydroponics Port"; dir = 2},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfp" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfq" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfr" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/obj/structure/closet/secure_closet/medical_wall{name = "defibrillator closet"; pixel_y = -31},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) +"dfs" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dft" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfv" = (/obj/machinery/biogenerator,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/lime/bordercorner{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfw" = (/obj/machinery/honey_extractor,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfx" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfy" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/camera/network/civilian{c_tag = "CIV - Hydroponics Starboard"; dir = 2},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfz" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southright{name = "Hydroponics Delivery"; req_access = list(35)},/turf/simulated/floor/tiled,/area/hydroponics) +"dfB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/west{location = "Hydroponics"},/turf/simulated/floor/tiled,/area/hydroponics) +"dfC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Starboard"; dir = 8},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) +"dfD" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor/tiled,/area/holodeck_control) +"dfE" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/holodeck_control) +"dfF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/holodeck_control) +"dfG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) +"dfH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfL" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) +"dfM" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dfO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) +"dfP" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfQ" = (/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfR" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfS" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfT" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dfZ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/chapel) +"dga" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Port"; dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/holodeck_control) +"dgb" = (/obj/structure/table/standard,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/obj/machinery/camera/network/civilian{c_tag = "CIV - Holodeck Control"; dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) +"dgc" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/holodeck_control) +"dgd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/holodeck_control) +"dge" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Holodeck Control"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/holodeck_control) +"dgf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgi" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/navbeacon/patrol{location = "CIV"; next_patrol = "CH7"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dgk" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgm" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = newlist(); req_one_access = list(35,28)},/turf/simulated/floor/tiled/steel_grid,/area/hydroponics) +"dgn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgp" = (/obj/machinery/door/blast/regular{id = "mixvent"; name = "Mixer Room Vent"},/obj/machinery/shield_diffuser,/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) +"dgq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgr" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgt" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgw" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access = list(35)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hydroponics) +"dgA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/chapel) +"dgB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/chapel) +"dgC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/holodeck_control) +"dgD" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/holodeck_control) +"dgE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgF" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/table/bench/padded,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgG" = (/obj/structure/table/bench/padded,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Stairwell"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgH" = (/obj/machinery/light,/obj/structure/table/glass,/obj/structure/sign/deck/second{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgI" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dgK" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgL" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgM" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/obj/machinery/seed_extractor,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgN" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgO" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgP" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Hydroponics"; sortType = "Hydroponics"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgR" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgS" = (/obj/machinery/seed_storage/garden,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgT" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgU" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgV" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgW" = (/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lime/border,/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dgX" = (/obj/structure/table/rack,/obj/item/weapon/flame/lighter/random,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dgY" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/holodeck_control) +"dgZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/holodeck_control) +"dha" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) +"dhb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) +"dhc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) +"dhd" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) +"dhe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) +"dhf" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hydroponics) +"dhg" = (/obj/machinery/ai_status_display,/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics) +"dhh" = (/turf/simulated/wall,/area/maintenance/chapel) +"dhi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/chapel) +"dhj" = (/turf/space,/area/shuttle/response_ship/seconddeck) +"dhk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"dhl" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/holodeck_control) +"dhm" = (/turf/simulated/wall/r_wall,/area/holodeck_control) +"dhn" = (/obj/structure/cable{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,/area/hallway/primary/seconddeck/port) +"dho" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dhp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dhq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dhr" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/seconddeck/aft) +"dhs" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/brown/bordercorner,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dht" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dhu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/chapel/main) +"dhv" = (/obj/structure/table/woodentable,/obj/structure/flora/pottedplant/stoutbush{pixel_y = 8},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dhw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dhx" = (/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dhy" = (/turf/simulated/floor/carpet,/area/chapel/main) +"dhz" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Fore"; dir = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/chapel/main) +"dhA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dhB" = (/turf/simulated/wall,/area/chapel/office) +"dhC" = (/obj/machinery/photocopier,/turf/simulated/floor/lino,/area/chapel/office) +"dhD" = (/obj/structure/table/wooden_reinforced,/obj/structure/flora/pottedplant/thinbush{pixel_y = 10},/turf/simulated/floor/lino,/area/chapel/office) +"dhE" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/nullrod,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/button/windowtint{id = "chapel"; pixel_x = -11; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/lino,/area/chapel/office) +"dhF" = (/obj/structure/table/wooden_reinforced,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/item/weapon/storage/fancy/markers,/turf/simulated/floor/lino,/area/chapel/office) +"dhG" = (/obj/structure/closet/wardrobe/chaplain_black,/turf/simulated/floor/lino,/area/chapel/office) +"dhH" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"dhI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"dhJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Civilian Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"dhK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/chapel) +"dhL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dhM" = (/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/holodeck_control) +"dhN" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/structure/closet/lasertag/red,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/holodeck_control) +"dhO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dhP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dhQ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dhR" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dhS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dhT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dhU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dhV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dhW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dhX" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (NORTH)"; icon_state = "chapel"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dhY" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (EAST)"; icon_state = "chapel"; dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dhZ" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/carpet,/area/chapel/main) +"dia" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/chapel/main) +"dib" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (NORTH)"; icon_state = "chapel"; dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dic" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (EAST)"; icon_state = "chapel"; dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"did" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/lino,/area/chapel/office) +"die" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) +"dif" = (/obj/structure/table/wooden_reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/lino,/area/chapel/office) +"dig" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Chaplain"},/turf/simulated/floor/lino,/area/chapel/office) +"dih" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/lino,/area/chapel/office) +"dii" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"dij" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"dik" = (/turf/simulated/wall,/area/maintenance/substation/civilian) +"dil" = (/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/chapel) +"dim" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"din" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled/techfloor,/area/holodeck_control) +"dio" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/techfloor,/area/holodeck_control) +"dip" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/techfloor,/area/holodeck_control) +"diq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dir" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/ai_monitored/storage/emergency/eva) +"dis" = (/obj/item/weapon/stool/padded,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dit" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"diu" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"div" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"diw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dix" = (/turf/simulated/wall,/area/chapel/main) +"diy" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"diz" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"diA" = (/obj/effect/floor_decal/chapel,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"diB" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"diC" = (/obj/effect/floor_decal/chapel,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"diD" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "chapel"},/turf/simulated/floor/plating,/area/chapel/office) +"diE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Office"; dir = 4},/turf/simulated/floor/lino,/area/chapel/office) +"diF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) +"diG" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/flashlight/lamp{pixel_y = 10},/turf/simulated/floor/lino,/area/chapel/office) +"diH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) +"diI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/lino,/area/chapel/office) +"diJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"diK" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"diL" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"diM" = (/turf/simulated/wall,/area/library) +"diN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/library) +"diO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/library) +"diP" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) +"diQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/library) +"diR" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library) +"diS" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) +"diT" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library) +"diU" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/library) +"diV" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) +"diW" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/aft) +"diX" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/hallway/primary/seconddeck/aft) +"diY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"diZ" = (/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dja" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/chapel/main) +"djc" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Chapel"; sortType = "Chapel"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dje" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced/polarized{id = "chapel"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/chapel/office) +"djf" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/lino,/area/chapel/office) +"djg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/lino,/area/chapel/office) +"djh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/lino,/area/chapel/office) +"dji" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian"; name_tag = "Civilian Subgrid"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"djj" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"djk" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering{name = "Civilian Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/civilian) +"djl" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"djm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/chapel) +"djn" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) +"djo" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/library) +"djp" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) +"djq" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/library) +"djr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood,/area/library) +"djs" = (/turf/simulated/floor/wood,/area/library) +"djt" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood,/area/library) +"dju" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/wood,/area/library) +"djv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/tiled/steel_grid,/area/library) +"djw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Four"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"djx" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djy" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Chapel Office"; req_access = list(27)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/chapel/office) +"djz" = (/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"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/chapel) +"djA" = (/turf/simulated/wall/r_wall,/area/chapel/main) +"djB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"djC" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"djD" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Port"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) +"djE" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) +"djF" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) +"djG" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/library) +"djH" = (/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/manifold/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) +"djI" = (/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/wood,/area/library) +"djJ" = (/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/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/library) +"djK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/wood,/area/library) +"djL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/library) +"djM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/library) +"djN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/library) +"djO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/library) +"djP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/tiled/steel_grid,/area/library) +"djQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"djR" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djS" = (/obj/effect/floor_decal/chapel,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/chapel/main) +"djU" = (/obj/effect/floor_decal/chapel{tag = "icon-chapel (WEST)"; icon_state = "chapel"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djV" = (/obj/effect/floor_decal/chapel,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/bench/padded,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djX" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"djZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dka" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkd" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Starboard"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dke" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkh" = (/obj/structure/table/glass,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dki" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/chapel/main) +"dkj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"dkk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"dkl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/library) +"dkm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) +"dkn" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library) +"dko" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/deck/cards,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/wood,/area/library) +"dkp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/library) +"dkq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/library) +"dkr" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/library) +"dks" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/carpet,/area/library) +"dkt" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/library) +"dku" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/wood,/area/library) +"dkv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) +"dkw" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Starboard"; dir = 8},/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/tape_roll,/turf/simulated/floor/wood,/area/library) +"dkx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "library_window_tint"},/turf/simulated/floor/plating,/area/library) +"dky" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dkz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dkA" = (/obj/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkC" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkD" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/chapel/main) +"dkE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/chapel/main) +"dkF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkG" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkI" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkJ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkP" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkQ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkR" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkS" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dkT" = (/obj/structure/table/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"dkU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"dkV" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/wood,/area/library) +"dkW" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/wood,/area/library) +"dkX" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) +"dkY" = (/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,/turf/simulated/floor/wood,/area/library) +"dkZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/library) +"dla" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) +"dlb" = (/obj/structure/table/woodentable,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/wood,/area/library) +"dlc" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library) +"dld" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/folder/yellow,/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library) +"dle" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/library) +"dlf" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/camera/network/civilian{c_tag = "CIV - Library Office"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet,/area/library) +"dlg" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor/carpet,/area/library) +"dlh" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dli" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Chapel"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/chapel/main) +"dlk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Chapel"},/turf/simulated/floor/tiled/steel_grid,/area/chapel/main) +"dll" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/chapel/main) +"dlm" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth"},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dln" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth (Chaplain)"; req_access = list(22)},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlo" = (/obj/structure/closet/coffin,/obj/machinery/door/window/northleft{name = "Coffin Storage"; req_access = list(27)},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlp" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlq" = (/obj/structure/closet/coffin,/obj/machinery/door/window/northright{name = "Coffin Storage"; req_access = list(27)},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlr" = (/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,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dls" = (/obj/machinery/button/remote/driver{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 32; pixel_y = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/bar) +"dlu" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/library) +"dlv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/library) +"dlw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library) +"dlx" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) +"dly" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/library) +"dlz" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/library) +"dlA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/wood,/area/library) +"dlB" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/paicard,/turf/simulated/floor/wood,/area/library) +"dlC" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Librarian"},/turf/simulated/floor/wood,/area/library) +"dlD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/library) +"dlE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Library Office"; req_access = list(37)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/library) +"dlF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/library) +"dlG" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/landmark/start{name = "Librarian"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/library) +"dlH" = (/turf/simulated/floor/carpet,/area/library) +"dlI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dlJ" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlK" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlO" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlR" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dlS" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/aft) +"dlT" = (/obj/item/device/radio/intercom/locked/confessional{pixel_y = -21},/obj/structure/bed/chair{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlU" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/turf/simulated/floor/plating,/area/chapel/main) +"dlV" = (/obj/item/device/radio/intercom/locked/confessional{dir = 2; pixel_y = -21},/obj/structure/bed/chair{dir = 8},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlW" = (/obj/structure/closet/coffin,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlX" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light,/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dlZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dma" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/chapel/main) +"dmb" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access = list(22)},/obj/machinery/mass_driver{dir = 4; id = "chapelgun"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/airlock_sensor{pixel_y = 25},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/chapel/main) +"dmc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/sign/warning/vacuum{pixel_y = 32},/turf/simulated/floor/plating,/area/chapel/main) +"dmd" = (/obj/machinery/door/blast/regular{id = "chapelgun"; name = "Chapel Launcher Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/chapel/main) +"dme" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) +"dmf" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library) +"dmg" = (/obj/machinery/light,/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) +"dmh" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/library) +"dmi" = (/obj/structure/filingcabinet,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) +"dmj" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/library) +"dmk" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/wood,/area/library) +"dml" = (/obj/machinery/door/window/westleft{name = "Library Desk Door"; req_access = list(37)},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/wood,/area/library) +"dmm" = (/obj/machinery/libraryscanner,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/wood,/area/library) +"dmn" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/structure/table/woodentable,/obj/machinery/librarycomp{pixel_y = 0},/turf/simulated/floor/wood,/area/library) +"dmo" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/device/camera,/obj/machinery/button/windowtint{id = "library_window_tint"; pixel_x = -11; pixel_y = -24},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/carpet,/area/library) +"dmp" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/invisible,/obj/item/clothing/under/suit_jacket/red,/obj/item/weapon/barcodescanner,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/carpet,/area/library) +"dmq" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/tvcamera,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/carpet,/area/library) +"dmr" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dms" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dmt" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/civilian{c_tag = "CIV - Chapel Aft"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmB" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmC" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmD" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/aft) +"dmE" = (/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"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/locker) +"dmF" = (/turf/simulated/wall,/area/maintenance/locker) +"dmG" = (/turf/simulated/wall/r_wall,/area/maintenance/locker) +"dmH" = (/turf/simulated/shuttle/wall,/area/shuttle/cryo/station) +"dmI" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/cryo/station) +"dmJ" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/cryo/station) +"dmK" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/docking_hallway2) +"dmL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"dmM" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"dmN" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/library) +"dmO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/library) +"dmP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/tiled/steel_grid,/area/library) +"dmQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/library) +"dmR" = (/obj/structure/sign/directions/cryo{dir = 8},/turf/simulated/wall,/area/library) +"dmS" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dmU" = (/turf/simulated/wall,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dmV" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) +"dmW" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/color/rainbow,/obj/item/weapon/bedsheet/rainbow,/obj/item/weapon/pen/crayon/rainbow,/turf/simulated/floor,/area/crew_quarters/seconddeck/locker) +"dmX" = (/turf/simulated/wall,/area/crew_quarters/seconddeck/locker) +"dmY" = (/obj/item/clothing/head/soft/mime,/obj/item/clothing/mask/gas/mime,/obj/item/clothing/shoes/mime,/obj/item/clothing/under/mime,/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) +"dmZ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) +"dna" = (/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) +"dnb" = (/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"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/locker) +"dnc" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/locker) +"dnd" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/locker) +"dne" = (/obj/structure/closet,/obj/item/weapon/lipstick/purple,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/locker) +"dnf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/locker) +"dng" = (/turf/simulated/shuttle/wall/no_join,/area/shuttle/cryo/station) +"dnh" = (/obj/structure/cryofeed{dir = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dni" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/cryo/station) +"dnj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnl" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnn" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dno" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnr" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dns" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) +"dnx" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dny" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dnz" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dnA" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dnB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dnC" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dnD" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnE" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnF" = (/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnG" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnH" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnI" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnJ" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnK" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dnL" = (/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"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/locker) +"dnM" = (/turf/simulated/floor/plating,/area/maintenance/locker) +"dnN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/locker) +"dnO" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/locker) +"dnP" = (/obj/machinery/ai_status_display,/turf/simulated/shuttle/wall/no_join,/area/shuttle/cryo/station) +"dnQ" = (/obj/machinery/cryopod{dir = 2; time_till_despawn = 4500},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dnR" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/cryopod{dir = 2; time_till_despawn = 4500},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dnS" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dnT" = (/obj/structure/sign/directions/cryo{dir = 8},/turf/simulated/wall/r_wall,/area/hallway/secondary/docking_hallway2) +"dnU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dnZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dob" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Library"; sortType = "Library"},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Civilian Hallway One"; dir = 1},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dod" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dof" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dog" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; name = "Primary Tool Storage"; sortType = "Primary Tool Storage"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) +"dok" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dol" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dom" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"don" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"doo" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; name = "Locker Room"; sortType = "Locker Room"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dop" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"doq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dor" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dos" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dot" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dou" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dov" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dow" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dox" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"doy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"doz" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"doA" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/camera/network/civilian{c_tag = "Civ - Locker Room Two"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"doB" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"doC" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"doD" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"doE" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/locker) +"doF" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/locker) +"doG" = (/obj/machinery/computer/cryopod{density = 0; pixel_x = -32; pixel_y = 0},/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"doH" = (/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"doI" = (/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"doJ" = (/obj/machinery/door/airlock/external{frequency = 1380; id_tag = "cryostorage_shuttle_hatch"; name = "Cryogenic Storage Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"doK" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/turf/simulated/floor/tiled/techfloor,/area/hallway/secondary/docking_hallway2) +"doL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doN" = (/obj/structure/flora/pottedplant/decorative,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"doO" = (/turf/simulated/wall,/area/hallway/secondary/entry/docking_lounge) +"doP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/docking_lounge) +"doQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/hallway/secondary/entry/docking_lounge) +"doR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/docking_lounge) +"doS" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doT" = (/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doU" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doV" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doW" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"doX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/docking_hallway2) +"doY" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"doZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dpa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dpb" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dpc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dpd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dpe" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpf" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpg" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dph" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpi" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpj" = (/obj/structure/undies_wardrobe,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpk" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpl" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dpm" = (/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpn" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpo" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/item/weapon/tape_roll,/obj/item/weapon/coin/silver,/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpp" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpr" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dps" = (/obj/item/trash/candle,/turf/simulated/floor/plating,/area/maintenance/locker) +"dpt" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "cryostorage_shuttle"; name = "cryostorage controller"; pixel_x = -26; pixel_y = 0; req_access = list(19); tag_door = "cryostorage_shuttle_hatch"},/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dpu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dpv" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"dpw" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dpx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dpy" = (/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/wood,/area/hallway/secondary/entry/docking_lounge) +"dpz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dpA" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/flora/pottedplant/shoot,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dpB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/storage/primary) +"dpC" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Primary Tool Storage"},/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,/turf/simulated/floor/tiled/steel_grid,/area/storage/primary) +"dpD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/storage/primary) +"dpE" = (/turf/simulated/wall,/area/security/checkpoint2) +"dpF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/security/checkpoint2) +"dpG" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/security{name = "Security Checkpoint"; req_access = list(1)},/turf/simulated/floor/tiled/steel_grid,/area/security/checkpoint2) +"dpH" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/security/checkpoint2) +"dpI" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) +"dpJ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dpK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Aft Hallway Five"; dir = 8},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dpL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/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,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/seconddeck/locker/locker_toilet) +"dpM" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dpN" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpO" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/seconddeck/locker) +"dpP" = (/obj/machinery/vending/giftvendor,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dpQ" = (/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/plating,/area/maintenance/locker) +"dpR" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/glasses/sunglasses,/obj/item/weapon/storage/bible,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/locker) +"dpS" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall/no_join,/area/shuttle/cryo/station) +"dpT" = (/obj/machinery/cryopod{dir = 1; time_till_despawn = 4500},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dpU" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/cryopod{dir = 1; time_till_despawn = 4500},/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dpV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "cryostorage_shuttle_berth"; name = "cryostorage shuttle berth controller"; pixel_x = -26; pixel_y = 0; req_access = list(19); tag_door = "cryostorage_shuttle_berth_hatch"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dpW" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"dpX" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dpY" = (/obj/structure/bed/chair/comfy/black,/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dpZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dqa" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hallway/secondary/entry/docking_lounge) +"dqb" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/navbeacon/delivery/south{location = "Tool Storage"},/turf/simulated/floor/tiled,/area/storage/primary) +"dqc" = (/turf/simulated/floor/tiled,/area/storage/primary) +"dqd" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"dqe" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"dqf" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dqg" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dqh" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dqi" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dqj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dqk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Locker Room"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/seconddeck/locker) +"dql" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqo" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqr" = (/obj/machinery/atm{pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqs" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqw" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqx" = (/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,/area/crew_quarters/seconddeck/locker) +"dqy" = (/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/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqz" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) +"dqA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/locker) +"dqB" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) +"dqC" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hazardvest,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/locker) +"dqD" = (/obj/structure/cryofeed{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) +"dqE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dqF" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"dqG" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/obj/item/device/paicard,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dqH" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dqI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dqJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dqK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dqL" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/storage/primary) +"dqM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/storage/primary) +"dqN" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/storage/primary) +"dqO" = (/obj/machinery/vending/tool,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"dqP" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom/department/security{dir = 4; icon_override = "secintercom"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dqQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dqR" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dqS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/beacon,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/aft) +"dqT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqU" = (/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqV" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/crew_quarters/seconddeck/locker) +"dqW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqX" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqY" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dqZ" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dra" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"drb" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"drc" = (/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"drd" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) +"dre" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) +"drf" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/locker) +"drg" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/cryo/station) +"drh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dri" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"drj" = (/obj/structure/bed/chair,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Civilian Hallway Two"; dir = 8},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) +"drk" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"drl" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"drm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"drn" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"dro" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge) +"drp" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) +"drq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"drr" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/storage/primary) +"drs" = (/obj/machinery/vending/assist,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"drt" = (/obj/machinery/computer/card,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dru" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/security/checkpoint2) +"drv" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"drw" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/westleft{name = "Security Checkpoint"; req_access = list(1)},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/security/checkpoint2) +"drx" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dry" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/aft) +"drz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"drA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display,/turf/simulated/wall,/area/crew_quarters/seconddeck/locker) +"drB" = (/obj/structure/closet/wardrobe/white,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"drC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"drD" = (/obj/structure/closet/wardrobe/pjs,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"drE" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"drF" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"drG" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_1) +"drH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Room 1"},/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,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/sleep/vistor_room_1) +"drI" = (/turf/simulated/wall,/area/crew_quarters/sleep/vistor_room_2) +"drJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Room 2"},/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,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/sleep/vistor_room_2) +"drK" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/locker) +"drL" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/locker) +"drM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/locker) +"drN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"drO" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"drP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"drQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"drR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"drS" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "Public Office"; req_one_access = newlist()},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"drT" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"drU" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) +"drV" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/storage/primary) +"drW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) +"drX" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"drY" = (/obj/machinery/computer/security,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"drZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dsa" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/crowbar,/obj/item/weapon/pen,/obj/item/device/flash,/obj/machinery/camera/network/security{c_tag = "SEC - Arrival Checkpoint"; dir = 8},/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dsb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dsc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/seconddeck/locker) +"dsd" = (/obj/structure/closet/wardrobe/mixed,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dse" = (/obj/structure/closet/wardrobe/grey,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsf" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/weapon/storage/backpack/dufflebag,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsg" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsh" = (/obj/structure/closet/secure_closet/personal,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dsi" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dsj" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dsk" = (/obj/structure/closet/secure_closet/personal,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dsl" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dsm" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/clothing/head/kitty,/obj/item/clothing/head/kitty,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dsn" = (/obj/item/latexballon,/turf/simulated/floor,/area/crew_quarters/seconddeck/locker) +"dso" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/locker) +"dsp" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/locker) +"dsq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dsr" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway2) +"dss" = (/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dst" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dsu" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/device/taperecorder,/obj/item/device/tape/random,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dsv" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/storage/primary) +"dsw" = (/obj/effect/landmark/start{name = "Assistant"},/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/storage/primary) +"dsx" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/storage/primary) +"dsy" = (/obj/structure/closet/secure_closet/security,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -30},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dsz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = -30},/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = 32; pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dsA" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/turf/simulated/floor/tiled,/area/security/checkpoint2) +"dsB" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dsC" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dsD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dsE" = (/obj/structure/closet/wardrobe/xenos,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dsG" = (/obj/structure/closet/wardrobe/black,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsH" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dsJ" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dsK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dsL" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dsM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dsN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dsO" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dsP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dsQ" = (/obj/structure/bed/chair,/obj/item/weapon/handcuffs/fuzzy,/obj/random/contraband,/turf/simulated/floor,/area/crew_quarters/seconddeck/locker) +"dsR" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/locker) +"dsS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/plating,/area/maintenance/locker) +"dsT" = (/turf/space,/area/shuttle/shuttle1/arrivals_dock) +"dsU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) +"dsV" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/docking_hallway2) +"dsW" = (/obj/machinery/papershredder,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dsX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dsY" = (/obj/machinery/libraryscanner,/obj/machinery/camera/network/civilian{c_tag = "CIV - Arrivals Lounge"; dir = 1},/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dsZ" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/hallway/secondary/entry/docking_lounge) +"dta" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/hallway/secondary/entry/docking_lounge) +"dtb" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/storage/primary) +"dtc" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/storage/primary) +"dtd" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian{c_tag = "CIV - Primary Tool Storage"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/storage/primary) +"dte" = (/obj/structure/table/standard,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/storage/primary) +"dtf" = (/turf/simulated/wall/r_wall,/area/security/checkpoint2) +"dtg" = (/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/dockhallway) +"dth" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/dockhallway) +"dti" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) +"dtj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/dockhallway) +"dtk" = (/turf/simulated/wall/r_wall,/area/crew_quarters/seconddeck/locker) +"dtl" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dtm" = (/obj/structure/closet/wardrobe/suit,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/floor/tiled/dark,/area/crew_quarters/seconddeck/locker) +"dtn" = (/obj/machinery/camera/network/civilian{c_tag = "Civ - Locker Room One"; dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/seconddeck/locker) +"dto" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dtp" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dtq" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_1) +"dtr" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dts" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/machinery/light,/obj/item/device/communicator,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dtt" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/crew_quarters/sleep/vistor_room_2) +"dtu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/locker) +"dtv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/maintenance/locker) +"dtw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtx" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dty" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dtz" = (/turf/simulated/wall,/area/storage/primary) +"dtA" = (/turf/simulated/wall,/area/hallway/primary/seconddeck/dockhallway) +"dtB" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dtC" = (/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dtD" = (/obj/structure/sign/deck/second,/turf/simulated/wall/r_wall,/area/hallway/primary/seconddeck/dockhallway) +"dtE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Three"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtF" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dtG" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) +"dtH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dtI" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"dtJ" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtL" = (/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtM" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtN" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtO" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtP" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtQ" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtR" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtS" = (/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtT" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtU" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtV" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtW" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dtZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dua" = (/obj/item/weapon/book/codex/lore/vir,/obj/structure/table/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dub" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dud" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"due" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duf" = (/turf/space,/area/shuttle/shuttle2/seconddeck) +"dug" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duh" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dui" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dul" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dum" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dun" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dup" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duq" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dur" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/landmark{name = "Observer-Start"},/obj/effect/landmark/start,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dus" = (/obj/structure/cable{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/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/dockhallway) +"dut" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/one,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway One"; dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"dux" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duz" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/white/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duA" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duB" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duC" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duD" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duF" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/machinery/atm{pixel_y = -30},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duG" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duH" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Two"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duI" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duK" = (/obj/machinery/light,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"duL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duO" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/hallway/primary/seconddeck/dockhallway) +"duP" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duQ" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duS" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/sign/dock/three,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Hallway Five"; dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway) +"duU" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) +"duV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D1) +"duW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D1) +"duX" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) +"duY" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) +"duZ" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) +"dva" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D2) +"dvb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dvc" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D2) +"dvd" = (/obj/structure/sign/directions/bridge{dir = 1; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/secondary/entry/D2) +"dve" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) +"dvf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D3) +"dvg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dock"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/secondary/entry/D3) +"dvh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dvk" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dvl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvn" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dvp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvt" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dvu" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dvv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dvx" = (/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvy" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dvz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvB" = (/turf/space,/area/shuttle/transport1/station) +"dvC" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dvD" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dvE" = (/obj/structure/closet/emcloset,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvF" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvH" = (/turf/space,/area/shuttle/escape/station) +"dvI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dvJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvM" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/emcloset,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvN" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dvO" = (/obj/structure/sign/warning/docking_area,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dvP" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle1_dock_airlocksc"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dvQ" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvR" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle1_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s1s_dock_pump"; tag_chamber_sensor = "s1s_dock_sensor"; tag_exterior_door = "s1s_dock_outer"; tag_interior_door = "s1s_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "s1s_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s1s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvS" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s1s_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dvT" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle1_dock_airlocksc"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D1) +"dvV" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dvW" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvX" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dvY" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dvZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D3) +"dwa" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwb" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dwc" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "centcom_dock_pump"; tag_chamber_sensor = "centcom_dock_sensor"; tag_exterior_door = "centcom_dock_outer"; tag_interior_door = "centcom_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "centcom_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwd" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "centcom_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwe" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 5; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dwf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dwg" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dwh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dwi" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwl" = (/turf/space,/area/shuttle/arrival/station) +"dwm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwo" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dwq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/port) +"dwr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dws" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dww" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Fore"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwx" = (/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dwy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Fore"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwB" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dwC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dwD" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dwE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwG" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) +"dwH" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dwJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dwK" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dwL" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/evac,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dwM" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/evac,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dwN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dwO" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dwP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dwQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dwR" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dwS" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dwT" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/first_aid_station/seconddeck/port) +"dwU" = (/turf/simulated/wall,/area/medical/first_aid_station/seconddeck/port) +"dwV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dwW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/medical/first_aid_station/seconddeck/port) +"dwX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dwY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dwZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxa" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) +"dxb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxd" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dxe" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxf" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_mech"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dxg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dxh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxi" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_snorth_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_north_starboard_mech"; tag_airpump = "escape_dock_north_starboard_pump"; tag_chamber_sensor = "escape_dock_north_starboard_sensor"; tag_exterior_door = "escape_dock_north_starboard_outer"; tag_interior_door = "escape_dock_north_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxk" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxl" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxm" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxn" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxo" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_north_airlock"; master_tag = "arrivals_dock"; pixel_y = 30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_north_mech"; tag_airpump = "arrivals_dock_north_pump"; tag_chamber_sensor = "arrivals_dock_north_sensor"; tag_exterior_door = "arrivals_dock_north_outer"; tag_interior_door = "arrivals_dock_north_inner"; tag_shuttle_mech_sensor = "shuttle_dock_north_mech"},/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxq" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_north_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dxs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_north_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxt" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "dock3_north_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "dock3_north_pump"; tag_chamber_sensor = "dock3_north_sensor"; tag_exterior_door = "dock3_north_outer"; tag_interior_door = "dock3_north_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxu" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_north_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dxv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "dock3_north_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxx" = (/turf/space,/area/shuttle/shuttle2/arrivals_dock) +"dxy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dxB" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dxC" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_north_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_north_starboard_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxE" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_north_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxF" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dxH" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxI" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxJ" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxK" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_north_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxL" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_north_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxM" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "dock3_north_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_north_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dxN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_north_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "dock3_north_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxO" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_north_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dxQ" = (/turf/space,/area/shuttle/response_ship/arrivals_dock) +"dxR" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dxT" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dxU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dxV" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dxW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dxX" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dxY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dxZ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dya" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyb" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dyc" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dyd" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dye" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyg" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dyh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dyi" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dyj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyk" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyl" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dym" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyn" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyo" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dyq" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dyr" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "Dock One External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "response_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dys" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyt" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "specops_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "response_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyu" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dyv" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "response_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyw" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyx" = (/obj/structure/closet/emcloset,/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dyz" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyA" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle2_dock_airlocksc"; name = "interior access button"; pixel_x = 28; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyC" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dyD" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "shuttle2_dock_airlocksc"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "s2s_dock_pump"; tag_chamber_sensor = "s2s_dock_sensor"; tag_exterior_door = "s2s_dock_outer"; tag_interior_door = "s2s_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "s2s_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyE" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "s2s_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyF" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "s2s_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle2_dock_airlocksc"; name = "exterior access button"; pixel_x = 5; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dyG" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyJ" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyK" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dyM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyN" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyO" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyP" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyR" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyT" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dyU" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dyW" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dyX" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dyZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dza" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dzb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dzd" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dze" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzf" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "escape_dock_south_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzg" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzh" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_inner"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dzj" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzl" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzm" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "arrivals_dock_south_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "exterior access button"; pixel_x = 4; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzo" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_south_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "dock3_south_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 26; req_one_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dzp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "dock3_south_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzq" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzr" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_south_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dzs" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzu" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_mech"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dzw" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dzx" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzy" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "escape_dock_ssouth_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "escape_dock_south_starboard_mech"; tag_airpump = "escape_dock_south_starboard_pump"; tag_chamber_sensor = "escape_dock_south_starboard_sensor"; tag_exterior_door = "escape_dock_south_starboard_outer"; tag_interior_door = "escape_dock_south_starboard_inner"; tag_shuttle_mech_sensor = "shuttle_dock_south_starboard_mech"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "escape_dock_south_starboard_pump"},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_south_starboard_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/secondary/entry/D2) +"dzC" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "arrivals_dock_south_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzD" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_inner"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzE" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380; id_tag = "arrivals_dock_south_airlock"; master_tag = "arrivals_dock"; pixel_y = -30; req_one_access = list(13); tag_airlock_mech_sensor = "arrivals_dock_south_mech"; tag_airpump = "arrivals_dock_south_pump"; tag_chamber_sensor = "arrivals_dock_south_sensor"; tag_exterior_door = "arrivals_dock_south_outer"; tag_interior_door = "arrivals_dock_south_inner"; tag_shuttle_mech_sensor = "arrivals_dock_south_mech"},/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "arrivals_dock_south_pump"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzG" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "arrivals_dock_south_outer"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzH" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "dock3_south_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dzI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzJ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "dock3_south_airlock"; pixel_x = 0; pixel_y = -30; req_one_access = list(13); tag_airpump = "dock3_south_pump"; tag_chamber_sensor = "dock3_south_sensor"; tag_exterior_door = "dock3_south_outer"; tag_interior_door = "dock3_south_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "dock3_south_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "dock3_south_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzL" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock One Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzN" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Two Aft"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzO" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzP" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock Three Aft"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzS" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzT" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzU" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzV" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dzW" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dzY" = (/obj/effect/floor_decal/sign/dock/one,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dzZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAa" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAb" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/sign/dock/two,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAc" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAd" = (/obj/effect/floor_decal/sign/dock/three,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAe" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dAf" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "trade_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = -26; req_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAg" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dAi" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAj" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAk" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAl" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dAn" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D1) +"dAo" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dAp" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_inner"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dAq" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Dock Two Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dAr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D3) +"dAs" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/glass_external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Dock Three Internal Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dAt" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dAu" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAw" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dAx" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAy" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dAB" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dAE" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "trade_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAF" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "trade_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_one_access = list(13); tag_airpump = "trade_shuttle_dock_pump"; tag_chamber_sensor = "trade_shuttle_dock_sensor"; tag_exterior_door = "trade_shuttle_dock_outer"; tag_interior_door = "trade_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) +"dAG" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "admin_shuttle_dock_airlock"; pixel_x = -28; pixel_y = 0; req_one_access = list(13); tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAH" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "admin_shuttle_dock_sensor"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) +"dAJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dAK" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "nuke_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAL" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "nuke_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "nuke_shuttle_dock_pump"; tag_chamber_sensor = "nuke_shuttle_dock_sensor"; tag_exterior_door = "nuke_shuttle_dock_outer"; tag_interior_door = "nuke_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D3) +"dAM" = (/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dAN" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "trade_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "trade_shuttle_dock_outer"; locked = 1; name = "Dock One External Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1) +"dAO" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/hallway/secondary/entry/D2) +"dAP" = (/obj/machinery/shield_diffuser,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Dock Two External Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) +"dAQ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -28; pixel_y = -6; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dAR" = (/obj/machinery/shield_diffuser,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Dock Three External Airlock"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D3) +"dAS" = (/turf/space,/area/syndicate_station/arrivals_dock) +"dAT" = (/turf/space,/area/shuttle/merchant/away) +"dAU" = (/turf/space,/area/shuttle/administration/station) +"dAV" = (/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dAW" = (/turf/space,/area/shuttle/response_ship/thirddeck) +"dAX" = (/turf/simulated/floor/airless,/area/thirddeck/roof) +"dAY" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/response_ship/thirddeck) +"dAZ" = (/obj/structure/grille,/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dBa" = (/turf/simulated/wall/r_wall,/area/thirddeck/roof) +"dBb" = (/obj/machinery/camera/network/command{c_tag = "AI - Fore"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dBc" = (/turf/simulated/wall/r_wall,/area/ai) +"dBd" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/flora/pottedplant/unusual{name = "Steve"; pixel_y = 15},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = 0},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = 0},/turf/simulated/floor/greengrid,/area/ai) +"dBe" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai) +"dBf" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBg" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBh" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBi" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBj" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai) +"dBk" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBl" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBm" = (/turf/simulated/floor/greengrid,/area/ai) +"dBn" = (/obj/effect/floor_decal/industrial/warning/cee,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/ai) +"dBo" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/greengrid,/area/ai) +"dBp" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBq" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBr" = (/turf/space,/area/skipjack_station/thirddeck) +"dBs" = (/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) +"dBt" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dBu" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) +"dBv" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBw" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBx" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dBy" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/greengrid,/area/ai) +"dBz" = (/obj/structure/cable/cyan,/obj/machinery/power/smes/buildable{charge = 5e+006; input_attempt = 1; input_level = 200000; output_level = 200000},/obj/machinery/flasher{id = "AI"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plating,/area/ai) +"dBA" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/greengrid,/area/ai) +"dBB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBC" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBD" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) +"dBE" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dBF" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "forestarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/forestarboardsolar) +"dBG" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "foreportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/foreportsolar) +"dBH" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dBI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/greengrid,/area/ai) +"dBK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dBL" = (/turf/simulated/wall/durasteel,/area/ai) +"dBM" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dBN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBO" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dBP" = (/obj/machinery/camera/network/command{c_tag = "AI - Port 1"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dBQ" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/device/radio/intercom/private{pixel_y = -21},/obj/item/device/radio/intercom/custom{dir = 1; pixel_y = 21},/turf/simulated/floor/greengrid,/area/ai) +"dBR" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBS" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBT" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBU" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = null; locked = 1; name = "AI Core"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBV" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/turretid/stun{check_synth = 1; name = "AI Chamber turret control"; pixel_x = -30; pixel_y = -24},/obj/machinery/flasher{id = "AI"; pixel_x = 24; pixel_y = -25},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the AI core maintenance door."; id = "AICore"; name = "AI Maintenance Hatch"; pixel_x = 14; pixel_y = 25; req_access = list(16)},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/xray/command{c_tag = "AI - Core"; dir = 2},/obj/machinery/power/apc/super/critical{dir = 1; is_critical = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBW" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = null; locked = 1; name = "AI Core"; req_access = list(16)},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBX" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBY" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dBZ" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCa" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/device/radio/intercom/private{dir = 1; pixel_y = 21},/obj/item/device/radio/intercom/custom{pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) +"dCb" = (/obj/machinery/camera/network/command{c_tag = "AI - Starboard"; dir = 4},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dCc" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/foreport) +"dCd" = (/obj/effect/landmark/start{name = "AI"},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_x = 30; pixel_y = -32},/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = -32},/obj/item/device/radio/intercom/private{dir = 4; pixel_x = 21; pixel_y = -10},/obj/item/device/radio/intercom/custom{dir = 8; pixel_x = -21; pixel_y = -10},/obj/item/device/radio/intercom{broadcasting = 1; name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/greengrid,/area/ai) +"dCe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/greengrid,/area/ai) +"dCf" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/forestarboard) +"dCg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dCh" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/foreportsolar) +"dCi" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCj" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCk" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCl" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCm" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCn" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dCo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dCp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/ai) +"dCq" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCr" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCs" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dCt" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCu" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/light,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCv" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCw" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCx" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCy" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCz" = (/obj/structure/firedoor_assembly,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCA" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/forestarboardsolar) +"dCB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dCC" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dCD" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dCE" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dCF" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "foreportsolar"; name = "Fore Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dCG" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port"; dir = 2},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dCH" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dCI" = (/turf/simulated/wall,/area/maintenance/solars/foreportsolar) +"dCJ" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCK" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dCL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dCM" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCN" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/greengrid,/area/ai) +"dCP" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCQ" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCR" = (/obj/machinery/porta_turret/ai_defense,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dCS" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCU" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCV" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dCW" = (/turf/simulated/wall,/area/maintenance/solars/forestarboardsolar) +"dCX" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dCY" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard"; dir = 2},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dCZ" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/solar_control{id = "forestarboardsolar"; name = "Fore Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDa" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDb" = (/obj/structure/cable/yellow,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDc" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dDd" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dDe" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dDf" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dDg" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dDh" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDi" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_port_solar_pump"; tag_chamber_sensor = "fore_port_solar_sensor"; tag_exterior_door = "fore_port_solar_outer"; tag_interior_door = "fore_port_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDj" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_port_solar_pump"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDn" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDo" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dDq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dDr" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dDs" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dDt" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dDu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/thirddeck/roof) +"dDv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dDw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dDx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dDy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dDz" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/ai) +"dDA" = (/obj/structure/catwalk,/turf/simulated/floor/airless,/area/thirddeck/roof) +"dDB" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 4; icon_state = "32-4"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/forestarboard) +"dDC" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/railing{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dDD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dDE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dDF" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDI" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDK" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDL" = (/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "fore_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_airpump = "fore_starboard_solar_pump"; tag_chamber_sensor = "fore_starboard_solar_sensor"; tag_exterior_door = "fore_starboard_solar_outer"; tag_interior_door = "fore_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "fore_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "fore_starboard_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "fore_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dDN" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "fore_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDO" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDP" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDQ" = (/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDR" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDS" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dDT" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDU" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDV" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDW" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/sign/warning/airlock{pixel_y = -32},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDX" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDY" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Port"},/turf/simulated/floor/plating,/area/maintenance/solars/foreportsolar) +"dDZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEa" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/railing{dir = 4},/turf/simulated/floor,/area/maintenance/thirddeck/foreport) +"dEb" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; icon_state = "32-1"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/foreport) +"dEc" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/greengrid,/area/ai) +"dEd" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dEe" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dEf" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Fore Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dEg" = (/obj/structure/cable,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Fore Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dEh" = (/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dEi" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dEj" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dEk" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dEl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/forestarboardsolar) +"dEm" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dEn" = (/turf/space,/area/ninja_dojo/thirddeck) +"dEo" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dEp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEq" = (/turf/simulated/wall,/area/maintenance/thirddeck/foreport) +"dEr" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload) +"dEs" = (/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/machinery/door/blast/regular{id = "AICore"; name = "AI core maintenance hatch"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai) +"dEt" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai) +"dEu" = (/obj/structure/sign/kiddieplaque,/turf/simulated/wall/r_wall,/area/ai/ai_upload) +"dEv" = (/turf/simulated/wall,/area/maintenance/thirddeck/forestarboard) +"dEw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dEx" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dEy" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEz" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/protectStation{pixel_x = -3; pixel_y = 2},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dEA" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEB" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEC" = (/obj/machinery/computer/aiupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dED" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_x = -36; pixel_y = 21},/obj/machinery/flasher{id = "AI"; pixel_x = -22; pixel_y = 24},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEE" = (/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dEF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/camera/network/command{c_tag = "AI - Upload"; dir = 2},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEG" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset{pixel_x = 2; pixel_y = 3; pixel_z = 0},/obj/structure/window/reinforced{dir = 8},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dEH" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dEI" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEJ" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEK" = (/obj/machinery/camera/network/command{c_tag = "AI - Port 2"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dEL" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dEM" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dEN" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEO" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEP" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEQ" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dER" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dES" = (/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dET" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dEU" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEV" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dEW" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dEX" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/porta_turret/ai_defense,/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dEZ" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dFa" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFb" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFc" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/foreportsolar) +"dFd" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFe" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access = list(20)},/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dFf" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dFg" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dFh" = (/obj/item/device/radio/intercom/locked/ai_private{dir = 4; pixel_x = 21},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dFi" = (/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dFj" = (/obj/structure/table/standard,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access = list(20)},/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_upload) +"dFk" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFl" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/forestarboardsolar) +"dFm" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFp" = (/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dFq" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dFr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/highsecurity{name = "AI Upload"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload) +"dFs" = (/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dFt" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dFu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/closet/crate,/obj/random/powercell,/obj/random/powercell,/obj/random/powercell,/obj/random/toolbox,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFw" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFx" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFy" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/belt/utility,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFz" = (/obj/machinery/message_server,/obj/machinery/camera/network/command{c_tag = "AI - Messaging Server"; dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dFA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dFB" = (/obj/machinery/blackbox_recorder,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dFC" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/item/device/radio/intercom/locked/ai_private{dir = 1; pixel_y = 21},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/camera/network/command{c_tag = "AI - Upload Foyer"; dir = 2},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dFD" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dFE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/turretid/stun{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 0; pixel_y = 24},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/flasher{id = "AIFoyer"; pixel_x = 0; pixel_y = 36},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dFF" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dFG" = (/obj/machinery/recharge_station,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dFH" = (/obj/structure/table/standard,/obj/item/weapon/phone,/obj/machinery/camera/network/command{c_tag = "AI - Cyborg Station"; dir = 8},/obj/machinery/computer/cryopod/robot{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dFI" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFJ" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dFK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dFL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/gamblingtable,/obj/structure/catwalk,/obj/random/plushielarge,/turf/simulated/floor/plating,/area/maintenance/bar) +"dFM" = (/obj/machinery/computer/message_monitor,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dFN" = (/obj/structure/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dFO" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dFP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dFQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dFR" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dFS" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/hologram/holopad,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dFT" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dFU" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/highsecurity{name = "Synthetic Storage Access"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dFV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dFW" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dFX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/bed/chair/office/light{dir = 4},/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dFY" = (/obj/machinery/computer/aifixer,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dFZ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/largecrate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dGa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dGb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dGc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dGd" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hop/quarters) +"dGe" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) +"dGf" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) +"dGg" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/command) +"dGh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/maintenance/substation/command) +"dGi" = (/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor/bluegrid,/area/ai/ai_server_room) +"dGj" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dGk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dGl" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_server_room) +"dGm" = (/turf/simulated/wall/r_wall,/area/ai/ai_upload_foyer) +"dGn" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/highsecurity{name = "AI Upload Access"; req_access = list(16)},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_upload_foyer) +"dGo" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/obj/structure/cable/cyan,/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dGp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dGq" = (/obj/effect/landmark{name = "JoinLateCyborg"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/techfloor,/area/ai/ai_cyborg_station) +"dGr" = (/obj/machinery/cryopod/robot{dir = 4},/turf/simulated/floor/bluegrid,/area/ai/ai_cyborg_station) +"dGs" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) +"dGt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) +"dGu" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) +"dGv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) +"dGw" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) +"dGx" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hor/quarters) +"dGy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dGz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dGA" = (/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,/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dGB" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dGC" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dGD" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dGE" = (/turf/simulated/wall,/area/maintenance/substation/command) +"dGF" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/substation/command) +"dGG" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dGH" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down{dir = 8},/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/structure/railing,/turf/simulated/open,/area/maintenance/substation/command) +"dGI" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dGJ" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) +"dGK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) +"dGL" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) +"dGM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/techfloor{dir = 6},/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) +"dGN" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dGO" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/ai/ai_cyborg_station) +"dGP" = (/obj/structure/closet/secure_closet/CMO_wardrobe,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dGQ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dGR" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dGS" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/cmo/quarters) +"dGT" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dGU" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dGV" = (/obj/structure/closet/secure_closet/RD_wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dGW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dGX" = (/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,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dGY" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dGZ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hopquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dHa" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dHb" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue_hop,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dHc" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/maintenance/substation/command) +"dHd" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dHe" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/command) +"dHf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHi" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/central) +"dHj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHl" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "cmoquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dHm" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dHn" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_cmo,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dHo" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/white_rd,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dHp" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dHq" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/obj/machinery/button/windowtint{id = "rdquarters"; pixel_x = 36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dHr" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dHs" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dHt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dHu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/dogbed,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dHv" = (/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{dir = 10},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dHw" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hop,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) +"dHx" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dHy" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor,/area/maintenance/substation/command) +"dHz" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/command) +"dHA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHB" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHC" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHE" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHF" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Fore"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHG" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHI" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dHJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dHK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dHL" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/cmo/quarters) +"dHM" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/rd,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dHN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dHO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hor/quarters) +"dHP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) +"dHQ" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dHR" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dHS" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dHT" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dHU" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dHV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dHW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dHX" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dHY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) +"dHZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hopquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) +"dIa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Head of Personnel Quarters"; req_access = list(57)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hop/quarters) +"dIb" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hop/quarters) +"dIc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/command) +"dId" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/maintenance/substation/command) +"dIe" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dIf" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dIg" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/cmo/quarters) +"dIh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cmoquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/cmo/quarters) +"dIi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Quarters"; req_access = list(40)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/cmo/quarters) +"dIj" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hor/quarters) +"dIk" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Research Director Quarters"; req_access = list(30)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hor/quarters) +"dIl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "rdquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hor/quarters) +"dIm" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) +"dIn" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dIo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dIp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dIq" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dIr" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dIs" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dIt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dIu" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dIv" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) +"dIw" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_port_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) +"dIx" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_port_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIy" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIz" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_port_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/port) +"dIA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIB" = (/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,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dID" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/port) +"dIE" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIG" = (/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/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dII" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIJ" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIK" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIM" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/port) +"dIP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dIQ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dIR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dIS" = (/turf/unsimulated/mask,/area/hallway/primary/thirddeck/central) +"dIT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dIU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dIV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dIW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/starboard) +"dIX" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dIY" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dIZ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJa" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJb" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway One"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJc" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJd" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJe" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJf" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 26; req_access = list(18)},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJj" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_inner"; locked = 1; name = "Internal Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) +"dJk" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d3_starboard_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d3_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/starboard) +"dJn" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) +"dJo" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_port_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/port) +"dJp" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_port_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_port_pump"; tag_chamber_sensor = "d3_port_sensor"; tag_exterior_door = "d3_port_outer"; tag_interior_door = "d3_port_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJq" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_port_pump"},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJs" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJt" = (/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 = 5},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway Two"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJu" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) +"dJv" = (/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/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJw" = (/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,/area/hallway/primary/thirddeck/port) +"dJx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJz" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJC" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) +"dJG" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dJH" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dJI" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dJJ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dJK" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dJL" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/starboard) +"dJM" = (/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/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJN" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJO" = (/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,/area/hallway/primary/thirddeck/starboard) +"dJP" = (/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/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJR" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJS" = (/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/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJT" = (/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 = 9},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Starboard Hallway Two"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJW" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJX" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "d3_starboard_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d3_starboard_airlock"; pixel_x = 0; pixel_y = -26; req_access = list(18); tag_airpump = "d3_starboard_pump"; tag_chamber_sensor = "d3_starboard_sensor"; tag_exterior_door = "d3_starboard_outer"; tag_interior_door = "d3_starboard_inner"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dJY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "d3_starboard_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -26; req_access = list(18)},/turf/simulated/floor/airless,/area/hallway/primary/thirddeck/starboard) +"dJZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dKa" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dKb" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/port) +"dKc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/port) +"dKe" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKf" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKg" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKi" = (/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/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKj" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKk" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dKm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dKn" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dKo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dKp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKq" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKr" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKs" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKt" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKu" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/starboard) +"dKw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dKx" = (/obj/structure/sign/deck/third,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dKy" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dKz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dKA" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) +"dKB" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod7/station) +"dKC" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod7/station) +"dKD" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/port) +"dKE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKG" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/white/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dKH" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) +"dKI" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/restroom) +"dKJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Command Restroom"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/restroom) +"dKK" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) +"dKL" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/chief/quarters) +"dKM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Chief Engineer Quarters"; req_access = list(56)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/chief/quarters) +"dKN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "cequarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/chief/quarters) +"dKO" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/chief/quarters) +"dKP" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Port"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dKQ" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dKR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Starboard"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dKS" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) +"dKT" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hosquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hos/quarters) +"dKU" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{id_tag = null; name = "Head of Security Quarters"; req_access = list(58)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hos/quarters) +"dKV" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hos/quarters) +"dKW" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/hos/quarters) +"dKX" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/bs) +"dKY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Secretary Quarters"; req_access = list(19)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/bs) +"dKZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "bsquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/bs) +"dLa" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/bs) +"dLb" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dLc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dLd" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) +"dLe" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) +"dLf" = (/turf/simulated/shuttle/wall,/area/shuttle/escape_pod8/station) +"dLg" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/escape_pod8/station) +"dLh" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/station) +"dLi" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_7"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dLj" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dLk" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dLl" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_hatch"; locked = 1; name = "Escape Pod Hatch 7"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dLm" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/port) +"dLn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_7_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_7_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dLo" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dLp" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLq" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLr" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLs" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLt" = (/obj/structure/table/standard,/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"},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLu" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/ce,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dLv" = (/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{dir = 5},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dLw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dLx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dLy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dLz" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dLA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/flora/pottedplant/fern,/turf/simulated/floor/tiled/dark,/area/hallway/primary/thirddeck/central) +"dLB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dLC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dLD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dLE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dLF" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dLG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/bluedouble,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dLH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dLI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dLJ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dLK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_8_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_8_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dLL" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_berth_hatch"; locked = 1; name = "Escape Pod 8"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/starboard) +"dLM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_hatch"; locked = 1; name = "Escape Pod Hatch 8"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dLN" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dLO" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dLP" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_8"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_8_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dLQ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/station) +"dLR" = (/obj/structure/sign/warning/pods{dir = 8},/turf/simulated/wall,/area/hallway/primary/thirddeck/port) +"dLS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dLT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dLU" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dLV" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/restroom) +"dLW" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dLZ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dMa" = (/obj/structure/table/standard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/yellow_ce,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dMb" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dMc" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "cequarters"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dMd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMe" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMf" = (/obj/structure/sign/directions/engineering{dir = 1; pixel_y = 10},/obj/structure/sign/directions/cargo{dir = 1},/obj/structure/sign/directions/security{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dMg" = (/obj/structure/sign/directions/bridge{dir = 2; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/obj/structure/sign/directions/medical{dir = 1; pixel_y = -10},/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dMh" = (/obj/effect/floor_decal/borderfloorblack{dir = 9},/obj/effect/floor_decal/industrial/danger{dir = 9},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/thirddeck/central) +"dMi" = (/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/thirddeck/central) +"dMj" = (/obj/effect/floor_decal/borderfloorblack{dir = 5},/obj/effect/floor_decal/industrial/danger{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/hallway/primary/thirddeck/central) +"dMk" = (/obj/structure/sign/directions/evac{dir = 1},/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dMl" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMm" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hosquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dMn" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dMo" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/red_hos,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dMp" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/weapon/pen/multi,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dMq" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dMr" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "bsoffice"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dMs" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/starboard) +"dMt" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dMu" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dMv" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) +"dMw" = (/obj/structure/sign/warning/pods{dir = 4},/turf/simulated/wall,/area/hallway/primary/thirddeck/starboard) +"dMx" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftport) +"dMy" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dMz" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftport) +"dMA" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dMB" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dMC" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dMD" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dME" = (/obj/structure/undies_wardrobe,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/restroom) +"dMF" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dMG" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dMH" = (/obj/structure/closet/secure_closet/engineering_chief_wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/chief/quarters) +"dMI" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dML" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMR" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dMS" = (/obj/structure/closet/secure_closet/hos_wardrobe,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dMT" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dMU" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos/quarters) +"dMV" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dMW" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dMX" = (/obj/structure/closet/lawcloset,/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) +"dMY" = (/turf/simulated/wall/r_wall,/area/maintenance/thirddeck/aftstarboard) +"dMZ" = (/turf/simulated/wall,/area/maintenance/thirddeck/aftstarboard) +"dNa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dNb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dNc" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dNd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNe" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Central Aft"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNp" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/random/firstaid,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dNq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dNr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dNs" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dNt" = (/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dNu" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNv" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNw" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNx" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNy" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNz" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNA" = (/obj/machinery/vending/coffee,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNB" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/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,/turf/simulated/floor/tiled,/area/bridge) +"dNC" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/bridge) +"dND" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dNE" = (/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dNF" = (/obj/structure/sign/deck/third,/turf/simulated/wall,/area/hallway/primary/thirddeck/central) +"dNG" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNH" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dNI" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/bridge) +"dNJ" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) +"dNK" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dNL" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dNM" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera,/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dNN" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dNO" = (/obj/structure/closet/wardrobe/captain{name = "station director's wardrobe"},/obj/random/drinkbottle,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dNP" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dNQ" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/soap/deluxe,/obj/item/weapon/towel{color = "#FFD700"; name = "gold towel"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dNR" = (/obj/structure/closet,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/clean,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dNS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dNT" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dNU" = (/obj/machinery/button/remote/blast_door{id = "heads_meeting"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dNV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dNW" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dNX" = (/obj/structure/bed/chair/comfy/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dNY" = (/obj/structure/bed/chair/comfy/blue,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dNZ" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dOa" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dOb" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) +"dOc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) +"dOd" = (/obj/structure/railing{dir = 4},/turf/simulated/open,/area/hallway/primary/thirddeck/central) +"dOe" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOf" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOg" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOh" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) +"dOi" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_command{id_tag = "sbridgedoor"; name = "Bridge"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge) +"dOj" = (/obj/structure/table/wooden_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/random_multi/single_item/captains_spare_id,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOk" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Bathroom"},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/sd) +"dOo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dOp" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dOq" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dOr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dOs" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dOt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dOu" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dOv" = (/obj/structure/bed/chair/comfy/blue{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dOw" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dOx" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dOy" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/book/codex/corp_regs,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dOz" = (/obj/structure/bed/chair/comfy/blue{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dOA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dOB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 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},/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge/meeting_room) +"dOC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/bridge) +"dOD" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dOE" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dOF" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/thirddeck/central) +"dOI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOJ" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dOK" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) +"dOL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/bridge) +"dOM" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/bridge) +"dON" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dOO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOR" = (/obj/structure/closet/secure_closet/captains{name = "station director's locker"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dOS" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dOT" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/window/northright,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/sc/sd) +"dOU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dOV" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/item/weapon/crowbar,/obj/item/weapon/wirecutters,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) +"dOW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dOX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dOY" = (/obj/structure/table/steel,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dOZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dPa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dPc" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dPd" = (/obj/structure/bed/chair/comfy/blue{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dPe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/bridge/meeting_room) +"dPf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/command{c_tag = "COM - Conference Room"; dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dPh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dPi" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPj" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPk" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Stairwell"; dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPl" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) +"dPp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dPq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dPr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/command{name = "Station Director's Quarters"; req_access = list(20)},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dPs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dPt" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dPu" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dPv" = (/obj/item/frame,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dPw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dPx" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPy" = (/obj/machinery/hologram/holopad,/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,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPz" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPA" = (/turf/simulated/wall/r_wall,/area/bridge) +"dPB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dPC" = (/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dPD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced/polarized{id = "bridge_center"},/turf/simulated/floor/plating,/area/bridge) +"dPE" = (/obj/structure/displaycase,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPF" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPH" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/camera/network/command{c_tag = "COM - Station Director's Office"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPI" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPJ" = (/obj/machinery/computer/card,/obj/random_multi/single_item/captains_spare_id,/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPK" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dPM" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dPN" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) +"dPO" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dPP" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftportsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftportsolar) +"dPQ" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dPR" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dPS" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/hand_labeler,/obj/item/device/retail_scanner/command,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPT" = (/obj/structure/table/wooden_reinforced,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPU" = (/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,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPV" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPW" = (/obj/machinery/papershredder,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dPY" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dPZ" = (/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/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQa" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQb" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Port"; dir = 6},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/guncabinet/sidearm{anchored = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQc" = (/obj/structure/noticeboard{pixel_y = 27},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQd" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/structure/closet/medical_wall{pixel_x = 0; pixel_y = 31},/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/bridge) +"dQe" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dQg" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dQh" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/structure/closet/secure_closet/medical_wall{name = "defibrillator closet"; pixel_y = 31},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled,/area/bridge) +"dQi" = (/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQj" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Starboard"},/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/bridge) +"dQm" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dQn" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQr" = (/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQs" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Colony Director"},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the Starboard Bridge Doors."; id = "sbridgedoor"; name = "Starboard Bridge Door Control"; pixel_x = 30; pixel_y = -6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the captain's office."; id = "captaindoor"; name = "Office Door Control"; pixel_x = 30; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQt" = (/obj/structure/table/wooden_reinforced,/obj/machinery/requests_console{announcementConsole = 1; department = "Station Director's Desk"; departmentType = 5; name = "Station Administrator RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQu" = (/obj/structure/table/rack{dir = 4},/obj/item/clothing/mask/gas,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dQv" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) +"dQw" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dQx" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "aftstarboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/aftstarboardsolar) +"dQy" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dQz" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dQA" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dQB" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dQC" = (/obj/machinery/door/firedoor/border_only,/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/machinery/door/airlock/command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dQD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dQE" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQH" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQI" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/bridge) +"dQL" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/structure/window/basic{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/window/southleft{name = "Director's Desk Door"; req_access = list(20)},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQN" = (/obj/structure/table/wooden_reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue,/obj/item/device/megaphone,/obj/item/weapon/pen/multi,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQO" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQP" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/folder/blue_captain,/obj/item/weapon/stamp/denied{pixel_x = -2; pixel_y = -2},/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQQ" = (/obj/structure/table/wooden_reinforced,/obj/item/device/flashlight/lamp/green,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dQR" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dQS" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dQT" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dQU" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dQV" = (/obj/structure/flora/pottedplant{icon_state = "plant-01"; pixel_y = 10; tag = "icon-plant-01"},/obj/structure/table/woodentable,/obj/machinery/alarm{pixel_y = 22},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dQW" = (/obj/structure/table/woodentable,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/item/weapon/storage/box/cups,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dQX" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dQY" = (/obj/machinery/camera/network/command{c_tag = "COM - Secretary Office"; dir = 2},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dQZ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Secretary Office"; req_access = list(19)},/turf/simulated/floor/tiled/steel_grid,/area/bridge/meeting_room) +"dRa" = (/obj/machinery/computer/guestpass{pixel_y = 28},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dRb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dRc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dRd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dRe" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/device/flashlight,/obj/item/device/flashlight{pixel_x = 2; pixel_y = 2},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 8},/turf/simulated/floor/tiled/dark,/area/bridge) +"dRf" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/obj/machinery/computer/station_alert/all,/turf/simulated/floor/tiled/dark,/area/bridge) +"dRg" = (/obj/machinery/computer/atmos_alert,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled/dark,/area/bridge) +"dRh" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/tiled/dark,/area/bridge) +"dRi" = (/obj/machinery/computer/rcon,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 8},/turf/simulated/floor/tiled/dark,/area/bridge) +"dRj" = (/obj/machinery/computer/power_monitor,/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled/dark,/area/bridge) +"dRk" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/multitool,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled/dark,/area/bridge) +"dRl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dRm" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) +"dRn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dRo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/bridge) +"dRp" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/command{id_tag = "captaindoor"; name = "Station Director's Office"; req_access = list(20)},/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/sd) +"dRq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRu" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRv" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/hand_tele,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRw" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dRx" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dRy" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dRz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(19)},/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dRA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRC" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRD" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRF" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRG" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/bridge) +"dRH" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dRI" = (/turf/simulated/floor/tiled,/area/bridge) +"dRJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dRK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/bridge) +"dRL" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRM" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRN" = (/obj/machinery/papershredder,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dRO" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dRP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dRQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dRR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dRS" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftportsolar) +"dRT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dRU" = (/obj/machinery/photocopier,/obj/machinery/button/remote/blast_door{id = "csblast"; name = "Blastdoors"; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRV" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRW" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRX" = (/obj/structure/bed/chair/office/dark,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/landmark/start{name = "Command Secretary"},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRY" = (/obj/structure/filingcabinet,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dRZ" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) +"dSa" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/bridge) +"dSb" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/folder/red,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/bridge) +"dSc" = (/obj/machinery/computer/security,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dSd" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/bridge) +"dSe" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/bridge) +"dSf" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/bridge) +"dSg" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/bridge) +"dSh" = (/obj/machinery/button/remote/blast_door{id = "bridge blast"; name = "Bridge Blastdoors"; pixel_x = 0; pixel_y = -36},/obj/machinery/button/windowtint{id = "bridge_center"; pixel_x = -11; pixel_y = -24},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dSi" = (/obj/machinery/computer/crew,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/white/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/bridge) +"dSj" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/folder/white,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/bridge) +"dSk" = (/obj/machinery/computer/med_data,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/white/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/bridge) +"dSl" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dSm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dSn" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dSo" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/corp_regs,/obj/item/device/tape/random,/obj/item/device/taperecorder,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dSp" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -26},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dSq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_one_access = list(12,19)},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dSr" = (/turf/simulated/wall/r_wall,/area/maintenance/solars/aftstarboardsolar) +"dSs" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dSt" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dSu" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSv" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSw" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSx" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSy" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSz" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSA" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Port"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dSB" = (/turf/simulated/wall,/area/maintenance/solars/aftportsolar) +"dSC" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/sign/warning/high_voltage{pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port Access"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dSD" = (/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dSE" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dSF" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dSG" = (/obj/structure/table/wooden_reinforced,/obj/machinery/computer/skills,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dSH" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dSI" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Bridge"},/obj/machinery/light,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dSJ" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/pen/blue{pixel_y = -5},/obj/item/weapon/pen/red{pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/bridge/meeting_room) +"dSK" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dSL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dSM" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dSN" = (/obj/structure/table/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/newscaster{pixel_y = -30},/obj/item/weapon/storage/secure/briefcase,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/blue/border{dir = 10},/turf/simulated/floor/tiled,/area/bridge) +"dSO" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) +"dSP" = (/obj/machinery/computer/card,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) +"dSQ" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/paper_bin,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) +"dSR" = (/obj/machinery/computer/communications,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) +"dSS" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/aicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/bridge) +"dST" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/machinery/recharger{pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/obj/item/weapon/storage/box/donut,/turf/simulated/floor/tiled,/area/bridge) +"dSU" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) +"dSV" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) +"dSW" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge) +"dSX" = (/obj/machinery/button/remote/blast_door{id = "directorblast"; name = "Security Shutters"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dSY" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dSZ" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donut,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/sd) +"dTa" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dTb" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/aftstarboard) +"dTc" = (/obj/structure/table/rack,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/suit/storage/hazardvest,/obj/item/device/radio,/obj/random/maintenance/medical,/obj/random/maintenance/medical,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/railing{dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTd" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/obj/random/cash,/turf/simulated/floor,/area/maintenance/bar) +"dTe" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard Access"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTf" = (/turf/simulated/wall,/area/maintenance/solars/aftstarboardsolar) +"dTg" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar - Aft Starboard"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTh" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/power/terminal{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTi" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/sign/warning/airlock{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTj" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTk" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTl" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTm" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTn" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dTo" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dTp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dTq" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dTr" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dTs" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dTt" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTu" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_port_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_port_solar_pump"; tag_chamber_sensor = "aft_port_solar_sensor"; tag_exterior_door = "aft_port_solar_outer"; tag_interior_door = "aft_port_solar_inner"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_port_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTv" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_port_solar_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_port_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_port_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTz" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Port Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dTB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dTC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dTD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dTE" = (/obj/structure/lattice,/obj/structure/cable{d1 = 32; d2 = 8; icon_state = "32-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/thirddeck/aftport) +"dTF" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dTG" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dTH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dTI" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "csblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"dTJ" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/bridge) +"dTK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dTL" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dTM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/bridge) +"dTN" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/sc/sd) +"dTO" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dTP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dTQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dTR" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "directorblast"; name = "Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/sd) +"dTS" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTU" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dTX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Aft Starboard Solar Access"; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dTZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(); req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUb" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUd" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "aft_starboard_solar_pump"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "aft_starboard_solar_airlock"; layer = 3.3; pixel_x = 0; pixel_y = 25; req_access = list(13); tag_airpump = "aft_starboard_solar_pump"; tag_chamber_sensor = "aft_starboard_solar_sensor"; tag_exterior_door = "aft_starboard_solar_outer"; tag_interior_door = "aft_starboard_solar_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "aft_starboard_solar_sensor"; layer = 3.3; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/industrial/warning/cee{icon_state = "warningcee"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUe" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "aft_starboard_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUf" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.3; master_tag = "aft_starboard_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(); req_one_access = list(11,24)},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUg" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUh" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUi" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUj" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUk" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftportsolar"; name = "Aft Port Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dUl" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Port"; dir = 1},/obj/machinery/light/small,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dUm" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/plating,/area/maintenance/solars/aftportsolar) +"dUn" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUo" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUq" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dUr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dUs" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dUt" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/turf/simulated/floor/reinforced/airless,/area/thirddeck/roof) +"dUu" = (/obj/structure/ladder,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dUv" = (/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dUw" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dUx" = (/obj/structure/cable,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/table/steel,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/obj/item/stack/cable_coil/yellow,/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUy" = (/obj/machinery/light/small,/obj/machinery/camera/network/engineering{c_tag = "ENG - Solar Aft Starboard"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUz" = (/obj/structure/cable/yellow,/obj/machinery/power/solar_control{id = "aftstarboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/turf/simulated/floor/plating,/area/maintenance/solars/aftstarboardsolar) +"dUA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dUB" = (/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUC" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/table/steel,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUD" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUE" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftport) +"dUF" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/item/clothing/glasses/meson,/obj/random/maintenance/cargo,/turf/simulated/floor,/area/maintenance/thirddeck/aftport) +"dUG" = (/obj/structure/table/rack{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/medical,/turf/simulated/floor,/area/maintenance/thirddeck/aftstarboard) +"dUH" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dUI" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dUJ" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) +"dUK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftportsolar) +"dUM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/airless,/area/solar/aftstarboardsolar) +"dUN" = (/turf/space,/area/syndicate_station/thirddeck) +"dUO" = (/obj/effect/landmark/map_data{height = 3},/turf/space,/area/space) +"dUP" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dUQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dUR" = (/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Port"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 6},/obj/effect/floor_decal/corner/paleblue/border{dir = 6},/obj/structure/closet/secure_closet/medical_wall{name = "defibrillator closet"; pixel_y = -31},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dUS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/obj/structure/closet/medical_wall{pixel_x = 0; pixel_y = -31},/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dUT" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/port) +"dUU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "Medbay"; sortType = "Medbay"},/turf/simulated/floor/tiled/white,/area/medical/medbay2) +"dUV" = (/obj/structure/lattice,/obj/structure/cable/green{d1 = 32; icon_state = "32-1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/zpipe/down/supply{dir = 1},/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{dir = 1},/turf/simulated/open,/area/maintenance/substation/cargo) +"dUW" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cash_register/civilian{dir = 4; icon_state = "register_idle"; tag = "icon-register_idle (EAST)"},/obj/machinery/door/blast/shutters{dir = 8; id = "kitchen"; layer = 3.3; name = "Kitchen Shutters"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dUX" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lime/border{dir = 1},/obj/effect/landmark/start{name = "Botanist"},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dUY" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/obj/effect/landmark/start{name = "Botanist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/hydroponics) +"dUZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/random/medical/lite,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dVa" = (/obj/structure/table/glass,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dVb" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft) +"dVc" = (/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/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dVd" = (/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"; req_one_access = list(5,12,19,25,27,28,35)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/medical/first_aid_station/seconddeck/aft) +"dVe" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/structure/closet/secure_closet/medical_wall{name = "defibrillator closet"; pixel_y = -31},/obj/item/device/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dVf" = (/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/obj/structure/bed/roller,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dVg" = (/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/structure/closet/medical_wall{pixel_x = 0; pixel_y = -31},/obj/item/roller,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Civilian"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/aft) +"dVh" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dVi" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVj" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dVk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D2) +"dVl" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVm" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVo" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVp" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D1) +"dVq" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVr" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plating,/area/hallway/secondary/entry/D3) +"dVs" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/tcomm/tcomfoyer) +"dVt" = (/obj/random/plushielarge,/turf/simulated/floor/plating,/area/maintenance/locker) +"dVu" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) +"dVv" = (/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10620,119 +10668,119 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaagaadaaaaabaafaaaaaaaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaafaadaadaadaafaaiaaaaaaaaaaaaaaaaaaaaaaamaaqaaqaaqaakaakaalaakaakaaaaafaaaaamaaaaaaaaaaaaaaaaaaaaaaanaafaafaagaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaagaafaaaaafaaaaaaaaiaajaataataaHaataataajaamaaIaakaamaamaaoaapaaoaamaamaakaakaamaaqaaqaaqaaraaqaaqaaqaanaaaaaaaafaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaadaaaaaaaafaaaaaaaaiacMafnadoafoadoafnafXaamagoaauaasaavaawaaxaayaazaaAaaBaaCaakaaDaaEaaDaamaaFaaGaaFaanaaaaaaaafaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaafaafaaaaaaaafaaaaaaaaiaieafnafnafnafnafnakaaamakEaaJaaKaaLaaMaaNaaOaaOaaOaaPaaQaalaaDaaRaaDaamaaFaaSaaFaanaaaaaaaafaaaaaaaadaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaTaaaaaaaaaaaiaaUaaVaaiaskaxtaxtaxtaxtaxtaFZaamaaWaaXaamaaYaaZabaabbabcaaBabdabeaakabfabgabfabhabiabjabiaanabkablaanaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaiabmabmaaiaGoaGZaGZaHCaGZaGZaKjaamaamaamaamaamabnaboaaBaamabpaamaamaamaaDabqaaDabhaaFabraaFaanabsabsaanaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaadaafaafaafabtabuabvabwaMhaWuaRPbbzaWMbbJbbFabxabyabzabAabxabBabCabDabhabEabFabGabhabHabIabHabhabJabKabJabLabMabNabOaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaabPabQabRabSbbSbbSbkubuybsTbbSbbSabxabTabUabVabxabWabXabYabhabZacaacbabhaccacdaceabhaccacfaceacgachaciacjaaaaaaaaaaadaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaadaadaadaadaafaagaadaadaadaafaafaaaaaaaafaadaadaadaadaaaaaaaaaaaaackaclacmacnaataataajbHqaajaataatabxacoacpacoacqacracsactabhacuacvacwacxacyaczacAabhacyacBacCacDacEacFacGaaaaaaaaaaaaaadaadaagaaaaaaaaaaaeaadaadaadaadaadaadaafaagaadaadaadaaTaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaabaaaaaaaaaaaiacHacIacJacKacLbHBbLdacNacOacPacQacPacRacLacLacSacTacLacLacUacLacVacWacXacYacZadaacZacWadbadcaddadeaanaaaaaaaaaaabaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadhaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaadiadjadkadladmadnbOvbTbbSSadpadqadnadradsadnadnadtaduadnadnadvadnadnadnadqadwadxadyadnadpadzadAadBadCadDaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaadiadiadEadFadGadHadHadHadIadHadHadHbTdadJabYabhadKadLadMadNadOadPadQadRadSadTadUadTadSadVabhabhadcadWadXadDadDaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaadYadYadYadYadYadYadYadYadYadYadYadYadYadYadYadYadYaaaaaaaaaadiadiadZaeaaebadGaecaedaeeaefaegaehadHaeiaejaeiaekaekaelaemaenabhabhaaaaaaaaaaeoaepaeoaaaaaaaaaabhaanadWaeqaeradDadDaaaaaaaaaaesaesaesaesaesaesaesaesaesaesaesaesaesaesaesaesaesaaaaaaaaaaaaaadaaaaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafadYadYaetaeuaevaevaevaevaevaevaevaevaevaevaevaewaetadYadYaaiadiadiaexaeyaezaeAadGaeBaeCaeCaeDaeDaeEadHbTkaeFaeGaeHaeiaeIaeJaeKabhaaaaaaaeLaeLaeLaeMaeLaeLaeLaaaaaaaanaeNaeqaeOaeOadDadDaanaesaesaePaeQaeRaeRaeRaeRaeRaeRaeRaeRaeRaeRaeRaeSaeTaesaesaafaafaafaadaaaaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaadYaeUaeVaeWaeXaeXaeXaeYaeZafaafbaeYaeXaeXaeXafcaeVafdadYafeaffafgafhafiafjafkadGaflaeDafmaeCaeDaeEadHbZGbVyafpafqaeiafrafsaftabhaaaaaaaeLafuafvafwafxafyaeLaaaaaaaanaeNaeqafzafAafBafCafzaesafDafDafDafEafEafEafEafEafEafEafEafEafEafEafFafGafHaesaaaaaaaaaaadaaaaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaaaaaaaaaadYaeUaeVaeWaeXaeXaeYafIafJafKafLafIaeYaeXaeXafcaeVafMafNafeafOafPafQafRafSafTadGafUaeDaeCaeCafVafWadHciccgnafYafZaeiagaagbagaabhaaaaaaaeLagcafvagdafvageaeLaaaaaaaanagfaggaghagiagjagkafzaglafDaePafDafEafEafEafEafEafEafEafEafEafEafEagmafGafHaesaaaaaaaaaaadaadaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaadYaeUaeVaeWaeXaeXagncieagpagqagpagragnaeXaeXafcaeVagsadYagtaguagvagvagwagvagvadGagxagyaeDaeCaeCagzadHaeiagAaeiagBaeiagCagDagCabhaaaaaaaeLagEagFagGagHagIaeLaaaaaaagJagKagKagLagKagKagMagNaesagOafGagPafEafEafEafEafEafEafEafEafEafEafEagmafGafHaesaaaaaaaaaaaaaadaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaagtadYagQagRaeWaeXaeXaeYagSagnagTagnagSaeYaeXaeXafcagUagVadYadYagWagvagXagYagZahaadGahbahcahdaheaeCahfcjzaeiahgaeiahhaeiahiahjahkabhaaaaaaaeLahlafvahmahnahoaeLaaaaaaagJahpahqahrahsagKahtaesaesahuahvahwafEafEafEafEafEafEafEafEafEafEafEagmahxahyaesahzaaaaaaaaaaadaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafadYadYadYahAaeWaeXaeXagnahBahBagqahBcjTagnaeXaeXafcahCadYadYagtahDagvahEahFahGahHadGadGadGadGahIahIahIadGaekaekaekaekaekahJahjahKabhabhaafaeLaeLaeLaeLaeLaeLaeLaafagJagJagJahqahLahMagKahNahzaesaesahOahPafEafEafEafEafEafEafEafEafEafEafEagmahQaesaesaesaafaafaafaadaaaaaaadfadfadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaagtadYaeUahRaeWaeXaeXahSahTagqagqagqahUahSaeXaeXafcahRahVadYafeahDahWahXahFahYahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahZaiaaibaicaidcktahZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagJaifahLahqaigahNafzaesaihaiiahPafEafEafEafEafEafEafEafEafEafEafEagmaiiafHaesahzaaaaaaaaaaadaadaaaaaaadfadfadfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaadaadaadaaaaaaaaaaaaaaaadYaeUahRaeWaeXaeXaeYaijaikagqailaimaeYaeXaeXafcahRahVadYafeahDagvainaioahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahZaipaiqahjairabFahZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagJagJaisaitagKahNaiuaesaihaiiahPafEafEafEafEafEafEafEafEafEafEafEagmaiiafHaesaaaaaaaaaaaaaaaaadaafaafaadaadaadaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaadYaivaiwaeWaeXaeYaeYagSagnaixahSagSaeYaeYaeXafcaiyaizadYaiAahDagvahHahHahHaaaaaaaaaaaaaaaaaaaiBaiBaiCaiCaiCaiBaiDaiEaiFahjaiGaiHaiIaiJaiKaiKaiKaiJaiJaaaaaaaaaaaaaaaaaaagJagJagJagKaiLaiMaesaiNaiOahPafEafEafEafEafEafEafEafEafEafEafEagmaiPaiQaesaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaadYaeUaiRaeWaeXaeYagqclVagqagqagnaiSaiTaeYaeXafcaiRahVadYaiUahDaiVacJaaaaaaaaaaabaaaaaaaiCaiCaiBaiWaiXaiYaiZajaajbajcajdahjajeajfajgajhajiajjajkajlaiJaiKaiKaaaaaaaabaaaaaaaaaadcajmaiLajnaesaihajoahPafEafEafEafEafEafEafEafEafEafEafEagmajoafHaesaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaadYaeUaiRajpaeXajqagqagqagqagqajrajsajtajuaeXafcaiRahVadYagtajvajwacJaaaaaaaaaaaaaaaaiCaiCajxajyajzajAajBajCajDajEajFajGajHajIajJajKajLajMajNajOajPajQajRaiKaiKaaaaaaaaaaaaaaaadcajSajTahzaesaihajoahPafEafEafEafEafEafEafEafEafEafEafEagmajoafHaesaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajUajUajUajUajUajUajUajUajUajUajUajUajUadYadYajVajpaeXaeYajWajXajWajWajYajZcmeaeYaeXafcakbadYadYadYahDakcacJaaaaaaaaaaaaaiCaiCajxakdakeakeakfakgakhakiakjakkaklakmaknakoakpakqakraksaktakuakuakvajRaiKaiKaaaaaaaaaaaaadcakwahNaesaesaesakxahPafEafEafEafEafEafEafEafEafEafEafEagmakyaesaesakzakzakzakzakzakzakzakzakzakzakzakzakzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakAakAakBakBakBakCakBakBakCakBakBakBakDadYcnNakFajpaeXaeYakGahSakHakIakJakKakLaeYaeXafcakMakNadYagtahDacJacJaaaaaaaaaaiCaiCajxajxakOajxakPakQakQakQakQakQakQakQakQakQakQakQakQakRakRakRakSajRakTajRajRaiKaiKaaaaaaaaaadcadcahNahzaesakUakVahPafEafEafEafEafEafEafEafEafEafEafEagmakWahyaesakXakXakXakXakXakYakXakXakXakXakXakYakZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakAakBalaalbalcaldalealfalgalhalialjalkadYctWaiRaeWaeXahSahSagSaeXaeXaeXagSahSahSaeXafcaiRahVadYallahDadiaaaaaaaaaaaaaiCajxakdakealmalnakQakQakQakQakQakQakQakQakQakQakQakQakQakRakRakRakRaloalpakuakvajRaiKaaaaaaaaaaaaadDahNalqaesaihalrahPafEafEafEafEafEafEafEafEafEafEafEagmajoafHaesakXalsakXakXakXakXakXakXakXakXakXakXakZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakAaltalualvalvalvalvalvalvalvalwaljalkadYalxaiRaeWaeXalyalzaeXaeXaeXaeXaeXalyalzaeXafcaiRalAadYalBahDadiaaaaaaaaaaiBaiBalCakOajxalDalEakQakQakQalFalGalHalIalJalKalLalIalMalNalOalPalQakRalRalSajRakTalTaiJaiJaaaaaaaaaadDahNalUaesaihalrahPafEafEafEafEafEafEafEafEafEafEafEagmajoalVaesakXakXakXakXakXakXalWakXakXakXakXakXakZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakAakBalaalXalYalZalvamaambamcamdaljalkadYameamfamgamhamhamhamhamhamhamhamhamhamhamhamiamjamkadYamlahDadiaaaaaaaaaaiBammamnakOakPamoamoamoakQakQampampampampampamqamramsamsamtamuamvamwakRakRakRakSakTamxamyaiJaaaaaaaaaadDahNamzaesamAamBamCamDamDamDamDamDamDamDamDamDamDamDamEamFcuKaesakXakXakXakXakXamGamHakXakXakXakXakXakZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakAakAakBakBakBakCamIamIakCakBakBakBamJadYamKamLamMamMamNamMamMamOamPamQamRamSamSamSamSamTalAadYamUahDacJacJaaaaaaaiCamVamWamXamoamoamYamZamoakQanaanbancandaneaneanfanganhanianjakRankakRanlakRakRanmannanoaiKaaaaaaadcadcahNanpaesanqanransansansansantanuanvanwanxanxanyanxanxanzcuZaesakYakXakXakXanAakXakXakXakXakXakXakXakZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaajUajUajUajUajUajUajUanBanBanCanCanCanCanCadYadYadYadYadYadYadYadYanDagtanEadYanFanFanFadYadYadYadYafeanGanHacJaaaaaaaiCanIanJanKanLanManNanOamoakQampanPanQanRaneaneanSanTanUanVanWanXanYanZaoaaobakRaocaodaoeaiKaaaaaaadcaofaogaohaesaesaesahzaoiaoiaoiahzaojahzaokahzaesaesaesaesaesaesaesaolaolaolaolaolaomaomakzakzakzakzakzakzakzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafajUajUaonaooaopaoqaorajUaosaosaotaouaovaowaoxaoyaozaoAaoBaoCaoCaoDaoyaoEaoEaoFaoGaoHaoIaoJaoGaoKafeacJaoLaoMaoNacJaaaaaaaiCaoOaoPaoQamoaoRaoSaoRamoakQampampampampampaoTaoUaoUaoUaoVaoWaoXaoYaoZapaapbakRapcapdapeaiKaaaaaaadcapfafzapgaphapiapjapkaplapmapnapkapoappappapqaprapsapsaptapuapvapqapwapxapyapzapAapBapBakzapCapDapEapFapGakzakzaafaafaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaajUajUapHapHaooapIapJapJapKapLapMapNapOapPapQapRaoyaozapSapTaoCaoCaoCaoyapUapUapVapWapXapYapZaoGaqaaqbaqcaqdaqeaqfacJaaaaaaaiBaqgaqhaqiamoaqjaqkaqjamoakQaqlaqmaqnaqoaqpaqqaqraqoaqsaqtaquaqvaqwaqxaqyaqzakRaqAapdaqBaiJaaaaaaadcaqCafzafzafzafzafzaqDaqEaqFaqGaqHaqIaqJaqJapqaqKaqLapsaqMapuapuapqaqNaqOaqPaqQaqRaqSaqTaqUaqVaqVaqVaqVaqVaqVakzakzaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaajUaqWaooajUajUajUajUajUajUaqXaqYaqYaqYaqZaraarbaoyarcaoCapTardarearfaoyargarhariaoGarjarkarlaoGarmarnaroarparqarracJarsarsartaruarvajbalEaqjaqkaqjamoakQakQakQakQakQakQakQakQakQakQakQakRakRakRalOarwarxakRaryarzarAarBarCarCadcarDafzarEarEarEarEapkarFarGarHapkarIarJarKapqarLarMarNaqMarOapuapqarParQarRarSarSarSaolakzakzakzakzakzakzakXakYakzaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaajUarTaooajUarUarUarUarUarUaqXarVarWarXarYarZasaasbascaoyasdaoyaoyaoyaoyaseasfasgashaoGaoGaoGaoGasiacJaqYaqYacJasjaqYcwFaslasmasnasoaspasqasqasrasqasqassassassassastastastastastasuasvaswasxasyaszasAasBasuasCasDasEasFasGasHasIasJadcasIasIasIasIapkapkapkapkasKasLasMasNapqapqapqapqasOapqasPasQasRasSasTasIasUasVasWasXasXasXasXasXakzakXakXakzaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaafaaaaaaaaaasYasZaooajUarUarUarUarUarUataatbatcatdateatfatgathatiateatjathatkatbatlatmatnatoatpatpatpatqatratsattatuatvatwatxatyatzatpatAatBatCatDatEatFatGatHatIatJatKatLassastastastastastasuatMatNatOasyatPatQatRasuatSatTatUatVatWatXatYatZauaaubaucaudaueaufatVaugatWatWauharJatVauiaujaukaueaulatVaumaueaunauoatVaupauqatWaurasXasXasXasXasXakzausakXautaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafasYaooauuajUarUarUarUarUarUauvauwauxauyauyauzauAauAauBauCauDauAauEauAauAauFauGauHauAauAauCauAauAauEauAauIauJauKauLauAauMauAauAauNauOauAauPauQauRauSauTauUauVauWassastastastastastasuauXauYauZavaavbavcavdasuaveavfavgavhavhaviavhavjavkavlavmavnavoavpavpavqavpavpavravsavpavpavqavtavpavuavpavvavpavpavwavxavxavyavzavAasXasXasXasXasXakzavBakXautaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaafaaaaaaaaaasYaooavCajUarUarUarUarUarUavDavEavFavGavHavIavJavKavLavMavNavOavEavEavPavQasfavRavEavEavSavHavTavKavUavVavWavXavYavZawaawbawcawdaweatDawfatFawgawhawiawjawkawlassastastastastastasuawmawnawoasyavdawpawqasuawrawsawtarKawuawvawwawxawyaubawzawAawBawCawDawuawuawuawEarJarKawFawuawGawHawIarKawJawBawKawLarKawMawNawuawOasXasXasXasXasXakzawPakXautaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaajUaooaooajUawQarUarUarUarUaqXawRawSaqYawTawUawVawWawXawVawYawVawVawVawVawZasfaxaaqYaqYaqYaqYaqYaqYaqYaqYaqYaxbaxcaqYaxdaxeaxfaxgaxhaxiaxjasqasraxkasqasqasqasqassaxlastastastastasuaxmaxnaxoasyaszasAaszasuaxpaxqaxraxsasUcynasIaxuaxvasIasIasIasIaxwaxwaxwaxwaxxaxyaxzaxAaxBaxBaxBaxBaxCaxBaxDaxEaxFaxGaxHaxIasUaxJasWaxKasXasXasXasXakzaxLakXakzaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaajUaxMaooajUajUajUajUajUajUaqXaqYaqYaqYaxNaooawVaxOaxPaxQaxRaxSaxPaxTawVaxUaxVaxWaxbaxXaxYaxZayaayaaybaycaydayeayfaxbarsarsaygayhayiayjaykaylaymaynayoaykaypayqayrayraysaytayuayrasuasuasuasuasuasuayvasuasuaywayxayyayzarCarCaxvayAayBayCayDayEayFaxwayGayHayIaxwayJarJayKaxBayLayMaxBayNayOayPaxBayQayRaySayTayTayTayUakzakzakzakzakzakzaqVakXakzaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaajUajUaooaooaooaooapHapHapHapHapHayVayWayWayXawVaxOaxPaxPayYaxPaxPaxTawVayZazaazaazbaxZaxZazcazcazcazcazcazcazcazdaxbaaaaaaazeazfazgazhaziazjazkazlazmaziaznazoazpazqazrazsaztazuazvazwazxazyazzazAazBazCazzazDazEazFazGaaaaaaaxvazHayBazIazIazIazIazJazKazLazMazNazOazPazPaxBazQazRazSayNazTazUaxBazVazWazXazYazZaAaaAbaAcaAdaAdaAeaqVaqVaqVakzakzaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafajUajUaAfaAfaAgaAhaAiaAjaAkaAlawTaAmaAmaAmawVaxOaAnaxPaAoaxPaApaAqawVaAraAsaAsaAtaAtaAtaAtaAtaAtaAtaAtaAuaAvaAwaxbaaaaaaaAxaAyaAzaAAaABaACaADaAEaAFaAGaAHaAIaAJaAJaAKaAJaALaAMazvaANaAOaAPaAQaARaASaATazzaAUaAVaAWaAXaaaaaaaxvaAYayBazIaAZaBaaBaaxwaBbaBcaBdaxwapoappappaxBaBeaBfaxBaBgazRaBhaxBaBiaBjaBkaBlaBmaBnaBnakzaBoakXaBpaBqaBrakzakzaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaajUajUaAfaBsaBsaBsaBsaBtaBtaBsaBsaBuaBsaBsaBsaBsaBsaBsaBsaBsaBsaBvaBwaBxaByaAtaBzaBAaBBaBCaBDaBEaAtaxbaBFaBGaxbaaaaaaaAxaBHaBIaBJaziaBKaBLaBMaBNaBOaBPaBQaBRaBSaBTaBUaBVaBWazvaBXaBYaBZaCaaCbaCcaCdazzaCeaCfaCgaAXaaaaaaaxvaChaCiazIaCjaCjaCjaCkaClaClaClaCkaCmaCkaCnaCkaCjaCjaCjaCjaCjaCjaCjayUayUayUayUayUaCoaCoakzakzakzakzakzakzakzaaaaaaaaaadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTakAaBtaCpaCqaCraCsaCtaCuaCvaCwaCxaCtaCyaCzaCAaCBaCCaCDaCEaCFaCGaCHaCIaCJaCKaCLaCMaCMaCMaCNaAtaCOaCPaxbaxbaaaaaaaAxaCQaCRaCSaCTaCTaykaykaykaykaCUaCVaCWaCXaCYaCZaDaaDbaDcaDdaDeaDfazzaDgaDhazzazzaDiaDjaDkaAXaaaaaaaxvaxvaDlaDmaCjaDnaDoaDpaDpaDpaDpaDqaDraDsaDtaDuaDuaDvaDuaDuaDwaDxaCjaDyaDzaDzaDzaDAaDBaDBaDCaDzaDzaDzaDDaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTakAaBtaDEaDFaDGaDHaDHaDIaDJaDJaDKaDLaDMaDNaDNaDOaDPaDQaDRaDSaDTaDUaDVaDWaDXaDYaDZaCMaCMaEaaEbaCOaCPaEcaaaaaaaaaazeaEdaEeaEfaEgayrayraEhaEhaEiaEjaEkaBUaBUaBUaElaBVaEmaEnaEoaEpaEqazzazzazzazzaEraEsaEtaEuazGaaaaaaaaaaEvaDlaEwaCjaExaEyaEzaEAaEAaEAaEAaEAaEAaEAaEAaEAaEAaEAaEBaECaEDaCjaEEaEFaEGaEHaEIaEJaEKaELaEMaENaEOaDzaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTakAaBtaDEaEPaEQaERaERaERaERaERaEQaESaETaDPaDPaEUaDPaDPaEVaEWaEXaEYaEZaFaaFbaCMaFcaFdaFeaFfaAtaCOaCPaEcaaaaaaaaaazeazeaFgaEfaEfaFhaEiayraEhaEiaFiaFjaFkaFlaBUaFmaFnaFoazvaFpaFqaFqaFrazzaFsaFtaFuaEsaFvazGazGaaaaaaaaaaEvaDlaFwaCjaDnaFxaFyaFzaFAaFBaFzaFzaFzaFzaFzaFAaFBaFzaFCaFxaFDaCjaEEaEFaFEaEKaEKaEKaEKaEKaEKaEKaFFaFGaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTakAaBtaDEaEPaERaERaERaERaERaERaERaESaFHaDPaDPaEUaDPaDPaFIaBxaFJaFKaFLaFMaFNaFOaFPaFQaFRaFSaAtaxbaFTaEcaaaaaaaaaaaaaAxaEfaEfaEfaEfaFUayrayrayraFVayraFWaFXaFYaBUaGaaGbaGcaGdaGeaGfazvazvaGgaGhaGiaGjaFuaAXaaaaaaaaaaaaaEvaDlaGkaCjaGlaFxaFyaFzaGmaGmaGnaFzaFzaFzaGnaGmaGmaFzaFCaFxcBpaCjaEEaEFaGpaGqaGraGsaGtaGuaGvaGwaEOaDzaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTakAaBtaGxaEPaERaERaERaERaERaERaERaGyaGzaGzaGzaEUaDPaDPaGAaBxaGBaGCaGDaDWaDWaFMaGEaDWaDWaDWaDWaGFayfaxbaxbaaaaaaaaaaAxaAxaEfaEfaEfaEfaEgaGGaGHaGHaGHaGIaGJaGKaGLaGMaGNazvazvazvazvazvaEraFuaEsaFuaFuaAXaAXaaaaaaaaaaxvaxvaDlaCkaCjaGOaGPaFyaFzaGQaGRaGSaGTaGUaGVaGWaGXaGQaFzaFCaGYcBxaCjaHaaDzaDzaDzaDAaDzaDzaDCaDzaDzaDzaDDaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajUajUaBsaDEaEPaERaERaERaERaERaERaERaHbaHbaHbaHcaEUaDPaDPaHdaDSaHeaGCaHfaHgaHhaCHaHiaDSaCOaHjaHkazcayfaHlaxbaaaaaaaaaaaaaAxaAxaEfaEfaEfaEfaHmaHnaHoaHpayjaHqaHraHsaHtaHuaHvaHwaHxaHyaHzaGiaGiaGjaFuaAXaAXaaaaaaaaaaaaaxvaHAaDlaCjaCjaCjaHBaFyaFzaGQcByaHDaHEaHFaHFaHGaHFaGQaFzaFCaHHaCjaCjakzakzakzakzakzakzakzakzakzakzakzakzakzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaDEaEPaERaERaERaERaERaERaERaHIaHJaHKaHJaHLaDNaDNaHMaHNaHOaHPaHQaHRaHSaHRaHTaHUaCOaHjazcazcaHVaHWaxbaaaaaaaaaaaaaaaaAxaAxaEfaHXaHYaHZaIaaIbaIcaIdaIeaIfaIgaIhaIiaIjaIkaIlaImaInaIoaIpaFuaAXaAXaaaaaaaaaaaaaaaaxvaIqaIraCkaCjaGlaFxaFyaFzaIsaItaIuaIvaIwaIwaIwaIwaIxaFzaFCaFxaIyaCjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaBsaIzaEPaERaERaERaERaERaERaERaESaDPaDPaIAaEUaIBaICaIDaIEaIFaIGaIHaIIaIJaIKaILaDSaCOaIMaINazcayfaIOaxbaaaaaaaaaaabaaaaaaaAxaAxazeaIPaIQaIRaISaHpayjaHqaITaIUaIVaIWaIXaIYaIZaJaaJbaJcazGaAXaAXaaaaaaaabaaaaaaaaaaxvaJdaDlaJeaCjaGlaFxaFyaFzaGQaJfaJgaJhaIwaIwcBFaIwaGQaFzaFCaFxaIyaCjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaJiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaBsaDEaEPaERaERaERaERaERaERaERaGyaGzaJjaGzaJkaBsaBsaBsaBvaBvaBvaJlaJmaJnaJmaJmaDSaxbaxbaxbaxbayfaJoaJpaJpaJpaaaaaaaaaaaaaaaaaaazeazeaAxaAxaAxazeazeaJqaJraIUaJsaJtazGazGaAXaAXaAXazGazGaaaaaaaaaaaaaaaaaaaJuaJuaJuaJvaDlaJwaCjaJxaJyaFyaFzaGQaGQaGnaGmaJzaJhaGnaGQaGQaFzaFCaJAaJBaCjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaBsaDEaEPaERaERaERaERaERaERaERaJCaJCaJCaJDaJEaBsaJFaJFaJFaJFaJFaJlaJGaJHaJIaJmaJJaJJaJJaJJaxbayfaJoaJKaJLaJpaJpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJMaJNaJOaIUaJPaJQaJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJuaJuaJRaJSaJvaDlaJTaCjaGlaJUaFyaFzaFzaGQaJVaJWaIwaJXaJYaGQaFzaFzaFCaJUaIyaCjaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaBsaDEaEPaERaERaERaERaERaERaERaHIaHJaHJaHJaEUaJZaJFaJFaJFaJFaJFaJlaKaaKbaKcaJmaKdazcazcazcaKeayfaKfaKgaKhaKiaJpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJMcLGaKkaKlaKmaKnaJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJuaKoaKpaKqaKraDlaKsaCjaGlaJUaFyaFzaFzaGmaKtaIwaIwaIwaKuaGmaFzaFzaFCaJUaIyaCjaCkaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaBsaKvaEPaERaERaERaERaERaERaERaESaDPaDPaDPaKwaKxaJFaJFaJFaJFaJFaJlaKyaKzaKAaJmazcazcazcaKBaxbaKCaJoaKDaKhaKEaJpaaaaaaaaaaaaaKFaKGaKHaKGaKIaaaaaaaKJaKJaKKaIUaKLaKMaKMaKMaKMaKMaKMaKNaKNaKNaKMaKMaKMaKMaJuaKOaKpaKPaJvaDlaCkaCjaCjaKQaKRaFzaFzaJhcLHaKSaIwaKSaKSaJhaFzaFzaFCaKTaCjaCjaCjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaBsaDEaEPaERaERaERaERaERaERaERaESaKUaDPaDPaEUaKVaJFaJFaJFaJFaJFaJlaJmaKWaJmaJmaKXaKYaKZaLaaLaaLbaJoaLcaKhaLdaJpaaaaaaaaaaaaaLeaLfaLgaLhaLeaaaaaaaaaaKJaLiaIUaLjaLkaLlaLmaLnaLoaKNaLpaLqaLraLsaLtaLuaKMaLvaLwaKpaKqaJvaLxaCjaCjaLyaLzaKRaFzaFzaGQaGnaJhaLAaJhaGnaGQaFzaFzaFCaLBaLCaCjaCkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaBsaDEaEPaEQaERaERaERaERaERaEQaESaLDaLEaLFaLGaBsaLHaJFaJFaJFaJFaLaaCOaCOaCOaxbaxbaxbaxbaLaaLIaKCaJoaJoaLJaJoaJpaLKaLKaLKaLLaLeaLMaLNaLOaLeaLPaLKaLKaLKaLQaLRaLQaKMaLlaLSaLTaLUaLVaLWaLXaLYaLZaMaaLuaKMaJvaJvaMbaJvaJvaMcaCkaCjaMdaMeaKRaFzaFzaJhaMfaMgaIwaMgcMcaJhaFzaFzaFCaMeaIyaCjaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaBsaMiaMjaMkaMlaMlaMmaMnaMnaMoaMpaMqaBtaBtaBtaBsaLaaLaaLaaLaaLaaLaaMraMraMraMsaMtaxbaMuaMvazcaMwaMxaMyaMzaMAaMBaLKaMCaMDaMEaMFaMGaMHaMGaMFaMIaMJaMKaLKaMLaMMaMLaKMaMNaMOaMPaMQaMRaMSaMTaMUaMVaMWaLuaKMaMXaMYaMZaNaaNbaNcazIaNdaNeaMeaFyaFzaFzaGQaGWaNfaNgaNhaGWaGQaFzaFzaFCaMeaIyaCjaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaBsaBsaNiaNjaNkaNkaNlaNkaNkaNmaNnaNoaBuaCOaNpazcazcazcaNqazcazcazcazcazcaNrazcazcaNsazcazcazcazcazcazcazcaKCaNtaLKaNuaNuaNvaNwaNxaNyaNzaNAaNBaNuaNCaLKaHraNDaNEaKMaNFaNGaNHaNIaNJaNKaNLaNMaNNaNOaNPaKMaNQaNRaNSaNTaNUaNVazIaCjaNWaMeaFyaFzaFzaFzaGQaNXaNYaNZaGQaFzaFzaFzaFCaMeaIyaCjaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaBsaBsaBsaBsaBsaBsaBsaBsaBsaBsaBsaBsaCOaNpaLaaEcaEcaEcaEcaEcaLaaOaaObaLaaLaaLaaLaaLaaLaaLaaEcaEcazcazcayfaOcaLKaOdaNuaOeaOfaOfaOgaOhaOhaOiaNuaOjaLKaOkaOlaOmaKMaOnaOoaOpaOqaOraOsaOtaOuaOvaOwaOxaKMaOyaOzaOAaOBaEvaEvaOCaCjaCjaMeaODaOEaOEaOEaOEaOEaOEaOEaOEaOEaOEaOEaOFaOGaCjaCjaafaafaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaBsaLaaLaaLaaaaaaaaaaaaaaaaaLaaLaaLaaLaaaaaaaaaaaafaaaaaaaaaaEcaEcazcayfayaaLKaOHaOIaOJaOKaOLaOMaONaOOaOPaOQaMGaORaOSaOTaJPaKMaKMaOUaOVaOWaKNaOXaOYaOZaPaaPbaPcaKMaPdaPeaPfaEvaEvaaaaaaaaaaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaCjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaEcaEcayfaPgaLKaMGaMGaPhaMGaMGaPiaMGaMGaPjaMGaMGaPkaPlaOTaPmaPnaPoaPoaPpaPoaPoaPoaPoaPoaPqaPoaPoaKMaPraPsaEvaEvaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaEcaPtaPuaPvaPwaPxaPxaPyaPzaPAaPBaPxaPCaPxaPDaPEaPFaPGaPHaPEaPIaPJaPKaPLaPMaPEaPNaPOaPPaPPaPQaPRaPSaPTaEvaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaagaadaadaaTaagaagaadaadaafaagaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaabaaaaaaaaaaLaayeayeaxbaPUaPVaPVaPWaPXaPYaPZaQaaQbaPVaQcaQdaQeaQfaQgaQdaQhaQdaQiaQjaQkaQlaQmaQnaQdaQdaQoaxvayBayBaOCaaaaaaaaaaabaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaadaadaadaafaaeaagaadaadaadaafaaaaafaagaadaadaadaadaafaaeaaaaLaaLaaLaaLaaKJaKJaKJaQpaQqaQraQsaQtaQuaQtaQtaJqaJraQvaJsaJtaQwaQwaQwaQwaQxaQyaQzaQAaKJaKJaKJaOCaOCaOCaOCaafaafaadaadaadaadaJiaaaaadaafaadaadaadaadaadaadaadaaaaaeaJiaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaQBaQCaQCaQDaQCaQEaQFaQGaQHaQFaQIaQJaQKaQtaQLaQMaQvaQNaQLaQwaQOaQPaQQaQxaQRaQSaQTaQUaQVaQWaQVaQVaQXaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaaaaaaaaaaQYaaaaaaaaaaaaaaaaQYaaaaaaaaaaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQBaQZaRaaRbaRcaRdaReaRfaRgaQFaRhaRiaRjaRkaQLaRlaRmaJPaJNaQwaRnaQOaRoaRpaRqaRraRsaRtaRuaRvaRwaRxaQXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQBaQCaQCaQDaQCaQEaQFaRyaRzaQsaQtaQtaQtaQtaQLaRAaRBaRCaRDaREaRFaRGaRHaQxaRIaRJaQTaQUaQVaQWaQVaQVaQXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRKaQsaQsaQsaQsaQsaQsaRLaRMaQsaRNaROcOJaRQaRRaRSaRTaRUaRVaRWaRXaRYaRZaQxaSaaSbaQxaQxaQxaQxaQxaQxaScaaaaaaaaaaSdaaaaaaaaaaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQBaSeaSeaSfaSeaSgaQFaShaSiaSjaSkaRUaRUaRUaSlaRUaSmaSnaSoaSpaSqaSraSsaStaSuaSvaQTaSwaSxaSyaSxaSxaQXaaaaaaaaaaSdaaaaaaaaaaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQBaSzaSAaSBaSCaSDaSEaSFaSGaQsaSHaSIaSJaSKaQhaSLaSMaSNaRVaRWaSOaSPaSQaQxaSRaSSaSTaSUaSVaSWaSXaSYaQXaaaaaaaaaaSdaaaaaaaaaaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQBaSeaSeaSfaSeaSgaQFaSZaTaaQsaTbaJNaTcaTdaTeaTfaTgaTfaThaTdaTiaTjaTkaQxaTlaTmaQTaSwaSxaSyaSxaSxaQXaaaaaaaaaaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTnaToaToaToaToaToaQsaTpaTpaQFaTqaTdaTdaTdaTraTsaTtaTsaTuaTdaTvaTvaTvaQxaTwaTxaQxaToaToaToaToaToaTnaaaaSdaSdaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTyaTzaTAaTyaTBaTCaTDaTEaTFaTGaTHaTIaTJaTKaTLaTMaTNaTOaTPaTQaTRaTEaTRaTSaTFaTTaTUaTVaTWaTyaTXaTYaTyaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTZaUaaUbaUcaUdaUeaUfaUgaUhaUiaUjaUkaUkaUkaUkaUlaUmaUnaUkaUkaUkaUkaUoaUpaUqaUraUfaUeaUsaUtaUuaUvaUwaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaToaTvaTvaToaTvaUxaTvaUyaUzaUzaUyaTvaUxaTvaUAaUBaUCaUDaUEaTvaUxaTvaUyaUFaUFaUyaTvaUxaTvaToaTvaTvaToaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUGaUHaUIaUJaaaaaaaTvaTvaUKaULaUMaTvaTvaaaaaaaUGaUNaUOaUJaaaaaaaaaaaaaaaaaaaaaaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUPaUQaURaUSaaaaaaaaaaTvaTvaUxaTvaTvaaaaaaaaaaUPaUTaUUaUSaaaaaaaaaaaaaaaaaaaaaaaaaSdaSdaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTnaUVaUWaToaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaToaUXaUYaTnaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdaSdaSdaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaaaaaaaaaaUZaaaaaaaaaaaaaaaaUZaaaaaaaaaaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVaaSdaSdaSdaSdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaaaaabaaaaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQYaQYaQYaQYaQYaQYaQYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUZaUZaUZaUZaUZaUZaUZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaafaadaadaadaafaaiaaaaaaaaaaaaaaaaaaaaaaajaakaakaakaalaalaamaalaalaaaaafaaaaajaaaaaaaaaaaaaaaaaaaaaaanaafaafaagaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaagaafaaaaafaaaaaaaaiaaoaapaapaaqaapaapaaoaajaaraalaajaajaasaataasaajaajaalaalaajaakaakaakaauaakaakaakaanaaaaaaaafaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaadaaaaaaaafaaaaaaaaiaavaawaaxaayaaxaawaazaajaaAaaBaaCaaDaaEaaFaaGaaHaaIaaJaaKaalaaLaaMaaLaajaaNaaOaaNaanaaaaaaaafaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaafaafaaaaaaaafaaaaaaaaiaaPaawaawaawaawaawaaQaajaaRaaSaaTaaUaaVaaWaaXaaXaaXaaYaaZaamaaLabaaaLaajaaNabbaaNaanaaaaaaaafaaaaaaaadaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaabcaaaaaaaaaaaiabdabeaaiabfabgabgabgabgabgabhaajabiabjaajabkablabmabnaboaaJabpabqaalabrabsabrabtabuabvabuaanabwabxaanaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaiabyabyaaiabzabAabAabBabAabAabCaajaajaajaajaajabDabEaaJaajabFaajaajaajaaLabGaaLabtaaNabHaaNaanabIabIaanaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaadaafaafaafabJabKabLabMabNabOabPabQabRabSabTabUabVabWabXabUabYabZacaabtacbaccacdabtaceacfaceabtacgachacgaciacjackaclaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaacmacnacoacpacqacqacracsactacqacqabUacuacvacwabUacxacyaeUabtacAacBacCabtacDacEacFabtacDacGacFacHacIacJacKaaaaaaaaaaadaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaadaadaadaadaafaagaadaadaadaafaafaaaaaaaafaadaadaadaadaaaaaaaaaaaaacLacMacNacOaapaapaaoacPaaoaapaapabUacQacRacQacSacTacUacVabtacWacXacYacZadaadbadcabtadaaddadeadfadgadhadiaaaaaaaaaaaaaadaadaagaaaaaaaaaaaeaadaadaadaadaadaadaafaagaadaadaadabcaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaabaaaaaaaaaaaiadjadkadladmadnadoadpadqadradsadtadsaduadnadnadvadwadnadnadxadnadyadzadAadBadCadDadCadzadEadFadGadHaanaaaaaaaaaaabaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaadLadMadNadOadPadQadRadSadTadUadVadQadWadXadQadQadYadZadQadQaeaadQadQadQaebaecaedaeeadQadUaefaegaehaeiaejaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaadLadLaekaelaemaenaenaenaeoaenaenaenaepaeqaczabtaeraesaetaeuaevaewaexaeyaezaeAaeBaeAaezaeCabtabtadFaeDaeEaejaejaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaaaaaaaaaadLadLaeGaeHaeIaemaeJaeKaeLaeMaeNaeOaenaePaeQaePaeRaeRaeSaeTajdabtabtaaaaaaaaaaeVaeWaeVaaaaaaaaaabtaanaeDaeXaeYaejaejaaaaaaaaaaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaaaaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaeFaeFafaafbafcafcafcafcafcafcafcafcafcafcafcafdafaaeFaeFaaiadLadLafeaffafgafhaemafiafjafjafkafkaflaenafmafnafoafpaePafqafrafsabtaaaaaaaftaftaftafuaftaftaftaaaaaaaanafvaeXafwafwaejaejaanaeZaeZafxafyafzafzafzafzafzafzafzafzafzafzafzafAafBaeZaeZaafaafaafaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaeFafCafDafEafFafFafFafGafHafIafJafGafFafFafFafKafDafLaeFafMafNafOafPafQafRafSaemafTafkafUafjafkaflaenafVafWafXafYaePafZagaagbabtaaaaaaaftagcagdageagfaggaftaaaaaaaanafvaeXaghagiagjagkaghaeZaglaglaglagmagmagmagmagmagmagmagmagmagmagmagnagoagpaeZaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaaaaaaaaaaeFafCafDafEafFafFafGagqagragsagtagqafGafFafFafKafDaguagvafMagwagxagyagzagAagBaemagCafkafjafjagDagEaenagFagGagHagIaePagJagKagJabtaaaaaaaftagLagdagMagdagNaftaaaaaaaanagOagPagQagRagSagTaghagUaglafxaglagmagmagmagmagmagmagmagmagmagmagmagVagoagpaeZaaaaaaaaaaadaadaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaeFafCafDafEafFafFagWagXagYagZagYahaagWafFafFafKafDahbaeFahcahdaheaheahfaheaheaemahgahhafkafjafjahiaenaePahjaePahkaePahlahmahlabtaaaaaaaftahnahoahpahqahraftaaaaaaahsahtahtahuahtahtahvahwaeZahxagoahyagmagmagmagmagmagmagmagmagmagmagmagVagoagpaeZaaaaaaaaaaaaaadaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaahcaeFahzahAafEafFafFafGahBagWahCagWahDafGafFafFafKahEahFaeFaeFahGaheahHahIahJahKaemahLahMahNahOafjahPahQaePahRaePahSaePahTahUahVabtaaaaaaaftahWagdahXahYahZaftaaaaaaahsaiaaibaicaidahtaieaeZaeZaifaigaihagmagmagmagmagmagmagmagmagmagmagmagVaiiaijaeZaikaaaaaaaaaaadaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaeFaeFaeFailafEafFafFagWaimaimagZaimaimagWafFafFafKainaeFaeFahcaioaheaipaiqairaisaemaemaemaemaitaitaitaemaeRaeRaeRaeRaeRaiuahUaivabtabtaafaftaftaftaftaftaftaftaafahsahsahsaibaiwaixahtaiyaikaeZaeZaizaiAagmagmagmagmagmagmagmagmagmagmagmagVaiBaeZaeZaeZaafaafaafaadaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaahcaeFafCaiCafEafFafFaiDaiEagZagZagZaiFaiDafFafFafKaiCaiGaeFafMaioaiHaiIaiqaiJaisaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiKaiLaiMaiNaiOaiPaiKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsaiQaiwaibaiRaiyaghaeZaiSaiTaiAagmagmagmagmagmagmagmagmagmagmagmagVaiTagpaeZaikaaaaaaaaaaadaadaaaaaaadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaadaadaadaaaaaaaaaaaaaaaaeFafCaiUafEafFafFafGaiVaiWagZaiXaiYafGafFafFafKaiUaiGaeFafMaioaheaiZajaaisaisaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiKajbajcahUajdaccaiKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsahsajeajfahtaiyajgaeZaiSajhaiAagmagmagmagmagmagmagmagmagmagmagmagVajhagpaeZaaaaaaaaaaaaaaaaadaafaafaadaadaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFajiajjafEafFafGafGahBagWajkaiDahBafGafGafFafKajlajmaeFajnaioaheaisaisaisaaaaaaaaaaaaaaaaaaajoajoajpajpajpajoajqajrajsahUajtajuajvajwajxajxajxajwajwaaaaaaaaaaaaaaaaaaahsahsahsahtajyajzaeZajAajBaiAagmagmagmagmagmagmagmagmagmagmagmagVajCajDaeZaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFafCajEafEafFajFajGajHajIagZagWajJajKafGafFafKajEaiGaeFajLaioajMadlaaaaaaaaaaabaaaaaaajpajpajoajNajOajPajQajRajSajTajUahUajVajWajXajYajZakaakbakcajwajxajxaaaaaaaabaaaaaaaaaadFakdajyakeaeZaiSakfaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFafCajEakgafFakhagZagZagZagZakiakjakkaklafFafKajEaiGaeFahcakmaknadlaaaaaaaaaaaaaaaajpajpakoakpakqakraksaktakuakvakwakxakyakzakAakBakCakDakEakFakGakHakIajxajxaaaaaaaaaaaaaaaadFakJakKaikaeZaiSakfaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLakLakLakLakLakLakLakLakLakLakLakLakLaeFaeFakMakgafFafGakNakOakNakNakPakQakRakSafFafKakTaeFaeFaeFaioakUadlaaaaaaaaaaaaajpajpakoakVakWakWakXakYakZalaalbalcaldalealfalgalhalialjalkallalmalmalnakIajxajxaaaaaaaaaaaaadFaloaiyaeZaeZaeZalpaiAagmagmagmagmagmagmagmagmagmagmagmagValqaeZaeZalralralralralralralralralralralralralraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsalsaltaltaltalualtaltalualtaltaltalvaeFalwalxakgafFafGalyaiDalzagZalAalBalCafGafFafKalDalEaeFahcaioadladlaaaaaaaaaajpajpakoakoalFakoalGalHalHalHalHalHalHalHalHalHalHalHalHalIalIalIalJakIalKakIakIajxajxaaaaaaaaaadFadFaiyaikaeZalLalMaiAagmagmagmagmagmagmagmagmagmagmagmagValNaijaeZalOalOalOalOalOalPalOalOalOalOalOalPalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsaltalRalSalTalUalValWalXalYalZamaambaeFamcajEafEafFaiDaiDahBafFafFafFahBaiDaiDafFafKajEamdaeFameaioadLaaaaaaaaaaaaajpakoakVakWamfamgalHalHalHalHalHalHalHalHalHalHalHalHalHalIalIalIalIamhamialmalnakIajxaaaaaaaaaaaaaejaiyamjaeZaiSamkaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZalOamlalOalOalOalOalOalOalOalOalOalOalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsammamnamoamoamoamoamoamoamoampamaambaeFamqajEafEafFamramsafFafFafFafFafFamramsafFafKajEamtaeFamuaioadLaaaaaaaaaajoajoamvalFakoamwamxalHalHalHamyamzamAamBamCamDamEamBamFamGamHamIamJalIamKamLakIalKamMajwajwaaaaaaaaaaejaiyamNaeZamOamkaiAagmagmagmagmagmagmagmagmagmagmagmagVakfamPaeZalOalOalOalOalOalOamQalOalOalOalOalOalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsaltalRamRamSamTamoamUamVamWamXamaambaeFamYamZanaanbanbanbanbanbanbanbanbanbanbanbancandaneaeFanfaioadLaaaaaaaaaajoanganhalFalGanianianialHalHanjanjanjanjanjankanlanmanmannanoanpanqalIalIalIalJalKanransajwaaaaaaaaaaejaiyantaeZanuanvanwanxanxanxanxanxanxanxanxanxanxanxanyanzanAaeZalOalOalOalOalOanBanCalOalOalOalOalOalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsalsaltaltaltaluanDanDalualtaltaltanEaeFanFanGanHanHanIanHanHanJanKanLanManNanNanNanNanOamtaeFanPaioadladlaaaaaaajpanQanRanSanianianTanUanialHanVanWanXanYanZanZaoaaobaocaodaoealIaofalIaogalIalIaohaoiaojajxaaaaaaadFadFaiyaokaeZaolaomaonaonaonaonaooaopaoqaoraosaosaotaosaosaouaovaeZalPalOalOalOaowalOalOalOalOalOalOalOalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaakLakLakLakLakLakLakLaoxaoxaoyaoyaoyaoyaoyaeFaeFaeFaeFaeFaeFaeFaeFaozahcaoAaeFaoBaoBaoBaeFaeFaeFaeFafMaoCaoDadlaaaaaaajpaoEaoFaoGaoHaoIaoJaoKanialHanjaoLaoMaoNanZanZaoOaoPaoQaoRaoSaoTaoUaoVaoWaoXalIaoYaoZapaajxaaaaaaadFapbapcapdaeZaeZaeZaikapeapeapeaikapfaikapgaikaeZaeZaeZaeZaeZaeZaeZaphaphaphaphaphapiapialralralralralralralraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafakLakLapjapkaplapmapnakLapoapoappapqaprapsaptapuapvapwapxapyapyapzapuapAapAapBapCapDapEapFapCapGafMadlapHapIapJadlaaaaaaajpapKapLapManiapNapOapNanialHanjanjanjanjanjapPapQapQapQapRapSapTapUapVapWapXalIapYapZaqaajxaaaaaaadFaqbaghaqcaqdaqeaqfaqgaqhaqiaqjaqgaqkaqlaqlaqmaqnaqoaqoaqpaqqaqraqmaqsaqtaquaqvaqwaqxaqxalraqyaqzaqAaqBaqCalralraafaafaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaakLakLaqDaqDapkaqEaqFaqFaqGaqHaqIaqJaqKaqLaqMaqNapuapvaqOaqPapyapyapyapuaqQaqQaqRaqSaqTaqUaqVapCaqWaqXaqYaqZaraarbadlaaaaaaajoarcardareaniarfargarfanialHarhariarjarkarlarmarnarkaroarparqarrarsartaruarvalIarwapZarxajwaaaaaaadFaryaghaghaghaghagharzarAarBarCarDarEarFarFaqmarGarHaqoarIaqqaqqaqmarJarKarLarMarNarOarParQarRarRarRarRarRarRalralraaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLarSapkakLakLakLakLakLakLarTarUarUarUarVarWarXapuarYapyaqParZasaasbapuascasdaseapCasfasgashapCasiasjaskaslasmasnadlasoasoaspasqasrajSamxarfargarfanialHalHalHalHalHalHalHalHalHalHalHalIalIalIamHassastalIasuasvaswasxasyasyadFaszaghasAasAasAasAaqgasBasCasDaqgasEasFasGaqmasHasIasJarIasKaqqaqmasLasMasNasOasOasOaphalralralralralralralOalPalraaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLasPapkakLasQasQasQasQasQarTasRasSasTasUasVasWasXasYapuasZapuapuapuapuataatbatcatdapCapCapCapCateadlarUarUadlatfarUatgathatiatjatkatlatmatmatnatmatmaurauraurauratoatoatoatoatoatpatqatratsattatuatvatwatpatxatyatzatAatBatCatDatEadFatDatDatDatDaqgaqgaqgaqgatFatGatHatIaqmaqmaqmaqmatJaqmatKatLatMatNatOatDatPatQatRatSatSatSatSatSalralOalOalraaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaafaaaaaaaaaatTatUapkakLasQasQasQasQasQatVatWatXatYatZauaaubaucaudatZaueaucaufatWaugauhauiaujaukaukaukaulaumaunauoaupauqauzausautauuaukauvauwauxauyauBauDauCauFauEavLauGavMauratoatoatoatoatoatpauIauJauKattauLauMauNatpauOauPauQauRauSauTauUauVauWauXauYauZavaavbauRavcauSauSavdasFauRaveavfavgavaavhauRaviavaavjavkauRavlavmauSavnatSatSatSatSatSalravoalOavpaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafatTapkavqakLasQasQasQasQasQavravsavtavuavuavvavwavwavxavyavzavwavAavwavwavBavCavDavwavwavyavwavwavAavwavEavFavGavHavwavIavwavwavJavKavwavNavPavOavRavQawOavSawQauratoatoatoatoatoatpavTavUavVavWavXavYavZatpawaawbawcawdawdaweawdawfawgawhawiawjawkawlawlawmawlawlawnawoawlawlawmawpawlawqawlawrawlawlawsawtawtawuawvawwatSatSatSatSatSalrawxalOavpaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaafaaaaaaaaaatTapkawyakLasQasQasQasQasQawzawAawBawCawDawEawFawGawHawIawJawKawAawAawLawMatbawNawAawAawPawAawRawAawSawTawUawVawWawXawYawZaxaaxbaxcauyaxdauDaxeaxgaxfaxiaxhaxjauratoatoatoatoatoatpaxkaxlaxmattavZaxnaxoatpaxpaxqaxrasGaxsaxtaxuaxvaxwauXaxxaxyaxzaxAaxBaxsaxDaxsaxEasFasGaxFaxsaxGaxHaxIasGaxJaxzaxKaxLasGaxMaxNaxsaxOatSatSatSatSatSalraxPalOavpaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaakLapkapkakLaxQasQasQasQasQarTaxRaxSarUaxTaxUaxVaxWaxXaxVaxYaxVaxVaxVaxVaxZatbayaarUarUarUarUarUarUarUarUarUaybaycarUaydayeayfaygayhayiaxCatmatnayjatmatmatmatmauraynatoatoatoatoatpayoaypayqattatuazvatuatpayraysaytayuatPayvatDaywayxatDatDatDatDayyayyayyayyayzayAayBayCayDayDayDayDayEayDayFayGayHayIayJayKatPayLatRayMatSatSatSatSalrayNalOalraaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLayOapkakLakLakLakLakLakLarTarUarUarUayPapkaxVayQayRaySayTayUayRayVaxVayWayXayYaybayZazaazbazcazcazdazeazfazgazhaybasoasoaziazjazkazlaykazmaznazoazpaykaylaymauHauHazsaztazuauHatpatpatpatpatpatpaAlatpatpazwazxazyazzasyasyayxazAazBazCazDazEazFayyazGazHazIayyazJasFazKayDazLazMayDazNazOazPayDazQazRazSazTazTazTazUalralralralralralrarRalOalraaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaakLakLapkapkapkapkaqDaqDaqDaqDaqDazVazWazWazXaxVayQayRayRazYayRayRayVaxVazZaAaaAaaAbazbazbaAcaAcaAcaAcaAcaAcaAcaAdaybaaaaaaaAeaAfaAgaAhauAazrazqaAjaAiauAaAnaAoaApaAkaAraAsaAtaAuaAvaAwaAxaAyaAzaAAaABaACaAzaADaAEaAFaAGaaaaaaayxaAHazBaAIaAIaAIaAIaAJaAKaALaAMaANaAOaAPaAPayDaAQaARaASazNaATaAUayDaAVaAWaAXaAYaAZaBaaBbaBcaBdaBdaBearRarRarRalralraaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafakLakLaBfaBfaBgaBhaBiaBjaBkaBlaxTaBmaBmaBmaxVayQaBnayRaBoayRaBpaBqaxVaBraBsaBsaBtaBtaBtaBtaBtaBtaBtaBtaBuaBvaBwaybaaaaaaaBxaByaBzaBAaBDaAqaAmaBCaBBaBGaBHaBIaBJaBJaBKaBJaBEaBFaAvaBNaBOaBPaBQaBRaBSaBTaAzaBUaBVaBWaBXaaaaaaayxaBYazBaAIaBZaCaaCaayyaCbaCcaCdayyaqkaqlaqlayDaCeaCfayDaCgaARaChayDaCiaCjaCkaClaCmaCnaCnalraCoalOaCpaCqaCralralraafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLakLaBfaCsaCsaCsaCsaCtaCtaCsaCsaCuaCsaCsaCsaCsaCsaCsaCsaCsaCsaCvaCwaCxaCyaBtaCzaCAaCBaCCaCDaCEaBtaybaCFaCGaybaaaaaaaBxaCHaCIaCJauAaBLaBMaCZaCKaCLaCPaCQaCRaCSaCTaCUaCVaCWaAvaCXaCYaDbaDadVsaDcaDdaAzaDeaDfaDgaBXaaaaaaayxaDhaDiaAIaDjaDjaDjaDkaDlaDlaDlaDkaDmaDkaDnaDkaDjaDjaDjaDjaDjaDjaDjazUazUazUazUazUaDoaDoalralralralralralralraaaaaaaaaadJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaDpaDqaDraDsaDtaDuaDvaDwaDxaDtaDyaDzaDAaDBaDCaDDaDEaDFaDGaDHaDIaDJaDKaDLaDMaDMaDMaDNaBtaDOaDPaybaybaaaaaaaBxaDQaCMaDSaCNaCNaykaykaykaykaDUaDVaDWaDXaDYaDZaEaaEbaEcaEdaEeaEfaAzaEgaEhaAzaAzaEiaEjaEkaBXaaaaaaayxayxaElaEmaDjaEnaEoaEpaEpaEpaEpaEqaEraEsaEtaEuaEuaEvaEuaEuaEwaExaDjaEyaEzaEzaEzaEAaEBaEBaECaEzaEzaEzaEDaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaEFaEGaEHaEHaEIaEJaEJaEKaELaEMaENaENaEOaEPaEQaERaESaETaEUaEVaEWaEXaEYaEZaDMaDMaFaaFbaDOaDPaFcaaaaaaaaaaAeaFdaFeaFfaFgauHauHaFhaFhaDTaFiaFjaCUaCUaCUaFkaCVaFlaFmaFnaFoaFpaAzaAzaAzaAzaFqaFraFsaFtaAGaaaaaaaaaaFuaElaFvaDjaFwaFxaFyaFzaFzaFzaFzaFzaFzaFzaFzaFzaFzaFzaFAaFBaFCaDjaFDaFEaFFaFGaFHaFIaFJaFKaFLaFMaFNaEzaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaFOaFPaFQaFQaFQaFQaFQaFPaFRaFSaEPaEPaFTaEPaEPaFUaFVaFWaFXaFYaFZaGaaDMaGbaGcaGdaGeaBtaDOaDPaFcaaaaaaaaaaAeaAeaGfaFfaFfaGgaDTauHaFhaDTaGhaGiaGjaGkaCUaGlaGmaGnaAvaGoaGpaGpaGqaAzaGraGsaGtaFraGuaAGaAGaaaaaaaaaaFuaElaGvaDjaEnaGwaGxaGyaGzaGAaGyaGyaGyaGyaGyaGzaGAaGyaGBaGwaGCaDjaFDaFEaGDaFJaFJaFJaFJaFJaFJaFJaGEaGFaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaFOaFQaFQaFQaFQaFQaFQaFQaFRaGGaEPaEPaFTaEPaEPaGHaCxaGIaGJaGKaGLaGMaGNaGOaGPaGQaGRaBtaybaGSaFcaaaaaaaaaaaaaBxaFfaFfaFfaFfaGTauHauHauHaGUauHaGVaGWaGXaCUaGYaGZaHaaHbaHcaHdaAvaAvaHeaHfaHgaHhaGtaBXaaaaaaaaaaaaaFuaElaHiaDjaHjaGwaGxaGyaHkaHkaHlaGyaGyaGyaHlaHkaHkaGyaGBaGwaHmaDjaFDaFEaHnaHoaHpaHqaHraHsaHtaHuaFNaEzaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaHvaFOaFQaFQaFQaFQaFQaFQaFQaHwaHxaHxaHxaFTaEPaEPaHyaCxaHzaHAaHBaEWaEWaGLaHCaEWaEWaEWaEWaHDazhaybaybaaaaaaaaaaBxaBxaFfaFfaFfaFfaFgaHEaHFaHFaHFaHGaHHaHIaHJaHKaHLaAvaAvaAvaAvaAvaFqaGtaFraGtaGtaBXaBXaaaaaaaaaayxayxaElaDkaDjaHMaHNaGxaGyaHOaHPaHQaHRaHSaHTaHUaHVaHOaGyaGBaHWaHXaDjaHYaEzaEzaEzaEAaEzaEzaECaEzaEzaEzaEDaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLakLaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaHZaHZaHZaIaaFTaEPaEPaIbaESaIcaHAaIdaIeaIfaDHaIgaESaDOaIhaIiaAcazhaIjaybaaaaaaaaaaaaaBxaBxaFfaFfaFfaFfaIkaIlaImaInazlaIoaIpaIqaIraIsaItaIuaIvaIwaIxaHgaHgaHhaGtaBXaBXaaaaaaaaaaaaayxaIyaElaDjaDjaDjaIzaGxaGyaIAaIBaICaIDaIEaIEaIFaIEaHOaGyaGBaIGaDjaDjalralralralralralralralralralralralralraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCOaEEaFOaFQaFQaFQaFQaFQaFQaFQaIHaIIaIJaIIaIKaENaENaILaIMaINaIOaIPaIQaIRaIQaISaITaDOaIhaAcaAcaIUaIVaybaaaaaaaaaaaaaaaaBxaBxaFfaIWaIXaIYaIZaJaaJbaJcaJdaJeaJfaJgaJhaJiaJjaJkaJlaJmaJnaJoaGtaBXaBXaaaaaaaaaaaaaaaayxaJpaJqaDkaDjaJraGwaGxaGyaJsaJtaJuaJvaJwaJwaJwaJwaJxaGyaGBaGwaJyaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaDRaJzaFOaFQaFQaFQaFQaFQaFQaFQaFRaEPaEPaJAaFTaJBaJCaJDaJEaJFaJGaJHaJIaJJaJKaJLaESaDOaJMaJNaAcazhaJOaybaaaaaaaaaaabaaaaaaaBxaBxaAeaJPaJQaJRaJSaInazlaIoaJTaJUaJVaJWaJXaJYaJZaKaaKbaKcaAGaBXaBXaaaaaaaabaaaaaaaaaayxaKdaElaKeaDjaJraGwaGxaGyaHOaKfaKgaKhaJwaKiaKjaKkaKlaGyaGBaGwaJyaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaKmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCOaEEaFOaFQaFQaFQaFQaFQaFQaFQaHwaHxaKnaHxaKoaCsaCsaCsaCvaCvaCvaKpaKqaKraKqaKqaESaybaybaybaybazhaKsaKtaKtaKtaaaaaaaaaaaaaaaaaaaAeaAeaBxaBxaBxaAeaAeaKuaKvaJUaKwaKxaAGaAGaBXaBXaBXaAGaAGaaaaaaaaaaaaaaaaaaaKyaKyaKyaKzaElaKAaDjaKBaKCaGxaGyaHOaHOaHlaHkaKDaKhaHlaHOaHOaGyaGBaKEaKFaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaKGaKGaKGaKHaKIaCsaKJaKJaKJaKJaKJaKpaKKaKLaKMaKqaKNaKNaKNaKNaybazhaKsaKOaKPaKtaKtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKQaKRaKSaJUaKTaKUaKQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKyaKyaKVaKWaKzaElaKXaDjaJraKYaGxaGyaGyaHOaKZaLaaJwaLbaLcaHOaGyaGyaGBaKYaJyaDjaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaIHaIIaIIaIIaFTaLdaKJaKJaKJaKJaKJaKpaLeaLfaLgaKqaLhaAcaAcaAcaLiazhaLjaLkaLlaLmaKtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKQaLnaLoaLpaLqaLraKQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKyaLsaLtaLuaLvaElaLwaDjaJraLxaGxaGyaGyaHkaLyaJwaJwaJwaLzaHkaGyaGyaGBaLxaJyaDjaDkaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaLAaFOaFQaFQaFQaFQaFQaFQaFQaFRaEPaEPaEPaLBaLCaKJaKJaKJaKJaKJaKpaLDaLEaLFaKqaAcaAcaAcaLGaybaLHaKsaLIaLlaLJaKtaaaaaaaaaaaaaLKaLLaLMaLLaLNaaaaaaaLOaLOaLPaJUaLQaLRaLRaLRaLRaLRaLRaLSaLSaLSaLRaLRaLRaLRaKyaLTaLtaLUaKzaElaDkaDjaDjaLVaLWaGyaGyaKhaLXaLXaJwaLXaLXaKhaGyaGyaGBaLYaDjaDjaDjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaFRaLZaEPaEPaFTaMaaKJaKJaKJaKJaKJaKpaKqaMbaKqaKqaMcaMdaMeaMfaMfaMgaKsaMhaLlaMiaKtaaaaaaaaaaaaaMjaMkaMlaMmaMjaaaaaaaaaaLOaMnaJUaMoaMpaMqaMraMsaMtaLSaMuaMvaMwaMxaMyaMzaLRaMAaMBaLtaLuaKzaMCaDjaDjaMDaMEaLWaGyaGyaHOaMFaKhaMGaKhaHlaHOaGyaGyaGBaMHaMIaDjaDkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCsaEEaFOaFPaFQaFQaFQaFQaFQaFPaFRaMJaMKaMLaMMaCsaMNaKJaKJaKJaKJaMfaDOaDOaDOaybaybaybaybaMfaMOaLHaKsaKsaMPaKsaKtaMQaMQaMQaMRaMjaMSaMTaMUaMjaMVaMQaMQaMQaMWaMXaMWaLRaMqaMYaMZaNaaNbaNcaNdaNeaNfaNgaMzaLRaKzaKzaNhaKzaKzaNiaDkaDjaNjaNkaLWaGyaGyaKhaNlaNmaJwaNmaNnaKhaGyaGyaGBaNkaJyaDjaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaCsaNoaNpaNqaNraNraNsaNtaNtaNuaNvaNwaCtaCtaCtaCsaMfaMfaMfaMfaMfaMfaNxaNxaNxaNyaNzaybaNAaNBaAcaNCaNDaNEaNFaNGaNHaMQaNIaNJaNKaNLaNMaNNaNMaNLaNOaNPaNQaMQaNRaNSaNRaLRaNTaNUaNVaNWaNXaNYaNZaOaaObaOcaMzaLRaOdaOeaOfaOgaOhaOiaAIaOjaOkaNkaGxaGyaGyaHOaHUaOlaOmaOnaHUaHOaGyaGyaGBaNkaJyaDjaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaCsaCsaOoaOpaOqaOqaOraOqaOqaOsaOtaOuaCuaDOaOvaAcaAcaAcaOwaAcaAcaAcaAcaAcaOxaAcaAcaOyaAcaAcaAcaAcaAcaAcaAcaLHaOzaMQaOAaOAaOBaOCaODaOEaOFaOGaOHaOAaOIaMQaIpaOJaOKaLRaOLaOMaONaOOaOPaOQaORaOSaOTaOUaOVaLRaOWaOXaOYaOZaPaaPbaAIaDjaPcaNkaGxaGyaGyaGyaHOaPdaPeaPfaHOaGyaGyaGyaGBaNkaJyaDjaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaCsaCsaCOaDRaCOaCsaCOaDRaCOaCsaCsaCsaDOaOvaMfaFcaFcaFcaFcaFcaMfaPgaPhaMfaMfaMfaMfaMfaMfaMfaFcaFcaAcaAcazhaPiaMQaPjaOAaPkaPlaPlaPmaPnaPnaPoaOAaPpaMQaPqaPraPsaLRaPtaPuaPvaPwaPxaPyaPzaPAaPBaPCaPDaLRaPEaPFaPGaPHaFuaFuaPIaDjaDjaNkaPJaPKaPKaPKaPKaPKaPKaPKaPKaPKaPKaPKaPLaPMaDjaDjaafaafaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaCsaMfaMfaMfaaaaaaaaaaaaaaaaMfaMfaMfaMfaaaaaaaaaaafaaaaaaaaaaFcaFcaAcazhazcaMQaPNaPOaPPaPQaPRaPSaPTaPUaPVaPWaNMaPXaPYaPZaKTaLRaLRaQaaQbaQcaLSaQdaQeaQfaQgaQhaQiaLRaQjaQkaQlaFuaFuaaaaaaaaaaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaFcaFcazhaQmaMQaNMaNMaQnaNMaNMaQoaNMaNMaQpaNMaNMaQqaQraPZaQsaQtaQuaQuaQvaQuaQuaQuaQuaQuaQwaQuaQuaLRaQxaQyaFuaFuaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaFcaQzaQAaQBaQCaQDaQDaQEaQFaQGaQHaQDaQIaQDaQJaQKaQLaQMaQNaQKaQOaQPaQQaQRaQSaQKaQTaQUaQVaQVaQWaQXaQYaQZaFuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaagaadaadabcaagaagaadaadaafaagaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaabaaaaaaaaaaMfazgazgaybaRaaRbaRbaRcaRdaReaRfaRgaRhaRbaRiaRjaRkaRlaRmaRjaRnaRjaRoaRpaRqaRraRsaRtaRjaRjaRuayxazBazBaPIaaaaaaaaaaabaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaadaadaadaafaaeaagaadaadaadaafaaaaafaagaadaadaadaadaafaaeaaaaMfaMfaMfaMfaLOaLOaLOaRvaRwaRxaRyaRzaRAaRzaRzaRBaKvaRCaKwaKxaRDaRDaRDaRDaREaRFaRGaRHaLOaLOaLOaPIaPIaPIaPIaafaafaadaadaadaadaKmaaaaadaafaadaadaadaadaadaadaadaaaaaeaKmaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaRIaRJaRJaRKaRJaRLaRMaRNaROaRMaRPaRQaRRaRzaRSaRTaRCaRUaRSaRDaRVaRWaRXaREaRYaRZaSaaSbaScaSdaScaScaSeaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaSfaaaaaaaaaaaaaaaaSfaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaSgaShaSiaSjaSkaSlaSmaSnaRMaSoaSpaSqaSraRSaSsaStaKTaKRaRDaSuaRVaSvaSwaSxaSyaSzaSAaSBaSCaSDaSEaSeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaRJaRJaRKaRJaRLaRMaSFaSGaRyaRzaRzaRzaRzaRSaSHaSIaSJaSKaSLaSMaSNaSOaREaSPaSQaSaaSbaScaSdaScaScaSeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSRaRyaRyaRyaRyaRyaRyaSSaSTaRyaSUaSVaSWaSXaSYaSZaTaaTbaTcaTdaTeaTfaTgaREaThaTiaREaREaREaREaREaREaTjaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTnaRMaToaTpaTqaTraTbaTbaTbaTsaTbaTtaTuaTvaTwaTxaTyaTzaTAaTBaTCaSaaTDaTEaTFaTEaTEaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTGaTHaTIaTJaTKaTLaTMaTNaRyaTOaTPaTQaTRaRnaTSaTTaTUaTcaTdaTVaTWaTXaREaTYaTZaUaaUbaUcaUdaUeaUfaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTnaRMaUgaUhaRyaUiaKRaUjaUkaUlaUmaUnaUmaUoaUkaUpaUqaUraREaUsaUtaSaaTDaTEaTFaTEaTEaSeaaaaaaaaaaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUuaUvaUvaUvaUvaUvaRyaUwaUwaRMaUxaUkaUkaUkaUyaUzaUAaUzaUBaUkaUCaUCaUCaREaUDaUEaREaUvaUvaUvaUvaUvaUuaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUFaUGaUHaUFaUIaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaUUaUVaUWaUXaUYaULaUYaUZaUMaVaaVbaVcaVdaUFaVeaVfaUFaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVgaVhaViaVjaVkaVlaVmaVnaVoaVpaVqaVraVraVraVraVsaVtaVuaVraVraVraVraVvaVwaVxaVyaVmaVlaVzaVAaVBaVCaVDaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUvaUCaUCaUvaUCaVEaUCaVFaVGaVGaVFaUCaVEaUCaVHaVIaVJaVKaVLaUCaVEaUCaVFaVMaVMaVFaUCaVEaUCaUvaUCaUCaUvaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVNaVOaVPaVQaaaaaaaUCaUCaVRaVSaVTaUCaUCaaaaaaaVNaVUaVVaVQaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVWaVXaVYaVZaaaaaaaaaaUCaUCaVEaUCaUCaaaaaaaaaaVWaWaaWbaVZaaaaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUuaWcaWdaUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUvaWeaWfaUuaaaaaaaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaaaaaaaWgaaaaaaaaaaaaaaaaWgaaaaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWhaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaabaaaaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaaaaaaaaaaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaaaaaaaaaaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaaaaaaaaaaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVbaVbaVbaVbaVbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaaaaaaaaaaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaaaaaaaaaaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaaaaaaaaaaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10826,206 +10874,206 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaaaaaaaaaaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaaaaaaaaaaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaaaaaaaaaaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVcaVcaVcaVcaVcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaVdaVdaVdaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaVdaaaaaaaaaaVdaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVdaVdaaaaaaaaaaaaaaaaVdaVdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaadaadaadaadaadaafaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaagaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaafaafaaaaaaaaaaafaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaafaagaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaabaaaaaaaaaaaaaaaaadaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaafaadaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaadaadaagaafaafaadaadaadaaaaagaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaVfaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaadaafaafaadaadaadaJiaafaafaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaVgaVgaVgaVgaVgaVgaVhaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaafaafaaaaaaaaaaaaaaaaViaViaViaViaViaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaVgaVgaVgaVgaVgaVjaVgaVgaVgaVkaVhaVhaVhaVhaVhaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafaaaaaaaVlaVlaVlaVmaVnaVmaVlaVlaVlaaaaaaaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaVgaVgaVgaVgaVgaVgaVoaVpaVqaVraVsaVhaVhaVhaVhaVhaVhaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaVlaVlaVmaVmaVmaVtaVmaVmaVmaVlaVlaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaVuaVuaVuaVuaVvaVwaVxaVyaVzaVuaVuaVuaVuaVuaVgaVgaVAaVBaVCaVgaVDaVEaVFaVGaVHaVhaVIaVJaVKaVhaVhaVLaVLaVLaVLaVLaVLaVMaVNaVOaVPaVQaVQaVQaVQaVQaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVmaVmaVmaVmaVmaVmaVmaVmaVmaVlaVlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaVuaVuaVRaVSaVTaVUaVVaVWaVXaVYaVZaWaaWbaWcaVuaVgaWdaVGaWeaWfaWgaWfaWhaWiaWjaWkaWlaWmaWnaWoaWpaVhaVLaWqaWraWraWsaWtcXmaWvaWwaVQaWxaWyaWyaWyaVQaVQaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVmaVmaVmaVmaVmaVmaVmaVmaVmaVmaVmaVlaVlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWzaadaaaaaaaaaaVuaWAaWBaWCaVTaWDaWEaWFaWEaWEaWGaWaaWaaWHaVuaVgaWIaVGaWJaVGaWKaVGaWLcZraWNaWOaWPaWQaWRaWoaWSaVhaVLaWtaWTaWUaWVaWtaWWaWXaWYaVQaWxaWZaXaaWZaXbaXcaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaVlaVmaVmaVmaXdaVmaVmaVmaVmaVmaXeaVmaVmaVmaVlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaVuaXfaXgaXhaVTaXiaWEaWFaWBaWEaXjaWaaXkaWcaXlaVgaXmaVGaXnaXoaXpaXqaXraXsaXtaXuaXvaXwaXxaWoaXyaVhaXzaXAaXBaXCaXDaWtaXEaXFaXGaVQaWxaWyaWyaWyaXbaXcaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaVlaVlaVmaVmaVmaVmaXdaVmaVmaVmaXeaVmaVmaVmaVmaVlaVlaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaaaVuaXHaXIaWCaVTaXJaXKaXLaXMaXNaXOaWaaXPaWcaXQaVgaXRaXSaXTaXUaVgaXVaXWaXXaXYaXZaVhaYaaYbaYcaVhaVhaWtaWtaYdaYeaYyaYfaYgaYhaYiaVQaWxaYjaYkaYlaXbaXcaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaaaVlaVmaVmaVmaVmaVmaVmaXdaVnaXeaVmaVmaVmaVmaVmaVmaVlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaVvaVTaYmaVTaWaaYnaWEaYoaYpaWEaYqaWaaWaaYraWaaVgaYsaVgaYtaVgaVgaVgaYuaYvaYuaVgaVhaVhaVhaVhaVhaVhaYwaYxaWUaYBaYzaWtaYAaYEaYCaVQaYDaWyaZOaWyaYFaVQaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaafaafaafaVlaVnaYGaVmaVmaVmaVmaVmaYHaVmaVmaVmaVmaVmaYIaVnaVlaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaYJaYKaYLaYMaYNaYOaWEaYPaYQaWEaYRaYSaYTaYUaYVaYWaYXaYYaYZaZaaZbaZcaZdaZeaZfaZgaZhaZiaZjaZkaZlaZmaWtaWtaWtaZnaWtaWtaZoaZpaZoaVQaZqaZraZsaZraZtaVQaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaVlaVmaVmaVmaVmaVmaVmaZuaZvaZwaVmaVmaVmaVmaVmaVmaVlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaabaaaaaaaZxaZyaZzaZAaZBaZCaZDaZEaZFaZDaZGaZHaZDaZIaZJaZcaZKaZLaZMaZNaZTaZPaZQaZRbaEaZSbabaZUaZVaZWaZXaZgaZYaZZbaabaIbacbadbaebaIbafbagbahaWybaiaWybajaVQaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaVlaVlaVmaVmaVmaVmaZuaVmaZvaVmaZwaVmaVmaVmaVmaVlaVlaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabakbalbamaWFbanbaobapbaqbarbasbatbaubavbawbaxaZcaZKbaybazbaAbaBbaCbaDbbhbaFaZgbaGbaHbbRbaJaZhaZgbaKbaLbaMbaNbaObaObaPbaQbaRbaSbaTbaUbaVbaUbaWaXcaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVmaVmaVmaZuaVmbaXaZvbaYaVmaZwaVmaVmaVmaVlaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaVuaVubaZbbabbbaWabbcbbdbbeaWabbfbbgaWaaWEbcvbbibbibbibbjbbkbblbbmbbnbbobbpbbqaZgaZgbbraZgaZgaZgbbsbbtbbubbvbbwbaLbbxbaLbbyaXcdaobbAbbBbbAbbCaXcaaaaaaaaaaadbbDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVmaVmaVmaVmbaXaZvbaYaVmaVmaVmaVmaVlaVlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabbEdbubbGbbHbbIdfdbbGbbKbbIbbLbbMaWabbNbbObbibbPbbQbdmdfebbTbbibbUbbVbbWbbXbbYbbZbdobcbbccbcdbcebcfbcgbchbcibaLbaLbaLbdrbcjbckbclbcmbcnbckaXcaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVmaVmaVmaVmbaXaZvbaYaVmaVmaVmaVmaVlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadhaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabbEbcobcpbcqbbIbcrbcpbcqbbIbcsbctaWabcubdwbbibcwbcxbcybczbcAbcBbcCbbobcDbcEbcFbcabcGbcabcHbbXbcIbbtbcJbcKbcLbcMbcNbcObcNbcPbcQbcRbcSbcTbcUaVQaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcVaVlbcWaVlaVmaVmbaXaZvbaYaVmaVmaVlbcWaVlbcVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafbcXbbEbcYbcZbdabbIbdbbdcbdabbIbddbdeaWabdfbdgbbibdhbcxbdibcxbdjbdkbbnbdlbewbdnbdPbdpbdqbezbdsbbXbdtbdubdvbeAbaLbdxbdybdybdybdybdybdzbdzbdzbdzbdAbdAaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcVbdBaZvaVlaVlaVlaVmaZvaVmaVlaVlaVlaZvbdBbcVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafbdCaaaaaaaaabdDbdEbdFbdGbdHbdIbdJbdGbdKbdLbdMbdNaWabdObeBbbibdQbdRbdSbcxbdTbdUbbnbbobdVbdWbdXbcabdYbcabdZbeabebbecbeJbeRbedbeebdybefbegbehbeibejbekbelbembenbdAaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabcVaZvbeobcVaaaaVlaVlbepaVlaVlaaabcVbeqberbcVaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafbesaafaaaaaaaaaaaaaaaaaabetaaaaaaaaaaaaaaaaaTaaaaaaaaaaaabeubevbfqbexbeybfsbftbfHbeCbeDbeEbeFaWabbNbeGbbibeHbeIbfLbeKbeLbeMbbnbbobeNbeObePbeQbfObeSbeTbbXbeUbeUbeVbeWbeUbeXbdybeYbeZbfabdybfbbfcbfdbfebffbdAaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbcVbcWbfgbcVaaaaafaaaaaaaaaaafaaabcVbfgbfhbcVaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafbfibfibfibfibfibfibfibfibfibfibfjbfibfibfibfiaafaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaabfkbflbfmbflbbIbfnbbIbfobbIbbIbfpbgkbfrbggbghbbibfubfvbfwbfxbfybbibfzbfAbfBbbXbfCbfDbfEbbXbbXbbXbfFbfGbgqbgzbfIbfJbdybfKbhgbfMbdybfNbhlbfPbfQbfRbdAaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaabfSbfSbfSaaaaaaaafaaaaaaaaaaafaaaaaabfSbfTbfSaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaabfibfUbfVbfibfWbfXbfibfYbfZbfibgabfibgbbgcbfiaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafbfkbfkbgdbgebflbgfbhrbbIbhzbgibbIbgjbhCbglbhBbgmbgnbgobgpbhGbgrbgsbgtbgubgvbgwbgtbgxbgybirbgAbgBbgCbgDbgEbgFbgEbgGbgHbdybgIbgJbgIbdybgKbgLbgKbdzbdzbdAaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaabfibgMbgNbfibgObgPbfibgQbgRbfibfjbfibgSbgTbfiaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaabfkbgUbgVbgWbflbgXbgYbbIbgZbhabbIbhbbhcbhdbhebhfblVbhhbhibhjbhkbmPbhmbhnbhobhpbhqboVbhsbhtbhubhvbhwbhvbhvbhxbhvbhybqzbhAbqSbqTbhDbhEbhFbqVbhHbhIbhJbhKaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaabaaaaaaaaabfibhLbhMbfibhLbhMbfibhNbhObfibfjbfibhLbhPbfiaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaabfkbhQbhRbhSbflbhTbhUbbIbhVbhWbbIbhXbhYbhXbhXbhZbiabibbhXbicbidbiebifbigbihbiibifbijbidbikbilbimbrfbdVbinbiobipbiqbrlbisbsabitbiubivbiwbixbiybizbiAbiBaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTbiCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaabiDbfjaaabiDbfjaaabiEbiEaaabfjaaabiDbiFaaaaaaaaaaaaaaaaaaaafbetaaaaaaaaaaaaaaaaaabfkbiGbhRbiHbfkbbEbbEbbEbbEbbIbbIbiIbiJbiKbiLbiMbiNbiObiPbicbiQbsebiSbiTbiUbiVbiWbsobiYbiZbjabjbbjcbjdbiZbjebjebjebjebjebjebjebjebjfbjgbjhbjhbjhbjibjhaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaabjjbjkbjlbjmbjnbjlbjobjpbjqbjrbjsbjobjpbjtbjubjvbjjbjjaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaabfkbfkbjwbfkbfkbjxbjybjzbicbjAbjBbjCbjDbjEbjFbjGbjHbjIbjJbjKbjLbiRbjMbjNbjObjPbjQbiXbjRbjSbjTbjUbjVbjWbjXbjebjYbjZbkabkbbkcbkdbjebkebkfbjhbkgbkhbkibjhaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbfSaafaafaafaafaaaaaaaaaaafaafaafaafbfTaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaabjjbkjbkkbklbkmbknbkobkpbkqbkrbksbktdwxbkvbkwbkxbkybkzbkAbjjaafaafaafaadaafaaTaadaafaafaafbkBbkCbkCbkCbkDbkEbkFbkGbicbkHbkIbkJbkKbkLbjIbkMbkNbkObkPbkQbsqbiRbkSbkTbkUbkVbjLbiXbkWbkXbkYbkZblablbblcbjebldbleblfblgblhblibljblkbllblmblnbloblpbjhaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablqbfSblqaaaaaaaafaaaaaaaaaaafaaaaaablqbfTblqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaabjjblrblsbltblublsblvblwblxblyblsblzblublAbltblBblsblCblDbjjaaaaaaaaaaafaaaaaaaaaaaaaaaaaabkBblEblFblFbkDbkDblGbkDbicblHblIblJblKblLblMblNblOblPblQblRblSblTbkRblUbswblWbkRblXbjRblYblZbmabmbbmcbmdbjebmebmfblhbmgblhbmhbljbmibmjbjhbjhbjhbjhbjhaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbfSaafaafaafaafaaaaaaaaaaafaafaafaafbfTaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafbfibfibfibfiaaabjpbmkbmlblvblwbmmbmnbmobmpbmqbmrbmsbmtbmubmvbmwblxbmxbmybjpaaaaaaaaaaafaaaaaaaaaaaaaaaaaabkBbkBbmzbmAbmBbmCbmDbkCbicbmEbmFbkIbmGbmHbjIbmIbkMbmJbmKbicbmLbmMbmNbsAbmObtgbmQbmRbmSbiZbkYbmTbmUbmVbmWbjebmXbmYbmZbnablfbnbbljbncbndbnebnfbngbnhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabfibnibnjbnkbnlbnmbnnbnobnpbnqbnobnrbnsbntbnrbnubnvbnwbnxbltblBbnybnzbnAbjpaaaaaaaaaaafaaaaaaaaaaabaaaaaaaaabnBbnCbnDbkFbnEbmDbkCbnFbthbnGbnHbnIbnJbjIbnKbjIbnLbnMbicbifbifbifbnNbnObnPbifbnQbifbiZbnRbnSbnTbnUbnVbjebnWbnXblhbnYblebnZbljboabobbocbodboebnhaaaaaaaaaaabaagaaaaaaaaaaaaaaaaafaaTaadaadaadaadaadaagaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabfibofbogbohboibojbokbolbomblwbonbooboobopbmmboqborblwbosbotboubovbowboxboyboyboyboyboyaaaaaaaaaaaaaaaaaaaaabnBbnCbozboAboBboCbkCbicboDboEboFboGboHboIboJboKboLboMbicboNbifboOboPboQboRblqboSbifboTbiZbiZbiZbiZbiZbjeboUbtqboWboXboYboZbljbpabpbbpcbpdbpdbnhaaaaaaaaaaaaaadaaaaaaaaaaaaaafaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhaafaafaafaafbfibfibfibfiaaabpebpfbpgbltblubphbpibpjbpkbplbpmbpnbpobplbppbovblAbpqbprboybpsbptbpuboybpvbpwbpwaaaaaabpxbkBbpybpzbpAbpBbpCbpDbpDbpDbpDbpDbpDbpEbpDbpDbpDbpDbpDbpDbpDbpDbpDbpFbpGbpHbpHbpIbpJbpKbpKbpLbpMbpNbpObpPbljbpQbpRbpSbpQbpQbljbljbpTbpUbpVbpWbpXbpYbpZaafaafaafaadaaaaaaaaaaafaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabfibqabqbbnkbnlbnmbqcbnobqdbqebnxbqfblsblAblBblsbqgbmobqhbmobqibqjbqkbqlbqmbqnbqobqpbqqbqrbqsbpwbpwaaabqtbqubqvbqwbqxbqybttbqAbqBbqCbqDbqEbqFbqGbqHbqIbqJbqKbqLbqMbqNbqObqPbqQbqRdwybuFbqUbtxbqWbqXbqYbqZbrabrbbrcbrdbrebuKbrgbrhbribrjbrkbvJbrmbrnbrobrpbrqbrraaaaaaaaaaaTaadaadaadaagaabaaaaaaaafaaaaaaaafaaaaafaafbrsaafaafaaaaaaaaaaaeaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaabfibrtbrubohboibrvbrwblAbrxbrybrzbrAbplbrBbovbrCbrDbrEbrFbrGbrHbrIbrJbrKbrLbrMbrNbrObrPbrQbrRbrSbpwaaabrTbqubrUbrVbrWbrXbrYbrZbvMbsbbscbsbbsdbsbbxcbsfbsbbsgbshbsibsjbxibskbslbsmbsnbCsbspbzAbsrbssbstbsubsvbCubsxbsybsxbszbsxbEabsBbsCbsDbsEbsFbrnbsGbsHbrqbsIaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabsJbsKbsLbsMaaaaafaaabsNaaaaafaaaaaaaagaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaabaaaaaabfTaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafbfibfibfibfiaaabpebsObpgbltblubsPbsQbsRbsSdwzbrybsUbsVbsVbsVbsWbsVbsVbsXbsYbsYbsYbsYbsYbsZbtabtbbpvbpvbkBbkBbtcbtdbtebtfbEcbpDbEbbtibtjbtibtkbtlbtibtmbtnbtjbtmbtobtpbFKbtrbtsbqRbHobtubtvbtwbKebtybtzbtAbtzbtBbtzbtzbtzbtCbtDbtEbtDbtCbtCbtFbtGbpVbtHbtIbpYbpYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabtJbtKbtKbtJbtJbtJbtLbtMaaaaafaaaaaaaafaaaaaaaaaaaaaabbfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaadaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabfibtNbtObnkbnlbtPbtQbnobqdbtRbtSbtTbnrbtUbnrbnwbtVbsVbtWbtXbtYbtZbuabsXbubbucbudbuebsYbufbugbuhbuibujbukbulbumbunbkBbkBbuobpDbupbuqburbuqbusbpDbutbtrbpDbuubtrbpDbuvbtrbqAbuwbuxbRcbuzbQKbuBbuCbuBbtzbuDbuEbRdbuGbuHbtzbuIbuJbRebuLbuMbtCbuNbuObuObuPbuQbuRbtJaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabuSbuTbuUbuVbuWbuWbuXbtMbtLbtLaaaaaaaafaaaaaaaaaaaaaaabfSaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabfTaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabfibuYbuZbohboibvabvbbvcbvdbvebvfbvgbvfbvhbvfbvibvjbvkbvlbvmbvnbvobvpbsXbvqbvrbvsbvtbvubvvbvwbvxbvybvybvybvybvybvybvzbvAbvBbpDbvCbuqbvDbuqbusbpDbuqbvEbpDbuqbvFbpDbuqbvGbpDbvHbvIbRmbvKbuAbvLbRnbvNbtzbvObvPbvQbvRbvSbtzbvTbvUbvVbvWbvXbtCbvYbvZbuObwabwbbwcbtJaaaaaaaaaaaaaaabtJbtJbtLbtLbtLbtJbwdbwebwfbwgbwhbwibwjbwkbwlbtLbtJbwmbwmbwnbwnaafaafaafbfSaafaafaafaafbwobwpbwqbfSbwrbwsbwtbwubwvaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafbfibfibfibfiaaabwwbwxbpgbwybwzbwAbwBbwCbwDblAbwEbwFbvkbwGbwHbwIbwJbwKbsXbwLbwMbwNbwObsYbufbwPbwQbsZbsZbsZbsZbsZbsZbsZbwRbwSbpDbwTbuqbwUbwVbusbpDbwWbwXbpDbwWbwYbpDbwWbwZbpDbxabxbbRobvKbuAbxdbxebxfbtzbxgbxhbSrbxjbxkbtzbxlbvUbxmbvUbxnbtCbxobvZbuObuObxpbuObuObtJbtJbtJbtJbtJbtJbwbbxqbxrbxsbxsbxtbxubxubxtbxvbxwbxxbxybxzbxAbxBbwmbxCbxDbwnbwnaaaaaabfSaaaaaaaaaaafbxEbxFbxGbxHbxIbxHbxEbxJbxEaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgaaaaaaaaaaaaaaaaaaaaaaaaaaabjjbxKbxLbxMbjjbjjbxNbxObxPbxObxQbxRbxSbsXbsVbxTbsVbsXbsXbsYbsYbxUbsYbsYbsZbxVbxWbxXbsZbxYbxZbyabybbsZbwRbwSbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbpDbycbydbTBbyfbuAbygbyhbyibtzbyjbykbylbymbynbtzbyobypbyqbvUbyrbtCbysbytbyubyvbywbywbywbywbywbywbyxbywbywbywbywbyybyzbyAbyBbyCbyDbyEbyFbxwbxxbyGbxwbyHbyIbyJbyKbyLbyMbwnaaaaaabfSaaaaaaaaaaaabxEbyNbxHbyObyPbyQbxEbyRbxEaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySaaaaaaaaabySaaaaaaaaaaaaaaabySaaaaaaaaabySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaabyTbyTbyTbyTbyTbyTbyTbyTbyTbyUbyVbyWbyXbyYbyZbzabzbbzcbzcbzdbzebzfbzgbzhbzibzjbzkbzlbufbzmbznbzobsZbxYbwRbwRbwRbzpbzqbzrbvybzsbztbzubzvbvybvybvybvybvybvybzwbzxbvybzybzzbsZbWDbyebWQbuAbuAbuAbuAbtzbzBbzCbzDbzEbzFbtzbzGbzHbzIbzJbzKbtCbzLbwbbzMbzNbzObzPbzQbwbbwbbzRbzRbzRbzRbzRbzRbzRbzSbzTbzUbzVbzWbzXbzXbzXbzXbzYbzYbzYbzYbzYbzZbAabAbbAcbAcbAdbAcbAdbAcbAdbAcbAcbAebAfbAgbAhbAibxEbAjbxEbxEaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySaaaaaaaaabySbySbySbySbySbySbySaaaaaaaaabySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaabAkbAlbAmbAnbyTbAobApbAqbArbAsbAsbAtbyTbAubAvbAwbAxbAybAzbAAbABbAAbACbADbAEbAFbAGbAHbAIbAJbAKbALbufbAMbxWbANbsZbAObAPbwRbwRbsZbAQbARbwRbASbATbsZbsZbAUbsZbsZbAVbwRbwRbzzbAWbwRbAXbsZbsZbAYbAZbBabuObuObBbbxrbtzbBcbBdbtzbtzbtzbtzbtCbtCbBebtCbtCbtCbzLbwbbBfbBgbzObuRbBhbBibBjbzRbBkbBlbBmbBnbBobzRbBpbBpbBqbBpbBpbzXbBrbBsbBtbzYbBubzYbBvbzYbBwbBxbBybAcbBzbBAbBBbBBbBCbBDbBEbAcbBFbBGbBHbBIbBJbBKbBLbBMbxEaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySaaaaaabySbySbySbySbySbySbySbySbySaaaaaabySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaabaaaaaaaaabAkbBNbBNbBObyTbBPbBPbBPbBQbAsbBRbBSbyTbBTbBUbBVbBWbBXbBYbBZbALbCabCbbCcbCdbCabCebCebCfbCgbChbCebsZbCibCjbCkbsZbsZbsZbClbwRbsZbAXbCmbCmbCnbCmbCmbCobwRbCpbsZbCqbwRbCrbsZbuibwRbAXbwRbsZbYebCtbYvbuObwbbwbbCvbCwbwbbCxbCybCybCybCybzMbCzbCAbCBbCCbCDbCEbCFbCGbuObCHbCHbCHbCHbCIbzRbCJbCKbCLbCMbCNbCObCPbCQbCRbCSbCTbzXbCUbCVbCWbzYbCXbzYbCYbzYbzYbCZbDabDbbDcbDdbBBbDebDfbDgbDhbAcbDibDibDibDjbDibDibDibDibDibDiaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySaaaaaabySbySbySbySbySbySbySbySbySaaaaaabySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaadaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaabAkbDkbDlbDmbyTbDnbDobDobDpbDobDqbDrbyTbDsbDtbDubDvbDwbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbDKbsZbDLbDMbDNbDObDPbsZbujbuibsZbDQbCmbDRbDSbDTbCmbDUbDVbANbsZbxXbwRbDWbsZbujbwRbDXbDYbDZbZXcaqcbEbEdbCBbEebCBbEfbCBbEgbCBbCBbCBbCBbEhbEibEjbEjbEjbEjbEjbEjbEkbElbCHbEmbEnbEobCIbEpbEqbErbEsbEtbEubCObEvbEwbExbCRbEybzXbEzbEAbEBbECbEDbEEbEFbEGbzYbEHbEIbEJbEKbELbEMbELbENbEObEPbEQbERbESbETbEUbEVbEWbEXbEYbEZbFaaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaabAkbFbbFcbFdbyTbFebDobDobFfbFgbFhbFibFjbFkbFlbFmbFnbDwbFobFpbDzbFqbFrbFsbFtbFubDFbFvbFwbFxbFybFzbsZbFAbFBbFCbFDbDPbsZbzzbzzbsZbFEbCmbFFbDSbFGbCmbsZbsZbsZbsZbFHbFHbFHbsZbsZbsZbsZbsZbFIbFJcddbFLbFIbuObuObuObuObuObtLbtLbtLbuObuObuObuObEjbFMbFNbFObFPbEjbFQbFRbFSbFTbFUbFVbCIbFWbFXbCKbFYbFZbGabCObGbbGcbGdbGebGfbGgbGhbGibGjbzYbGkbGlbGmbGnbzYbGobGpbAcbGqbGrbGsbGrbGsbGrbGtbDbbGubGvbGwbGxbGybGzbGAbGBbGCbGDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaafaaabGEbGEbGEbGEbGEbGEbGEbGFbGFbAkbGGbGHbBObyTbGIbGIbGJbGKbGLbGMbGNbyTbGObGPbGQbGRbGSbGTbGUbALbGVbGWbGXbGYbGZbCebHabHbbHcbHdbHebHfbHfbHgbHfbHfbHfbHfbsZbsZbsZbHhbCmbHibHjbHkbCmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHlbHmbHncdtbHpdwAbHlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEjbHrbHsbHtbHtbHubHvbzWbCHbHwbHxbHybCIbHzbHAdCRbHCbHDbHEbCObCRbGcbHFbHGbHHbzXbHIbHJbHKbzYbHLbHMbHNbHObzYbHPbHQbAcbAcbHRbHSbHTbHRbHUbHRbAcbHVbHWbHXbHYbHZbIabIbbHYbIcbIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafbGEbGEbIebIfbIgbIhbIibGEbIjbIkbIlbImbInbIobyTbGIbGIbIpbIqbIrbIsbItbyTbIubIvbIwbIxbALbDzbIybALbIzbIAbIBbICbIDbCebFvbIEbIFbIGbIHbHfbIIbIJbIKbILbIMbHfbINbIObsZbAXbCmbIPbIQbCmbCmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHlbIRbIScddbITbIUbHlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEjbEjbIVbIWbIXbEjbIYbuObCIbCHbIZbCHbCIbzRbCObJabJbbJabJcbzRbJdbwnbJebwnbJfbzXbzXbzXbzXbJgbzYbJhbzYbzYbzYbGobJibxDbAcbAcbAcbAcbAcbAcbAcbAcbJjbJkbJlbJmbJnbJjbJobJjbJpbJqbJrbJsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaafbJtbJubJubJubJubJvbJwbJxbJybJzbJAbJBbJCbGEbJDbJEbJFbJGbJHbAkbyTbyTbyTbyTbyTbyTbyTbyTbyTbJIbJJbJKbJLbJMbJNbJObJPbJQbJRbJSbJTbJUbDFbJVbJWbJXbJYbJZbKabKbbKcbKdcgfbKfbHfbKgbKhbKibAXbCmbCmbCmbCmaaaaaaaaaaaaaaaaaabKjbKjbKkbKkbKkbKjbKjcgMbKmcddbKnbKobKlbKlbHlbHlbHlbKlbKlaaaaaaaaaaaaaaaaaabEjbEjbEjbEjbEjbKpbzWbKqbKrbKsbKtbKubKvbKwbKxbKybKzbKAbKBbKCbKDbKEbKFbKGbKHbKIbKJbKIbKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKTbKUbKVbKWbKTbKXbKYbIdbKZbLabLbbLcdDpbLebLfbLgbLhbLhbLiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaabaaaaadaadaadaadaadaadaadaagaadaaaaaaaaaaaabLjbLkbLlbJubLkbJvbLmbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbAkbLybLzbLAbLBbLCbLDbLEbLFbLGbLHbLIbLJbLKbLLbLMbLNbLObLPbLQbLRbJSbJTbJUbDFbLSbIEbLTbLUbLVbHfbLWbLXbLYbLZbMabHfbMbbMcbsZbAXbwRbsZaaaaaaaaaaabaaaaaabKkbKkbKjbMdbMebMfbMgbMdbMhbMibMjcddbMkbMlbMmbMnbMobMpbMqbMrbKlbHlbHlaaaaaaaabaaaaaaaaabuObMsbCFbMtbzWbBqbMubMvbMwbMxbMybMzbMAbMBbMCbMDbMEbMDbMFbMGbMHbMDbMGbMDbMIbMJbMKbMDbMLbMMbMCbMEbMGbMNbMFbMDbMObMPbMQbMNbMRbMSbMTbMUbMVbMWbMXbMYbMZbNabNbbNcbNdbNdbLiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabJtbLkbLkbJubLkbJvbLmbNebNfbNgbNhbNibNjbGEbNkbJFbNlbNmbNnbNobNpbNqbNrbNsbNtbNubNvbNwbNxbNybNzbNqbNAbNBbJObLObNCbLQbNDbNEbNFbNGbCebCebCfbNHbCfbCebHfbHfbNIbNJbLZbNKbHfbNLbNMbzzbAXbwRbsZaaaaaaaaaaaaaaabKkbKkbNNbNObNNbNPbNQbNRbMdbMdbNSbMjcddbMkbNSbMnbMnbNTbNUbNVbNWbNXbNWbHlbHlaaaaaaaaaaaaaaabuObNYbNZbOabObbObbOcbOdbOcbOcbOcbOcbOebOfbBybOgbOgbOgbOgbOhbOgbOgbOgbOgbOgbOgbOgbOibOjbOkbOlbOlbOlbOlbOlbOlbOlbOmbOnbOobOpbOqbOrbIdbOsbOtbLbbOudEXbOwbLfbOxbOybOzbLiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLjbJubJubJubJubJvbJwbOAbOBbOBbOCbODbOEbGEbOFbOGbOHbOIbBObOJbOKbOLbOMbONbOObONbONbOPbONbOMbOQbORbOSbOTbOUbOVbOQbOWbOXbOYbNFbOZbPabPbbPcbPdbPebPfbPgbPhbPibPjbLZbPkbHfbPlbNMbzzbAXbPmbsZaaaaaaaaaaaabKkbKkbPnbPobPpbPqbPrbPsbPtbPpbPubPvbPwcddbPxbPvbPybMkbPzbPAbPBbPCbMkbPDbPEbHlbHlaaaaaaaaaaaabuObPFbuObuObObbPGbPHbPIbPJbPKbPLbPMbPNbPObDabPPbPQbPRbPSbPTbPUbPVbPWbPXbPYbPZbOgbOibQabQbbQcbQdbOlbQebQfbQgbOlbQhbQibOobOobQjbQkbQlbQmbQnbQobQpbJjbJsbJjbJjbJjbJjbJoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabGEbQqbQrbQsbQtbQubQvbGEbQwbQxbOHbQybBObQzbQAbOMbOMbQBbQCbQDbQEbQFbQGbQHbOQbQIbQJciwbQLbQMbQNbQObQPbQQbDDbQRbQSbQTbQUbQVbQWbQXbQYbQZbQZbRabQZbQZbQZbQZbsZbsZbAXbRbbsZaaaaaaaaabKkbKkbPnbPocjxcjxcjBcjCcjycjAcjAbRfbRgbRhbRibRjbRkbRlcjFcjDcjDcjEcjHcjGcjGbPDbPEbHlbHlaaaaaaaaabuObRpbRqbRrbObbRsbRtbRubRvbRwbRxbRybRzbRAbRBbRCbRDbREbRFbRFbRFbRGbRHbRIbRJbRKbRLbOibRMbRNbRObRPbRQbRQbRQbRQbOlbRRbRSbRTbOobRUbRVbJjbRWbRXbRYbRZbSabSbbScbSdbIdaaaaaaaabaaaaaaaaaaaTaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaafaaaaaaaaabJtbSebJtbSebJtbSebJtbSebJtbSebJtbSeaafaafaafbSfbSgbSgbSgbSgbSgbSfbShbSibSgbAkbSjbOHbSkbBObSlbSmbOMbSnbSobSpbSqcjIbSsbStbSubOQbSvbSwbSxbSybSzbSAbSBbQPbSCbDDbSDbSEbSFbSGbSHbSIbSJbSKbQZbSLbSMbSNbSNbSObQZbSPbwRbAXbSQbFHaaaaaaaaabKkbSRbPocjxdFdbSTbSUbSVbSWbSXbSYbSZbTadHBbTcdHYbPvbTebMkbTfbTgbThbTibTjdKGcjGbPDbTlbHlaaaaaaaaabtLbTmbwbbTnbObbTobTpbTqbTrbTsbTtbTubTvbTwbTxbPPbTybTzbTAcjJbTAbTCbRKbTDbTEbTFbTGbOibTHbTIbTJbTKbTLbTMbRQbTNbOlbTObTPbTQbOobTRbTSbJjbTTbTUbTVbTVbTVbTUbTUbTWbGDaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabTXbTYbTZbTYbTZbTYbTZbTYbTZbTYbTZbTYbUabUbbSgbSgbUcbUdbUebUfbUebUgbUhbUibUjbAkbUkbUlbUmbUnbUobUpbOMbUqbSobUrbUsbUtbUubStbUvbOQbUwbUxbUybUzbUAbUBbLQbUCbUDbUEbUFbUGbUHbUIbUJbUKbSJbULbUMbUNbUObUPbUQbURbQZbUSbwRbAXbUTbFHaaaaaabKjbKjbUUbPpcjxbUVbUWbUXbUYbUZbUYbUYbVabVbbIRbVcbVdbVebVebVfbVgbVhbVebVebVibTjcjGbMkbVjbKlbKlaaaaaabtLbTmbwbbVkbObbVlbVmbVnbTrbVobObbObbwmbVpbwmbOibOibVqbVrbVsbVtbTCbVubVvbVwbVxdKPbOibVzbVAbVBbVCbTLbVDbRQbVEbOlbVFbVGbVHbOobVIbAbbJjbTTbVJbVKbVLbVMbVNbVObTWbFaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabLjbJubJubJubJubJubJubJubJubJubJubJubUabVPbVQbVRbVSbVTbVUbVVbVTbVWbVXbVYbVZbAkbWabWbbJHbBObWcbWdbOMbWebSobSqbWfbWgbSqbStbWhbOQbWibWjbWkbWlbWmbWnbWobWpbWqbFtbWrbSEbPcbWsbWtbWtbWubPcbQZbWvbWwbWxbWybWzbQZbUSbwRbAXbCrbFHaaaaaabKjbWAbWBbWCcjNbWEbUXbUXbWFbWGbWHbUXbWIbVbbVbbWJbVebVebWKbWLbWMbWNbWObVebVebWPcjObWRbWSbWTbKlaaaaaabtLbTmbWUbWUbObbWVbWWbWWbWXbWYbTubWZbXabXbbXcbXdbPPbXebXfbXfbXfbXgbXhbXhbXibXjbXhbXkbXlbXmbXnbXobRQbRQbRQbXpbOlbXqbXrbXsbOobQjbQkbJjbXtbJjbJjbJjbJjbJjbJjbJjbJjbXubXuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabJtbSebJtbSebJtbSebJtbSebJtbSebJtbSeaadbXvbXwbXxbXybXzbXAbXBbXzbVWbXCbXDbXEbAkbXFbXGbXFbBObXHbXIbOMbXJbXKbXLbXMbWgbXLbXNbXObOQbXPbXQbXRbXSbXTbXUbQObNDbDDbDDbQRbXVbXWbPcbPcbPcbPcbXXbQZbXYbQZbXZbQZbQZbQZbsZbwRbAXbYabsZaaaaaabKkbYbbYcbYdcjPbYfbYgbYhbYibYjbYkbUXbYlbYlbYmbYnbVebYobYpbYqbYqbYrbYsbYtbVebYuckebYwbWSbYxbHlaaaaaabuObTmbCybuObObbYybYzbYAbYAbYBbYCbYDbYEbYFbYGbYHbYIbYJbYKbYKbYKbYLbYMbYNbYObYPbYQbXkbYRbYSbYTbYUbOlbYVbYWbYXbOlbYYbYZbZabOobQjbQkbZbbZcbZdbZebZfbZgbZhbZibZjbZkbZlbZmbZmbZlbZlbZlbZlbZlaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabTXbTYbTZbTYbTZbTYbTZbTYbTZbTYbTZbTYbUabZnbSgbZobXBbXzbXAbXBbXzbVWbZpbZqbZqbZqbZqbZqbZqbZqbZrbZsbOMbZtbZubZvbZwbZxbZybZzbZAbOQbOQbZBbOQbZCbZDbOQbZEbZFbDDbZHbZIbPabZJbZKbZLbZMbZNbZObQZbZPbQZbZQbQZbZRbZSbZTbwRbAXbwRbsZaaaaaabKkbZUbZVbZWckfbZYbZZcaacabcaccadcaecafcagcahcaibVecajcakcalcamcanbYscaocapbYuckgcarcascatbHlaaaaaabuObTmcaucavbObbObcawcaxcaycazbTucaAcaBcaCcaDcaEcaFcaGcaHcaIcaJcaKbYMcaLcaMcaNcaObXkbOlcaPbOlbOlbOlbOlbOlbOlbOlbOobOobOobOocaQcaRbZbcaScaTcaUcaVcaWcaXbZgbZjbZjbZlcaYcaZcbabZlcbbcbcbZlbZlaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbTXcbdcbecbdcbecbdcbecbdcbecbdcbecbdbUacbfbSgcbgbXBcbhcbibXBcbhbVWcbjbZqcbkcblcbmcbncbobZqbWccbpbZAbZAbZAbZAbZAbZAbZAbZAbZAcbqbOQbOQbOQbOQbOQbOQcbrcbsbCdcbtcbrcbucbucbucbucbucbucbucbvcbvcbvcbvbQZcbwcbxbsZcbycbzcbAbsZaaaaaabKkcbBcbCcbDckhcbFbUXbUXbUXbUXbUXbUXcbGcbHcbHcbIbVebVebVebVebVecbJbYscbKbVecbLckgcbMcascbNbHlaaaaaabuOcbObwbbwbcbPbObbObbObbObbObbObcbQcbRcbScbRcbQbOibOibOibOibOibOibXkcbTcbUcbUcbVbXkcbWcbWcbWcbXcbYcbZccaccbcccccdccebwmccfccgcchcciccjcckcclcaVcaWccmbZgccnbZjccoccpccqccrbZmccsccqcctbZlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabySbySbySbySbySbySbySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabLjccubLjccubLjccubLjccubLjccubLjccuaafaafbSgccvccwccxccycczccAccBccCccDccEccFccGccHccIccJbWcccKccLccMccNccOccPccPccPccPccPccPccPccPccPccQccRccSccTccUccVccVccWbsZccXccXccYbCrccZbwRbzzbzzbuibujbsZcdabsZbsZbwRbAXcdbbsZaaaaaabKjcdccbCbPpcklcdecdfcdgcdhcdicdjcdkcdlcdmcdmcdncdmcdmcdmcdocdpcdqcdrcdsbVebMkckmbMkcasbMmbKlaaaaaabuOcducdvcdvcdvcdwcdxbwbcdycdzbuOcdAcdBcdCcdBcdDcdEcdFcdGcdHcdIcdJbXkbXkcdKcdLbXkbXkcdMcdNcdNcdOcdPcdQcdRcdRcdRcbZcdSbwmcdTcdUbMTcdVcdWcdXcdYcaVcaWcaWccmccmbZjbZlcdZceacebceccedceecefcegcehaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgceicejcekcelcemcenbVWceobZqbZqbZqbZqcepceqcercescetceuceucevcewcexcexcexcexcexcexcexccSccSccSceycezceAceBceCceDceEceFceGceHceGceGceGceGceGceIceIceIceIceJceIceIceIceKceLbsZbKkbKkbKjceMcbCceNceOcePceQceRceRceScdjceTbVbbVbbVbbVbbVbbVbbVbceTbVfceUceVceWbVeceXceYceZcfacfbbKlcfccfcbuObTmbwbbCybBibBjcfdbwbcfebwbcffcfgcfhcficfjcfgcfkcdFcflcfmcfncfocfpcfqcfrcfscftcftcfucbXcbXcbXcbXcbXcbXcbXcdRcbZcfvbwmcfwcfxcfybZbcfzcfAcfBcaVcaWccmcfCcfDbZjbZlcfEcfFcfGbZlbZmcfHbZmbZlbZlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSfbSgcfIcfIbSgcfJcfKcfLbVWcfMcfNcfOcfPcfQcfRcfScfTcfUcfVcfWcfXcfYcfZcexcgacgacgacgacgacgbcgccgdccScgeckncggcghcgicgjcgkbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZbsZcglcgmdQRcgobKjcgpcgqcgrcgscgtceQceQcgucgvcdjcgwbVbcgxcgxcgxcgxcgxbVbcgybVecgzcgAbVebVecgBcgCcgBcgDcgEcgFcgGcgHcgIcgJbtJbuObuObuObuObuObuObuObuOcgKcgLckocgNcgKcdEcdEcdEcgOcdEcdEcdEcdEcgPcgQcftcgRcgScgTcgUcgUcgUcgUcgUcbXcbZcbZbZkbwmcgVbwmbwmbZbcgWbZbbZbcaVbZjbZkbZlbZlbZlbZlcgXcfFcgYcgZchachbchcchdbZlbZlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachebSgchfchgchhchichjchkchlchmchnchochpchqchrchschtchuchvchwchxceuchychzcexcgacgacgacgacgachAchBchCchDchEchFchGchHckqchIchJchKchLcgichIchMchNchHchOchPchQdRpchHchRchSchCchTchUchVchWchXchYchZbSYbSYciacibdSgcidceQcdjcdjcdjcbGbVbcgxcgxcgxcgxcgxbVbceTbVebVebVebVecgGdShcifcigcihcihciicijcikcilcimcinciocipciqcirciscitciucivcircisckrcixciycizciAciBcixcizciCciDciEcgPciFciGciHciIciJcgUcgUcgUcgUcgUcbXciKcbZciLciMciNciObZkciPciQciRciSbZgciTciUbZlciVciWbZlciXcfFccqccqccqcfFccqciYciZbZmaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjbcjccjdcjecjfcjgcjhcjicjjcjkcjlcjmcjncjocjpcfTbJOcjqceuceucjrccScexcgacgacgacgacgacjscjtcjucjvcjwcksckucnUdSicnUcqVckscrlcksckscsQcupcksckscwBcxJcwlcwtcxXcyicjKcjLcjMcCYczWcCXczWczWczWczWczWcjQcjRcjSbWJcjUcjVcdmcjWbVbcgxcgxcgxcgxcgxbVbcjXbYncjYcjZckackbckcckdcCZcCZcCZcCZcCZcDicDacDhckickjckkcDjcJxcDjcDjcDkcKMcDjcJxckpcDjcMecDjcDjcTxcDjcDjcOKdSkcDkcUCckvckwckxckyckzcgUcgUcgUcgUcgUcbXckAcbZckBckCckDckEckFckGckHckIckJckKckLckMckQckOckPckNckRckSckTckUckVckWckXccqckYckZaafaafaafaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgclachgclbclccldcleclfclgclhclicljclkcllclmclncloceuceuceuclpclqclrcexcgacgacgacgacgaclscltchCchDcluclvclwclxckqclyclzclAclBcgiclyclCclDclxclEclFclGclHclIclJclKclLclMclNclOclPclQclRclSbSYbSYclTclUdSBclWbVbclXclYcbHcbHbVbcgxcgxcgxcgxcgxbVbclZcmacmbcmcbVbcmddTJcmfcmgcmhcmhcmicmjcmkcmlcmmcmnciocipcitcmocitcitcmpcmqcmrcmscmtcmucmvcmvcmwcmxcmpcmvcmycYecmzcmAciFciGcmBcmCcmDcgUcgUcgUcgUcgUcbXcmEcmFbZkcmGcmHcmIbZkcmJcmKcmJcmLcmMcmNcmObZlcmPcmQbZlcmRcmScmTccqcmUcfFccqcmVcmWbZmaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSfbSgcfIcfIbSgcmXcfKcmYbVWcmZcfNcnacnbcnccndcnecnfcngcnhcnicnjcnkclpcexcgacgacgacgacgacgbcnlcnmccSccScnncgkcnocgicnpcnqcnrcnrcnrcnrcnrcnrcnscnscntcnucnscnvcnwcnxcnycnzcnAcnBcgmcnCclWbKjcnDcgqcgrcnEcgtbKjbVbceTcnFcnGcnHbVbcgxcgxcgxcgxcgxcnIcnIcnJcnIcnIcnIcnIcnKcgCcgBcgDcnLcgFcnMdTKcgIcnOcnPcnPcnPcnQcnRcnScnScnScnScnScnTcnScnScnScnScnScnScZhcnVcnWcYecnXcgKcnYcftcnZcgKcgTcgUcgUcgUcgUcgUcbXcoacbZbZkcobcoccodcoecoecoecofcoecogcoecoebZlbZlbZlbZlcohcoicojcokcolcomconcoobZlbZlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgcopcoqcorcoscemcotbVWcoucovcovcowcovcoxcoycovcngclpclpcozcoAclpcexcexcexcexcexcexcexccSccSccScoBcoCcoDcoEcoFcoGcoDcoHcoIcoJcoKcoLcoMcoNcoOcoPcoQcoRcnscoScoTcoScoUcoVcoWcnAbKkbKkcoXcoYcoZcpacpbcpcbVacpdcpecpfcpfcpfcpgcpgcphcpicpjcoXcnIcpkcplcpmcpncpocnIcppcpqcigcprcpscgFcfccfccnPcptcpucpvcpwcpxcpxcpycpzcpAcpBcpCcpDcpEcpFcpGcpHcpIcpIcpJcpKcpLcpMcpNcpOcpPcpPcpPcpQcbXcbXcbXcbXcbXcbXcbXcdRcbZcpRcobcpScpTcpUcpVcpWcpXcpYcpZcqacqbcqccqdcqdbZlcqecfFcqfbZlbZmcqgbZmbZlbZlaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabJtbSebJtbSebJtbSebJtbSebJtbSebJtbSeaafaafbSgcqhbVVcqicqjcqkcqlcqmcqncqocqpcqqcqrcqscqtcovcqucqvcqvcqwcqxcqycqzcqzcqzcqAcqBcqCcqDcoBcoBcqEcoBccScqFcqFcqFcqFcqFcnrcqGcqHcqIcqJcqKcnscqLcqMcqNcqOcnscqPcqQcqRcoUcqScoWcnAaaaaaacoXcqTcoZcqUdbncqWbVacqXcqYcpfcqZcracrbcrccqUcqUcqUcrdcrecrfcrgcrhcricrjcnIcrkdcwcihcrmcrncgFaaaaaacnPcrocrpcrqcnPcrrcrscnScrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDcnScrEcrFcrGcrGcrHcpPcbZcbZcrIcdRcdRcdRcdRcdRcdRcdRcdRcbZcrJcobcrKcrLcpUcrMcrNcrOcrPcrQcrRcrScrTcqdcqdcrUcrVcrWcrXbZmcrYcrZcsabZlaaaaaaaaaaaaaadaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbTXbTYbTZbTYbTZbTYbTZbTYbTZbTYbTZbTYbUabUbbSgcsbcsccsdcsecsccsfcsgcshcovcsicsjcskcslcsmcovcsncsocsocspcsqcsocsocsrcsrcsscsscstcsucstcsvcstcstcswcswcsxcsycsxcswcswcszcszcszcsAcszcszcsBcsCcsDcnscnscsEcsFcsGcoUcsHcoWcnAaaaaaacsIcsJcsKcsLdbncsMbVacsNcsOcsPdcxcsRcsScsTcsUddxcqUcsVcsWcsXcsYcsZctactbcnIctcdcwctdctectfcfcaaaaaacnPctgcthcthcthctictjcthcthcuPcuPcuPctlctmctnctmctmctmctmctlctoctpctqctrctoctsctsctsctsctsctsctscttcttcttcttctuctuctuctuctvctwctxcrMctycpYcpYcpYcpYcpYcqdcqdcqdbZlctzcmUctAbZmccsccqcctbZlaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabTXcbdcbecbdcbecbdcbecbdcbecbdcbecbdbUabZnbSgbZoctBctCctDctEctCctFctGcovcovcovcovcovcovcovctHcsoctIctJctKctLcsoctMctNctOctOcstctPcstctQctRctSctTctUctVdTLctVctXctYctZcuacubcuccudcszcuecufcugcuhcnscuicujcukcoUculcoWcnAaaaaaacsIcumcuncuodeEcuqbVacurcuscpfcutcuucuvcuwcuxcuycqUcuzcuAcuBcuCcsZcuDcuEcuFcuGdcwcuHcuIcuJcfcaaaaaacnPcrocthdTMcuLcuMcuNcuOcthcwLcwMcwNctlcuQcuRcuScuTcuUcuVcuWcuXcuYdTNcvacvbcvccvdcvecvfcvgcvhcvicvjcvkcvlcvmcvncvocvpcvqcvrcvscpUcvtcvucvvcpYcpYcpYcvwcvxcvucqdbZlcvycvzcvAbZlcbbcvBbZlbZlaafaafaafaadaWzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabLjccubLjccubLjccubLjccubLjccubLjccuaadbXvcvCcvDcvEcvFcvGcvEcvFcvHcvIcvJcvKbSgcqucqvcqvcqvcvLcsocvMcvNcvOcvPcsoctMcvQcsscsscstcvRcvScvTcvUcvVcvWcvXcvXcvXcvYcvZcwactZcwbcwccwdcwecwfcwgcwhcwicuhcnscoUcoUcoUcoUcnAcoWcnAaaaaaacsIcwjcoZcwkdkccwmbVacwncwocpfcwpcwqcwrcrccwsdkMcwucuzcwvcwwcwxcwycwzcwAcnIcuGdmEcwCcwDcwEcfcaaaaaacnPcrocthdTOcwGcwHcwIcwJcwKcyscytcyuctmcwOcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacxbcxccxdcxccxecvicxfcxgcxhcvmcxicxjcxkcvqcxlcxmcpUcpUcpUcpUcpUcpUcpUcpUcpUcoecoebZlcxnbZmbZlbZlbZlbZlbZlaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaaaaaaaaabJtbJubJubJubJubJubJubJucxobJubJubJubUabVPcxpcxqcxrcxscxtccwcxscxucxvcxvcxwbSgcxxclpcxycxycxzcxycxycxAcxBcxCcsocsocxDcxEcxFcstcxGcxHcxIdmFctScxKcvXcvXcxLcxMcxNcxOcszcxPcxQcxRcxScszcnscnscxTcnscnscxUcxUcxUcxUcnAcoWcxVaaaaaacoXcqTcoZcxWdntcxYbVbbVbcxZcpfcwpcyacybcrccqUdeEcqUcyccnIcydcyecyfcygcnIcnIcyhdpjcyjcykcylcgFaaaaaacymcrocthdTPcyocwHcypcyqcyrcAhcAicAjctmcyvcwPcywcyxcyycyzcyAcyBcyCcyDcyEcyFcyGcyHcyIcyJcyIcyKcyLcyMcyNcyOcvmcyPcyQcyRcvqcyScyTcyUcyVcyWcyXcyYcyZczaczbczcczdbXuczeczfaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabTXcbdcbecbdcbecbdcbecbdcbecbdcbecbdbUacbfbSgbSgczgczhczibUfcziczjcxvcxvczkbSgcxxclpcxyczlczmczncxyctJczoczpczqcsoczrczscztcstczuczvczwczxczyczzczAczBczBczCcxNczDczEczFczGczHczIcszczJczKczLczMczNcxUczOcxUczPcnAcoWcxVaaaaaacoXcoXczQcqUddxczRczSbVbczTcpfcpfcpfcpfczUczVdpmczVczXcnIcnIczYczZcnIcnIcAacAbdpEcihcAccgFcgFaaaaaacymcrocthcthcAdcAecAfcAgcyrcBNcBOcBPctmcAkcAlcAmcAmcAncAocApcAqcArcAscvacAtcxacAucAvcAwcAxcAyctscAzcAAcABcvmcACcADcAEcvqcAFcAGcAHcAIcAIcyXcAJcAKcALcyXcyXczdaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabLjccubLjccubLjccubLjccubLjccubLjccuaafaafaafbSfbSgbSgbSgbSgbSgbSgbSgbSgbSgbSgcAMccScxycANczmcAOcxycAPcAQcARcAScATcAUcAVcAWcstcAXcAYcAZcBacstcBbcBccBdcBdcBecBfcBgctZcBhcBicwccBjcszczJcBkcBlcBmczMczMcxUczOcxUcnAcoWcxVaaaaaaaaacsIcBncBoddxdTQcBqcBrcBscBtcBucBucBvcBwdTRdbndTScBwcBzcmhcBAcBBcBCcBDcBEdTTdpEcBGcBHcfcaaaaaaaaacymcrocBIcthcBJcBKcBLcBMcyrcDqcDrcDqctmcBQcwPcBRcBScBTcBUcBVcBWcuYcBXcvacBYcxacBZcyIcCacyIcCbctscCccCdcCecvmcCfcCgcChcvqcCicCjcCkcClcCmcCncCocCpczacCqcCrczdaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacCscCtcCucCvcCwcCwcCxcCycCzcCAcCBcxycCCcCDcCEcxycsocsocsocsocCFcCGcCHcCFcstcCIcstcCJcCKcstcCLcCMcCNcCNcCOcCPcCLcszcCQcCRcCScCTcszcCUcCUcCUcCVcCUczMczMczMcxUcnAcoWcnAaaaaaaaaacsIcsIcCWcBoddxddxdtWduidpFdpFduncDbcDccDdcDecDfcDccDgdvTduQduQdvedwmdpEdpEcBGcDlcfccfcaaaaaaaaacnPcrocDmcthcthcDncDocDpcyrctkcFacEYctmcDscDtcDucDvcDwcDxcDycDzcDAcDBcDCcDDctscDEcDFcDGcDHcDIctscDJcDKcDLcvmcDMcDNcDOcvqcDPcDQcDRcDScDTcyXcDUcDVcDWczdczdczdaafaafaafaaTaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacCscDXcDYcDZcEacCscCscCscEbcEccEdcxycxycxycxycxycEecEfcEgcEhcCFcEicEjcEkcElcEmcEncEocEpcstcEqcErcEscEtcEucEvcEwcszctZcExctZcEycszcEzcEAcEBcECcCUcnAcnAcEDcnAcnAcEEcnAaaaaaaaaaaaacsIcsIcCWcBocqUcEFcEGcEHcEIcqUcEJcEKcELdbncEMcEKcENcihcEOcEPcEQcERcihcBGcDlcfccfcaaaaaaaaaaaacnPcrocEScETcEUcEVcEWcEXcLjcEZdlAcFbctmcFcctmctmcFdcFecFdctlctqcFfctqcFgctqctscvicFicFhcvictsctscFjcFkcFlcvmcvqcFmcvqcvqcDPcDQcDRcFncFocyXcFpcFqcFrczdaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDZcFscDZcFtcFucFvcCscFwcFxcEccFycFzcFAcFBcFCcFDcEecFEcFFcEhcCFcFGcFHcFIcFJcFKcCFcFLcFMcFNcFOcFPcFQcFQcFRcFScFTcFUcFVcFWcFXcFYcCUcFZcGacGbcGccCUcGdcGeczMcGfcGgcGhcnAaaaaaaaaaaaaaaacsIcsIcGicGjcGicGkcGlcGmcGncGncGocqWdbncqWcGocGpcGpcGqcGrcGscGtcGucGtcfccfcaaaaaaaaaaaaaaacnPcGvcGwcETcGxcGycGzcGAcGBcGCcGDcGEcGFcGGcGHcGIcGJcGKcGEcGLcGMcGNcGOcGPcGQcGRcGScGTcGUcGVcGWcGXcGYcGZcHacHbcHccHdcHecHfcHgcHhcHicHjcHkcyXcyXcHlcyXczdaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaafaafaafaagaadaadaadaadaadaadaagaaaaaaaaacDZcHmcHncHocFucHpcHqcHrcHscHtcFycHucFAcFBcFCcFDcFDcHvcHwcEhcCFcHxcHycHzcHAcHBcHCcHDcHEcHFcHGcHHcHFcHFcHIcHJcHKcHFcHLcHDcHMcHNcHOcHPcHQcHRcHScHTcGdcGeczMcEEczMcHUcnAaaaaaaaaaaabaaaaaacsIcsIcoXcHVcHWcHXcHYcGncqTcHZcqWdbncqWcIacylcGpcIbcIccIdcGpcgFcfccfcaaaaaaaabaaaaaaaaacnPcIecIfcETcEUcIgcIhcIicIjcIkcIlcImcIncIocIpcIqcIrcIqcImcIscItcIucIvcIwcIxcIycIzcIAcIBcICcIDcIEcIFcIGcIHcIIcIFcIJcIFcIKcIFcILcIMcINcIOcIPcIQcIRcIScITaaaaaaaabaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacCscIUcIVcIWcFucIXcCscIYcIZcJacJbcJbcJccJbcJccJdcJecJfcHwcHwcCFcJgcJhcJhcJicJjcJkcFQcJlcFQcJmcFQcFQcFQcJlcJncJocJocJocJocJocJocJpcJqcJrcJscJtcCUcGdcGeczMcJucJvcJvcJvcJvcJvaaaaaaaaaaaaaaaaaacoXcoXcsIcsIcsIcoXcoXcoXcJwdwLcJycoXcgFcgFcfccfccfccgFcgFaaaaaaaaaaaaaaaaaacJzcJzcJzcJzcJAcJBcJBcJCcJDcJBcJEcJFcJGcJFcJHcJIcJJcJKcJLcJKcJJcJJcJJcJMcJNcJOcJJcJPcJPcJQcJRcJQcJPcJPcJScJTcJUcJTcJScyUcJVcJWcJXcJYcyUcJZcKacKbcKccKdcKecKfaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcKgcKhcCscKicKjcKkcCscIYcKlcKmcKncKocKpcKqcKrcKscFDcKtcHwcHwcCFcKucKvcJhcKwcKxcCFcKycKzcFQcKAcKBcKBcKBcKzcKCcJocKDcKDcKDcKDcKDcKEcKFcKFcKGcKFcnAcnAcnAczMcEEcJvcKHcKIcKJcJvcJvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacsIcKKcKLdwWcKNcKOcsIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJzcJzcKPcKQcJzcKRcJDcKScKTcKUcJBcKVcKWcKXcKYcKZcJHcLacLbcLccLdcLecJJcLfcLgcLhcLidoUcJPcLkcLlcLmcLncLocLpcLqcLrcLscLtcLucLvcLvcLvcLvcLvcLvcLwcLxcLycLzcLAcLBcLCaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaacLDcCscDZcDZcCscCscLEcLFcLFcLEdTUdTVcLEcLEcKscFDcHwcHwcHwcCFcLIcLJcLKcLLcLMcCFcLNcFQcFQcLOcLPcFQcFQcFQcLQcLRcKDcKDcKDcKDcKDcKEcLScLTcLUcKFcLVcLWcnAczMcLXcLYcLZcLZcMacMbcJvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacsIdTWcMddxecMfcMgcsIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJzcMhcMicMjcJzcMkcJDcMlcMmcMncJBcMocMpcMqcMrcMscMtcMucMvcMwcMxcMycJKcMzcMAcMBcMCcMDcMEcMFcMGcMHcMIcMJcJPcMKcMLcMMcMNcMOcLvcMPcMQcMRcMScLvcMTcMUcKbcMVcMWcMXcKfaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacLEcMYcMZcNacLEcKscFDcHwcHwcHwcCFcCFcCFcCFcCFcCFcCFcNbcNccFQcFQcNdcNdcNdcFQcNecNfcKDcKDcKDcKDcKDcKEcNgcNhcNicKFcNjczMcNkcNlcNmcJvcNncNocNpcNqcJvcnAcnAcnAcnAcxVcxVcxVcnAcnAcnAcnAcnAcNrcNsdwWcNtcNrcnPcnPcnPcnPcnPcymcymcymcnPcnPcnPcnPcJzcNucNvcNwcJzcNxcJDcNycNzcNAcJBcNBcNCcNDcNEcNFcJHcNGcNHcNIcNJcNKcJNcMzcMAcNLcNMcNNcNOcNPcNQcNRcNScNTcJPcNUcNVcNWcNXcNYcLvcNZcOacOacObcLvcOccOdcOecOfcOgcOhcITaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacLEcOicOjcOkcLEcKscFDcFDcOlcHwcEecEecHwcHwcHwcOmcFDcCLcOncCLcCLcOocOpcOqcOrcOscOtcKDcKDcKDcKDcKDcKEcOucOvcOwcKFcOxcOycnAcOzcOAcJvcJvcJvcJvcJvcJvcOBcOCcODcOEcOFcOGcOHcOHcOHcOHcOHcOHcOIdTXdxrcOLcOMcONcONcONcONcONcONcOOcOPcnPcOQcORcOScJzcOTcNvcOUcJzcOVcJDcJDcOWcJDcJBcOXcOYcOZcPacPbcJFcPccPdcPecPfcNKcJKcMzcPgcPhcPicPjcPkcPlcPmcPncPocPpcJPcJScJScJScJScJScLvcNZcPqcPrcObcLvcPscPtcITcITcITcITcITaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaaaaaaaaaaaacLEcPucPucLEcLEcKscHwcFDcFDcEecEecFDcFDcFDcFDcFDcFDcPvcPvcPvcCLcCLcCLcCLcPwcPxcJocKDcKDcKDcKDcKDcKEcKFcPycKFcKFcnAcnAcnAcPzcPAcPBcGgcPCcPDcPEcGgcOHcPFcPGcPHcPIcPJcOBczJcOBcOBcPKcPLcnAcPMcPNcPOcnPcPPcPQcPPcPRcPScPTcPUcOVcPTcrqcrqcPVcJzcJzcPWcJzcJzcOVcnPcETcPXcPYcJIcPZcQacQbcQccQdcJHcQecQfcQgcQhcQicJJcQjcQkcQlcQmcQncQocQpcQqcQrcQscQtcQucQvcQwcQxcQycQzcLvcQAcQBcOacQCcLvcQDcQEcobaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaadaadaaaaaaaaacLEcQFcQGcQHcLEcQIcJdcQJcQKcQLcQMcQNcQOcHwcQPcHwcQQcQRcQRcQRcQScQTcQTcCLcCLcCLcJocJocJocJocJocJocJocPvcQUcPvcFDcQVcFDcQWczMcEEczMcQXcQYcOzcQZczMcOBcOBcPKcOBcOBcRaczJcRbcRccRdcRbcRbcRbcRecRfcRgcRhcRhcRhcRhcRhcRhcRhcRicRjcRkcRkcRkcRlcRmcRncRocRkcRkcRpcRqcRrcRscRtcJIcJIcJIcJIcJIcJIcJIcRucJJcJJcJJcRvcJJcRwcRxcRycRzcRwcJPcRAcJPcJPcJPcLpcRBcRCcRDcREcRFcRGcRHcOacRIcRJcRKcRLcRMcRNcobaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabetaafaafaafaafaaaaaaaaacLEcLEcQIcJccJccJccROcRPcRPcRPcRQcRPcRPcRPcRRcJccJccJccJccROcJccJccJccJccJccJccJccJccRScRTcRUcRVcRWcJccRXcRYcRZcSacSbcSbcSbcSbcSbcSbcSbcRbcRbcRbcRbcRbcRbcRbcSccSdcSecSfcRbcSgcShcSicRhcSjcSkcSlcSmcSncRhcSocrqcrpcrqcrqcSpcSqcSqcSqcSqcSqcSqcSrcSscrqcStcSucSvcSwcSxcSxcSycSzcSAcSBcSCcSDcSEcRycSFcSGcSHcSIcSJcRycSKcSDcSCcSBcSLcRBcSMcSNcSOcSPcSQcLvcSRcSScSTcSUcSVcSWcSXcobaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacLEcLEcLFcLFcLFcLEcLEcLEcLFcLFcLFcLEcLEcLEcLEcLEcLEcLEcLEcHwcHwcHwcHwcHwcHwcHwcHwcHwcHwcHwcLEcLEcLEcLEcSYcSZcTacSbcTbcTccTdcTecTfcSbcTgcThcTicTjcTkcTlcTmcTncTncTocTpcRbcTqdxKcTrcTscTtcTucTvcTwdFqcRhcTycTzcnPcTAcTBcPTcSqcTCcTDcTEcTFcTGcrqcSscTHcTIcTJcTKcTLcTMcTNcETcSzcTOcSHcTPcTQcTRcRycTScTTcTUcTVcTWcRycTXcTQcTPcSHcTYcRBcRBcRBcRBcTZcRBcLvcLvcLvcLvcLvcLvcUbcUacUcaafaafaafaaTaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacLEcLEcUdcUecUfcUgcUhcUicUjcUkcUlcLEcLEaaaaaaaaacxVcUmcUncSbcSbcSbcUocUpcUqcSbcUrcUscUtcUucUvcUwcRbcUxcUycUzcUAcRbcUBdGdcUDcRhcUEcUFcUGcUHcUIcRhcUJcUKcSqcSqcSqcSqcSqcULcUMcUNcUOcUPcpucUQcURcUScUScURcUTcUUcUVcUWcUXcUYcUZcVacVbcVccVdcVecVfcVgcVecVecVdcVgcVhcVicVecVjcVkcVlcVmcVncVocVpcVqcVrcVscVtcVucVvcVwcVxcVyaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacLEcLEcLEcLFcLFcLFcLFcLFcLEcLEcLEaaaaaaaaaaaacxVcVzcVAcSbcVBcVCcVDcVEcVFcSbcVGcVHcVIcVJcVKcVLcRbcRbcVMcRbcRbcRbcVNdxKcVOcRhcRhcVPcVQcVRcVScRhcVTcVUcVVcVWcVXcVYcSqcVZcWacWbcWccSqcWdcOVcWecWfcWgcWhcWicWicWjcETcSzcWkcWlcWmcWncWocWpcWqcWrcWscWtcWqcWucWvcWwcWxcWycWzcWAcWBcWCcWDcWEcWFcWGcWHcWIcWJcWKcWLcWMcWNcWOaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaabaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacSYcUmcUncSbcSbcSbcSbcWPcSbcWQcWRcWRcWScWRcWRcWTcWUcWVcWWcWXcWYcWZcXadxKcXbcXccXdcXecXfcXgcXhcXicXjcXkcXldTYcXncXocSqcSqcSqcXpcSqcSqcnPcXqcXrcXscXtcXucSycymcymcSycSzcSzcXvcXwcXxcXycXxcRwcXzcXAcXBcRwcXCcXDcXEcXFcXEcXGcXHcXHcXHcXIcXJcXIcXKcXLcXMcXLcXNcXOcXPcXOcVyaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadaaTaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacSYcSZcXQcXRcXScXTcRbcXUcSdcXVcXWcXWcXXcXWcXWcXYcSdcXZcYacYbcYccWZcYddGwcYfcXccYgcYhcVUcYicYjcVUcYkcYlcYmcYncYocYpcYqcYrcYscYtcYucSqcYvcYwcYxcYycYycSyaaaaaaaafaaaaaaaaacXvcYzcYAcYBcYCcYDcYDcYEcYDcYDcYFcYGcYHcYIcYJcYKcYLcYMcXHcYNcYOcYPcXKcYQcYRcYScXNcVycWOcVycUcaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacSYcSYcYTcYUcYVcYVcYVcYWcYXcYYcYYcYZcYYcZacYYcZbcZccYZcYYcZdcYYcZecZfcZgdGJcZicZjcZkcZlcZmcZncZmcZmcZocZpcZqdTZcZscZtcZtcZtcZtcZucZvcSqcZwcYwcZxcZycZzcZAaaaaaaaafaaaaaaaaacXvcZBcZCcZDcZEcZFcZGcZHcZIcZJcZKcZLcZMcZNcXEcZOcZPcZQcXHcZRcZScZTcXKcZUcZVcZWcXNaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaTaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaacSYcZXcZYcZZdaadabdaccRbdaddaedafdagdahcSdcSdcXUcSddaicSddajcSddakdaldamdxKcTrdandUadapdaqcVUdardaqcYkdasdatcYpcYodaudavdawdaxdaydazcSqdaAdaBcZxaaaaaaaaaaaaaaaaafaaaaaaaaacXvdaCdaDdaEdaFcZFdaGdaHdaIcZJdaJdaKdaLdaMcXEdaNdaOdaPcXHdaQdaRdaScXKdaTdaUdaVcXNaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaacSYdaWdaXdaYdaZdbadbacRbdbbdbcdafdbddbedbfcSddbgdbhdaidbidbjdbkdblcRbdbmdGLdbocXcdbpdbqdbrdbsdbtdbrcYkdasdUbdbvcYodbwdbxdbydbzdaydbAcSqdbBdbCcZxaaaaaaaaaaaaaaaaafaaaaaaaaacXvdbDdbEdbFdbGcZFdbHdbIdaIcZJdbJdbKdbLdbMcXCdbNdbNdbNdbNdbOdbPdbOdbQdbRdbSdbRcXNaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafcSYdbTdbUdbUdbUdbUdbUdbUdbUdbUdbVdbUdbUdbUdbWdbXcRbdbYcXZdbZcYbdcacWZdcbdxKdccdcddcedcfdcgcVUdcfdcgcYkdchdatdcidcjdckdckdckdckdcldcmcSqdcndcocYxaaaaaaaaaaaaaaaaafaafaafaafcXvcXvcXvcXvcXvdcpdcqdcrdcsdcpcXCcXCcXCcXCcXCaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacxVdctdcudcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcudGPdGUdbUdcycSddczcSdcSdcWZdcbdxKdcAdcddcBcVUcVUcVUcVUcVUcYkdcCdatcYpcYocYpcYpcYpcYpcYpdcDcSqdcEdcFcYxaaaaaaaaaaaaaadaagaaaaaaaaaaaTaaaaaaaaaaaadcpdcpdcpdcpdcpaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxVdctdcGdcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcudcHdcIdbUdcJdcKdcLdcMdcNcRbdcOdGddcPcXcdcQdcRdcSdcTdcUdcVdcWdcXdcYdcZddaddbddcdddddecYpddfcSqddgddhcYxaaaaaaaaaaagaadaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaacxVdctddidcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcuddjddkdbUcRbcRbddlcRbcRbcRbddmdxKddndGWddoddoddpddpddpddqddrddsddoddtdduddoddpddpddpddpddoddoddvdbCcYxaafaafaafaadaaaaabaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafcSYdctdcudcvdcvdcvdcvdcvdcvdcvdcvdcvdcvddwdHcddyddzdbUddAddBddBddCddDddEdxKddFddFddpddGddHddIddJddKddLddMddNddOddPddQddRddSddTddUddVddWcZwdbCcYxaaaaaaaaaaadaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacxVdctdcudcvdcvdcvdcvdcvdcvdcvdcvdcvdcvddXddYddZdeadebdecdeddeedefdegdehdGwdeicTrdejdekdeldemdendeldeodepdepdepdeqderdepdepdesdepdetddodeudbCcZxaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaagaaaaadaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacxVdctdevdcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcudewdexdeydezdeAdeBdeCcTrcRgdeDdUcdeFdeGdeHdeIdeJdeKdeLdeLdeMdeLdeNdeLdeOdePdeQdeRdeSdeQdeTdeUdeVdeWcZxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcSYdctdcudcvdcvdcvdcvdcvdcvdcvdcvdcvdcvddwdHcdeXdeYdbUdeZdfadfbdfcddDdUdcShdUeddFddpdffdfgdfhdfidfjdfkdfldfmdfndfodfidfjdfpdfqdfqdfrddodfsdbCcZxaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacxVdctddidcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcudftdfudbUdfvdfwdfvdfvdfvddDdfxdfydfzddoddodfAddoddoddoddodfBddoddoddoddoddoddoddoddoddoddoddodfCdfDcYxaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacxVdfFdcGdcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcudcHdfGdfHdfIdfJdfKdfLdfMdfNcSicShdfOdfPdfQdfRdfSdfTdfUdfSdfVdfQdfWdfXdfYdfZdgadgbdfWdgcdgddgedgfdggcYxaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacxVdfFdcudcvdcvdcvdcvdcvdcvdcvdcvdcvdcvdcudghdgidfHdgjdgkdgldgmdgndgodgpdHedgqdfPdfSdgrdgsdgtdgudgvdgwdfSdfWdgxdgydgzdgAdgBdfWdgCdgDdgEdgFdgGcYxaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafcSYdfFdbUdbUdgHdgIdgJdbUdbUdbUdbUdbUdbUdbUdbUdbUdbUdgKdgLdgMdgNdfMdgOdgPdGddgQdgRdgSdgTdgUdfTdfTdgVdgWdfSdgXdgYdgZdhadhbdhcdfWdhddhedgEdhfdgGcYxaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacSYdfFculdhgdhhdhgdhidhgdhjdhkdhldhkdhmdhndhodhpdhgdhqdfvdfvdfvdfvdhrddFdxKdhsdgRdhtdhudhtdfTdhvdhtdhwdhxdhydhzdhzdhAdhzdhBdfWdhCdhDdhEdhFdhGcYxaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfEdfEdfEdfEdfEdfEdfEdfEdfEdfEdfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacSYdfFcsHdhgdhHdhIdhJdhKdhjdhLdhldhMdhmdhNdhMdhMdhOdhMdhMdhkdhMdhPdamddFdxKdhQdfPdfSdgrdgsdfTdfTdgvdgwdhRdfWdgXdgXdhSdgXdgXdfWdgRdgRdgRdfCdhTdhUdhUdhUaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSYdhVdhWdhgdhXdhYdhZdhMdiadibdicdiddicdiedifdigdihdifdiidifdifdijdgodgpdHedikdfPdhtdildimdindindiodipdiqdirdisdisditdiudivdiwdixdivdivdiydizdiAdiBdiCaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSYdiDdiEdiFdiGdiHdiIdiJdiKdiLdiMdiNdiOdiPdhMdhMdhMdiQdhgdiRdhgdhgdhgdiSdGwdiTdgRdiUdiVdiWdiXdiYdiZdjadjbdjcdjddjbdjedjfdjgdjhdjidjhdjhdjjdjkdjldjmdiCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSYdjndjodhgdjpdjqdjrdhMdjsdhMdhMdjtdhMdiPdjudjvdjwdjxdiRdjydjzdjAdhgdjBdxKdjCdgRdfPdfPdgRdjDdjEdgRdjFdfPdgRdgRdjGdgRdjHdgRdjIdjJdjKdfSdjLdjMdgRdhUdhUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSYczJdjNdhgdjOdhMdjPdhMdjsdjQdjRdjSdjTdjUdjVdjWdjXdjXdjYdjZdkadkbdhgddFdHfdkddkedkfdkgdkhdkidkjdkkdkldccdkmdgRdkndkodkpdgRdkqdkqdkrdksdktdkudkvdkwdkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSYcSYcSYcSYcSYcSYcSYdkydhgdhgdkzdkAdkBdjsdkCdjRdkDdjTdkEdkFdkDdkGdkHdiRdkIdkJdkKdhgdkLdHmdkNdkOdkPdkQdkRdkSdkTdkUdkVdkWdkXdgRdgRdgRdgRdgRdgRdgRdgRdgRdkYdkZdkZdkZdladlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlbdlbdlbdlcdlbdlbdlddledlfdlgdhgdlhdlidlidljdlkdhgdhgdhgdhgdhgdhgdhgdhgdhgdhgdhgdhgdIjdlldGLdlmdlndlndlndlndlndlndlndlndlndlndlndlodlpdlodlqdlrdlsdltdlodludlvdkZdlwdlxdlyaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlbdlzdOedOedOedlBdlBdledlCdlDdlDdlEdlDdlFdlGdlHdlIdlJdlKdlLdlMdlNdlOdlPdlQdlRdlSdlTdlUddFdxKdlVdlndlWdlXdlYdlZdmadmbdlndmcdmddlndlqdlqdlqdlqdlqdlqdlqdlqdmedmfdmgdmfdmhdlyaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlcdmidmjdmkdmkdmldlcdIpdmmdmndmodmpdmqdmrdmsdmtdmudmvdmwdmxdmydmzdmAdmBdmCdmDdIxdIxdIxdJudMEdmGdlndlndlndmHdmIdmJdmKdmLdmMdmNdlndmOdmPdmQdmRdmSdmTdmUdlqdludmfdkZdmVdmWdlyaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlbdlzdmXdmYdmYdmZdnadnbdncdnddnednfdngdnhdnidngdngdnfdnjdnkdnldnmdnndnodnpdnqdnrdnsdnpddFdNidnudlndnvdnwdnxdnydnzdnAdlndnBdmddlndnCdnDdnEdnFdnGdnHdnIdlqdludnJdkZdkZdladlaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlbdlzdnKdmYdmYdmZdnadnbdncdnLdnMdnfdnNdnOdnPdnQdnRdnfdnSdnSdnTdnSdnUdnVdnWdnXdnWdnYdnZdoadNidobdlndlndlndlndocdlndlndlndlndlndlndoddnDdnEdoedofdnDdogdlqdohdmfdmfdoidlaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlcdojdokdoldoldmldlcdledomdnLdondngdoodopdoqdoodoodordosdotdoudotdovdnVdowdoxdoydnWdozddFdNidoAdoBdoCdoDdoEdoFdoGdoHdoIdoJdoKdoLdoMdoMdoMdoNdoOdoOdoPdoQdoRdoSdmfdoTdlyaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlbdlzdSRdSRdSRdlBdlBdledoVdnLdoWdngdoXdoYdoZdpadpbdnfdpcdpddpedotdpfdnVdpgdphdpidnWdozddFdOYdoAdoBdoCdpkdpldpldPmdpndpldpodpldppdpqdprdpsdppdpldptdpldlqdpudpvdmfdpwdlyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlbdlbdlbdlcdlbdlbdpxdledpydpzdpAdnfdpBdpCdpDdUydSSdnfdpGdpHdpIdotdpJdnVdpKdpLdpMdpNdpOddFdpPdpQdpRdpSdpTdpUdpVdpldpndpWdpXdpXdpYdpXdpZdpZdqadpZdpZdlqdlqdqbdqcdmfdqddlyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadledledledledledledledqedqfdondngdqgdqhdqidqjdqkdnfdqldotdqmdqndqodnVdqpdqqdqrdnWdozddFdxKdqsdqtdqudpkdqvdqwdpldpndqxdpXdqydqzdqAdpZdqBdqCdqDdpZdqEdlqdqFdqGdladladlaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadledqHdqIdoWdngdqJdnOdqJdqKdqLdnfdqMdotdqNdotdqOdnVdqPdqQdqRdnWdqSdqTcShdqUdqtdqVdqWdqXdqYdpldqZdradpXdrbdrcdrddpZdredrfdrgdpZdrhdlqdridrjdlaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkaaaaaaaaaaaaaaaaaadledrldrmdnodnfdrndrodrpdqJdrqdrrdrsdrtdrudrtdrvdnVdnVdnVdnVdrwdrxdrydrzdrAdrxdrBdrCdrDdqYdrEdpldradpXdrFdrGdrHdpZdrIdrJdrKdpZdqEdlqdrLdrMdlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkaaaaaaaaaaaadrxdrxdrNdrOdrPdnfdnfdngdngdngdnfdnfdrQdnSdnSdnSdrQdrRdrSdrTdrPdrUdrTdrOdrVdrNdrWdrxdrRdrXdrXdrXdrXdrRdpXdpXdpXdpXdpZdpZdpZdpZdpZdlqdlqdrYdrZdrxdrxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkaaaaaaaaaaaadrxdsadsbdscdscdrXdsddsedsfdsgdshdsgdsidsjdskdsldskdsmdsbdscdscdsndscdsodspdsbdscdsndscdsodscdsqdskdsgdskdsjdsrdsldshdsgdssdsedsddrXdscdstdsudsvdrxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswaaaaaaaaaaaaaaadswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkaaaaaaaaaaaadrxdsxdsydszdsAdsBdsCdsCdsDdsCdsCdsAdsEdsCdsCdsDdsCdsCdsFdsCdsCdsBdsCdsGdsHdsFdsCdsBdsCdsDdsCdsCdsCdsAdsCdsIdSTdsDdsCdsCdsAdsCdsCdsBdsAdsJdsKdsLdrxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswaaaaaaaaadswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkaaaaaaaaaaaadrxdrxdsMdsNdsOdsndsPdsQdsRdsSdsTdsUdsTdsVdsWdsXdsTdsSdsYdrxdrRdrxdsZdtadtbdtcdtddrxdrRdrxdtedsSdsTdsUdtfdsVdsTdsXdsTdsSdtgdsQdthdsndsOdsNdtidrxdrxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkaaaaaaaaaaaaaaadtjdtkdtldtjdrxdrXdrxdrxdrXdtmdrXdrxdrxdrxdrXdtmdrXdrxdrxaaadtndtodtpdtqdtrdtsdtnaaadrxdrxdrXdtmdrXdrxdrxdrxdrXdtmdrXdrxdrxdrXdrxdttdtudtvdttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkaaaaaaaaaaaaaaadtjdtwdtxdtyaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadtzdtAdtBdtCdtzaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadtDdtEdtFdttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkdrkdrkaaaaaaaaadtydtjdtGdtHdtIaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadtJdtKdSUdtLdtJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadtMdtNdtOdttdtDaaaaaaaaadtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkdrkdrkdtQdtRdtydtydtSdtTdtUdtyaaaaaaaafaaaaaadtVdtVdtVdtVdtVdtVdtVaaaaaaaafaaaaaadtzdtKdSVdtXdtzaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadtDdtYdtZduadtDdtDdubducdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkdrkdrkdudduedufdugduhdSWdujdtjaaaaaaaafaaadtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaafaaaaaadtndukdSUduldtnaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadttdumdSXduodupduqdurdusdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkdrkdrkdtRdutduuduvduwduxduydtyaaaaaaaafaafdtVdtVdtVdtVdtVdtVdtVdtVdtVaafaafaaaaaadtzdtLdSUdtLdtzaaaaaaaafaaaaaaduzduzduzduzduzaaaaaaaaaaaaaafaaaaaadtDduAduBduCduDduEduFdubdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkdrkdrkdrkdrkdrkdrkaaaaaaaaadtydtyduGduHdtyaaaaaabdCaaadtVdtVdtVdtVdtVdtVdtVdtVdtVaaabdCaaaaaadtzdtLdSUdtLdtzaaaaaabdCaaaduzduzduzduzduzduzduzaaaaaaaaabdCaaaaaadtDduIduJdtDdtDaaaaaaaaadtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPdtPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkdrkaaaaaaaaadrkdrkdrkaaaaaaaaaaaadtyduGduKdtyaaaaaaaafaaadtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaafaaaaaadtzduLdSUdtLdtzaaaaaaaafaaaduzduzduzduzduzduzduzaaaaaaaaaaafaaaaaadtDduMduJdtDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrkdrkaaaaaaaaaaaaaaadrkdrkaaaaaaaaaaaadtjduNduOdtjaaaaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaaaaadtnduPdSYduRdtnaaaaaaaaaduzduzduzduzduzduzduzduzduzaaaaaaaaaaaaaaadttduSduTdttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaduUdtjdtjdtjdtjduVduWduvduXduYdtQdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVduZdvadvbdvcdvddSZdvfdtzdtzdtzdvgduzduzduzduzduzduzduzduzduzaaaaaadvhdvidvjdvkdvldvmdttdttdttdttdvnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtjdvodvpdvqdvrdvsdvtdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdvudvvdvwdvxdvydSUdvzdvAdvBdvCdvDduzduzduzduzduzduzduzduzduzaaaaaadvEdvFdvGdvHdvIdvJdttaaaaaaaaaaaadvKdvKaaaaaaaaaaaaaaadvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadswdswdswdswdswaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtyduGdvLdvqdvMdvNdvOdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdvPdvQdvRdvxdvSdTadvUdvVdvWdvXdvYduzduzduzduzduzduzduzduzduzaaaaaadvZdwadwbdvHdwcduJdtDaaaaaaaaaaaadvKdvKdvKaaaaaaaaadvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwddwddwddwddwddwddwddwddwddwddwdaaaaaaaaaaaadtydtydwedwfduvdwgdwhdtRdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdwidwjdwkdvcdwldTbdwndtzdtzdtzdtzduzduzduzduzduzduzduzduzduzaaaaaadtDdwodwpdwqdwrdwsdtDdtDaaaaaaaaadvKdvKdvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwddwddwddwddwddwddwddwddwddwddwddwddwtdwudwvduvdwwduxduydUfdtjaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaadtndUgdtLdSUdtLdUhdtnaaaaaaduzduzduzduzduzduzduzduzduzaaaaaaaaaaaadttdUiduAduBdwBduDdwCdwDdubdvKdvKdvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwddwddwddwddwddwddwddwddwddwddwddwddwEdwFdwGdwHdwIdSWduHdwJdtjaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaadtndwKdtLdTcdtLdwMdtnaaaaaaduzduzduzduzduzduzduzduzduzaaaaaaaaaaaadttdwNduIdSXdwOdwPdwQdwRdwSdvKdvKdvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwddwddwddwddwddwddwddwddwddwddwddwddtRdtRdtydtydwTdwUdwVdUjdtjaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaadtndUkdtLdTddwXdUldtnaaaaaaduzduzduzduzduzduzduzduzduzaaaaaaaaaaaadttdUmdwYdwZdxadtDdtDdubducdvKdvKdvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwddwddwddwddwddwddwddwddwddwddwdaaaaaaaaaaaadtydtydxbdxcduvduXduYdtRdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdwidvadvbdvcdxddTedxfdtzdtzdtzdtzduzduzduzduzduzduzduzduzduzaaaaaadtDdvidvjdvkdxgdxhdtDdtDaaaaaaaaadvKdvKdvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtyduGdxidxjdxkdxldxmdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdxndxodxpdxqdvSdTfdxsdxtdxudxvdxwduzduzduzduzduzduzduzduzduzaaaaaadxxdxydxzdxAdxBduJdtDaaaaaaaaaaaaaaadvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtjduGdxCdxjdxDdxEdxFdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdxGdxHdxIdxqdxJdTgdxLdxMdxNdxOdxPduzduzduzduzduzduzduzduzduzaaaaaadxQdxRdxSdxAdxTduJdttaaaaaaaaaaaaaaadvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaduUdtjdtjdtjdtjdxUdxVduvdwgdwhdtQdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVduZdwjdwkdvcdxWdTedxXdtzdtzdtzdvgduzduzduzduzduzduzduzduzduzaaaaaadvhdwodwpdvkdxYdxZdttdttdttdttdvnaaadvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtjdyadybdtjaaaaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaaaaadtndycdyddyedtnaaaaaaaaaduzduzduzduzduzduzduzduzduzaaaaaaaaaaaaaaadttdyfdygdttaaaaaaaaaaaaaaadvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtydyhdyidtyaaaaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaaaaadtJdyjdykdtLdtJaaaaaaaaaduzduzduzduzduzduzduzduzduzaaaaaaaaaaaaaaadtDdyldymdtDaaaaaaaaaaaaaaadvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyndyodypdyqaaaaaaaabdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaabaaaaaadtzdvfdyrdysdtzaaaaaaaabaaaaaaduzduzduzduzduzaaaaaaaaaaaaaabaaaaaadvidytdyudyvaaaaaaaabaaaaaadvKdvKdvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadywdyxdyydywaaaaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaaaaadtndtzdyzdtndtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyAdyBdyBdyAaaaaaaaaaaaaaaaaaadvKdvKdvKdvKdvKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyCdyDdyEdyFaaaaaaaaadtVdtVdtVdtVdtVdtVdtVdtVdtVdtVdtVaaaaaaaaadtzdyGdyHdyIdtzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyJdyKdyLdyMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadutdyNdyOdwhaaaaaaaaaaaaaaaaaadtVdtVdtVdtVdtVaaaaaaaaaaaaaaaaaadwidyPdyQdyRdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadySdyTdyUduFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduUdyVdyWdtjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyXdwidyYdtndtnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadttdyZdzadvnaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcaaaaaaaaaaaadzcdzcdzcdzcdzcaaaaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcaaaaaadzcdzcdzcdzcdzcdzcaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaadzddzddzddzddzddzddzddzddzddzddzddzdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbdzbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcdzcdzcdzcdzcaaaaaaaaaaaaaaadzcdzcdzcdzcdzcdzcaaaaaadzcdzcdzcdzcdzcdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzcdzcdzcdzcaaaaaaaaaaaadzcdzcdzcdzcdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaaaaaaaaaaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaaaaaaaaaaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaaaaaaaaaaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaaaaaaaaaaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaaaaaaaaaaaaaaaaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaadaadaadaadaadaafaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaagaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaafaafaaaaaaaaaaafaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaafaagaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaabaaaaaaaaaaaaaaaaadaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaafaadaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaadaadaagaafaafaadaadaadaaaaagaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaWmaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaadaafaafaadaadaadaKmaafaafaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaWnaWnaWnaWnaWnaWnaWoaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaafaafaaaaaaaaaaaaaaaaWpaWpaWpaWpaWpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaWnaWnaWnaWnaWnaWqaWnaWnaWnaWraWoaWoaWoaWoaWoaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafaaaaaaaWsaWsaWsaWtaWuaWtaWsaWsaWsaaaaaaaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaWnaWnaWnaWnaWnaWnaWvaWwaWxaWyaWzaWoaWoaWoaWoaWoaWoaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaWsaWsaWtaWtaWtaWAaWtaWtaWtaWsaWsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaWBaWBaWBaWBaWCaWDaWEaWFaWGaWBaWBaWBaWBaWBaWnaWnaWHaWIaWJaWnaWKaWLaWMaWNaWOaWoaWPaWQaWRaWoaWoaWSaWSaWSaWSaWSaWSaWTaWUaWVaWWaWXaWXaWXaWXaWXaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWsaWtaWtaWtaWtaWtaWtaWtaWtaWtaWsaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaWBaWBaWYaWZaXaaXbaXcaXdaXeaXfaXgaXhaXiaXjaWBaWnaXkaWNaXlaXmaXnaXmaXoaXpaXqaXraXsaXtaXuaXvaXwaWoaWSaXxaXyaXyaXzaXAaXBaXCaXDaWXaXEaXFaXFaXFaWXaWXaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWsaWtaWtaWtaWtaWtaWtaWtaWtaWtaWtaWtaWsaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXGaadaaaaaaaaaaWBaXHaXIaXJaXaaXKaXLaXMaXLaXLaXNaXhaXhaXOaWBaWnaXPaWNaXQaWNaXRaWNaXSaXTaXUaXVaXWaXXaXYaXvaXZaWoaWSaXAaYaaYbaYcaXAaYdaYeaYfaWXaXEaYgaYhaYgaYiaYjaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaWsaWtaWtaWtaYkaWtaWtaWtaWtaWtaYlaWtaWtaWtaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWBaYmaYnaYoaXaaYpaXLaXMaXIaXLaYqaXhaYraXjaYsaWnaYtaWNaYuaYvaYwaYxaYyaYzaYAaYBaYCaYDaYEaXvaYFaWoaYGaYHaYIaYJaYKaXAaYLaYMaYNaWXaXEaXFaXFaXFaYiaYjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWsaWtaWtaWtaWtaYkaWtaWtaWtaYlaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaWBaYOaYPaXJaXaaYQaYRaYSaYTaYUaYVaXhaYWaXjaYXaWnaYYaYZaZaaZbaWnaZcaZdaZeaZfaZgaWoaZhaZiaZjaWoaWoaXAaXAaZkaZlaZmaZnaZoaZpaZqaWXaXEaZraZsaZtaYiaYjaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtaYkaWuaYlaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWCaXaaZuaXaaXhaZvaXLaZwaZxaXLaZyaXhaXhaZzaXhaWnaZAaWnaZBaWnaWnaWnaZCaZDaZCaWnaWoaWoaWoaWoaWoaWoaZEaZFaYbaZGaZHaXAaZIaZJaZKaWXaZLaXFaZMaXFaZNaWXaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaafaafaafaWsaWuaZOaWtaWtaWtaWtaWtaZPaWtaWtaWtaWtaWtaZQaWuaWsaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaZRaZSaZTaZUaZVaZWaXLaZXaZYaXLaZZbaababbacbadbaebafbagbahbaibajbakbalbambanbaobapbaqbarbasbatbauaXAaXAaXAbavaXAaXAbawbaxbawaWXbaybazbaAbazbaBaWXaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtbaCbaDbaEaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaabaaaaaabaFbaGbaHbaIbaJbaKbaLbaMbaNbaLbaObaPbaLbaQbaRbakbaSbaTbaUbaVbaWbaXbaYbaZbbabbbbbcbbdbbebbfbbgbaobbhbbibbjbbkbblbbmbbnbbkbbobbpbbqaXFbbraXFbbsaWXaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaWsaWsaWtaWtaWtaWtbaCaWtbaDaWtbaEaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabbtbbubbvaXMbbwbbxbbybbzbbAbbBbbCbbDbbEbbFbbGbakbaSbbHbbIbbJbbKbbLbbMbbNbbObaobbPbbQbbRbbSbapbaobbTbbUbbVbbWbbXbbXbbYbbZbcabcbbccbcdbcebcdbcfaYjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtbaCaWtbcgbaDbchaWtbaEaWtaWtaWtaWsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaWBaWBbcibcjbckaXhbclbcmbcnaXhbcobcpaXhaXLbcqbcrbcrbcrbcsbctbcubcvbcwbcxbcybczbaobaobcAbaobaobaobcBbcCbcDbcEbcFbbUbcGbbUbcHaYjbcIbcJbcKbcJbcLaYjaaaaaaaaaaadbcMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWsaWtaWtaWtaWtbcgbaDbchaWtaWtaWtaWtaWsaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabcNbcObcPbcQbcRbcSbcPbcTbcRbcUbcVaXhbcWbcXbcrbcYbcZbdabdbbdcbcrbddbdebdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdrbbUbbUbbUbdsbdtbdubdvbdwbdxbduaYjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtaWtbcgbaDbchaWtaWtaWtaWtaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabcNbdybdzbdAbcRbdBbdzbdAbcRbdCbdDaXhbdEbdFbcrbdGbdHbdIbdJbdKbdLbdMbcxbdNbdObdPbdQbdRbdQbdSbdgbdTbcCbdUbdVbdWbdXbdYbdZbdYbeabebbecbedbeebefaWXaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabegaWsbehaWsaWtbekbcgbaDbchbekaWtaWsbehaWsbegaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafbeibcNbejbenbelbcRbembePbelbcRbeobepaXhbeqberbcrbesbdHbetbdHbeubevbcwbewbexbeybezbeAbeBbeCbeDbdgbeEbeFbeGbeHbbUbeIbeJbeJbeJbeJbeJbeKbeKbeKbeKbeLbeLaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabegbeMbaDaWsaWsaWsaWtbaDaWtaWsaWsaWsbaDbeMbegaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafbeNaaaaaaaaabeObeQbeTbeRbeSbeUbkzbeRbeVbeWbeXbeYaXhbeZbfabcrbfbbfcbfdbdHbfebffbcwbcxbfgbfhbfibdQbfjbdQbfkbflbfmbfnbfobfpbfqbfrbeJbfsbftbfubfvbfwbfxbfybfzbfAbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabegbaDbfBbegaaaaWsaWsbfCaWsaWsaaabegbfDbfEbegaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafbfFaafaaaaaaaaaaaaaaaaaabfGaaaaaaaaaaaaaaaabcaaaaaaaaaaaabfHbfIbfJbfKbfLbfMbfNbfObfPbfQbfRbfSaXhbcWbfTbcrbfUbfVbfWbfXbfYbfZbcwbcxbgabgbbgcbgdbgebgfbggbdgbghbghbgibgjbghbgkbeJbglbgmbgnbeJbgobgpbgqbgrbgsbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbegbehbgtbegaaaaafaaaaaaaaaaafaaabegbgtbgubegaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafbgvbgvbgvbgvbgvbgvbgvbgvbgvbgvbgwbgvbgvbgvbgvaafaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaabgxbgybgzbgybcRbgAbcRbgBbcRbcRbgCbgDbgEbgFbgGbcrbgHbgIbgJbgKbgLbcrbgMbgNbgObdgbgPbgQbgRbdgbdgbdgbgSbgTbgUbgVbgWbgXbhXbgYbgZbhabeJbhbbhcbhdbhebhfbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaabhgbhgbhgaaaaaaaafaaaaaaaaaaafaaaaaabhgbhhbhgaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaabgvbhibhjbgvbhkbhlbgvbhmbhnbgvbhobgvbhpbhqbgvaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafbgxbgxbhrbhsbgybhtbhubcRbhvbhwbcRbhxbhybhzbhAbhBbhCbhDbhEbhFbhGbhHbhIbhJbhKbhLbhIbhMbhNbhObhPbhQbhRbhSbhTbhUbhTbhVbhWbstbhXbhYbhXbeJbhZbiabhZbeKbeKbeLaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaabgvbibbicbgvbidbiebgvbifbigbgvbgwbgvbihbiibgvaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaabgxbijbikbilbgybimbinbcRbiobipbcRbiqbirbisbitbiubivbiwbixbiybizbiAbiBbiCbiDbiEbiFbiGbiHbiIbiJbiKbiLbiKbiKbiMbiKbiNbiObiPbiQbiRbiSbiTbiUbiVbiWbiXbiYbiZaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaabaaaaaaaaabgvbjabjbbgvbjabjbbgvbjcbjdbgvbgwbgvbjabjebgvaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaabgxbjfbjgbjhbgybjibjjbcRbjkbjlbcRbjmbjnbjmbjmbjobjpbjqbjmbjrbjsbjtbjubjvbjwbjxbjubjybjsbjzbjAbjBbjCbfgbjDbjEbjFbjGbjHbjIbjJbjKbjLbjMbjNbjObjPbjQbjRbjSaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhbjTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaabjUbgwaaabjUbgwaaabjVbjVaaabgwaaabjUbjWaaaaaaaaaaaaaaaaaaaafbfGaaaaaaaaaaaaaaaaaabgxbjXbjgbjYbgxbcNbcNbcNbcNbcRbcRbjZbkabkbbkcbkdbkebkfbkgbjrbkhbkibkjbkkbklbkmbknbkobkpbkqbkrbksbktbkubkqbkvbkvbkvbkvbkvbkvbkvbkvbkwbkxbkybkybkybEBbkyaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaabkAbkBbkCbkDbkEbkCbkFbkGbkHbkIbkJbkFbkGbkKbkLbkMbkAbkAaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaabgxbgxbkNbgxbgxbkObkPbkQbjrbkRbkSbkTbkUbkVbkWbkXbkYbkZblablbblcbldbleblfblgblhblibljblkbllblmblnbloblpblqbkvblrblsbltblublvblwbkvblxblybkyblzblAblBbkyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbhgaafaafaafaafaaaaaaaaaaafaafaafaafbhhaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaabkAblCblDblEblFblGblHblIblJblKblLblMblNblOblPblQblRblSblTbkAaafaafaafaadaafabcaadaafaafaafblUblVblVblVblWblXblYblZbjrbmabmbbmcbmdbmebkZbmfbmgbmhbmibmjbmkbldbmlbmmbmnbmoblcbljbmpbmqbmrbmsbmtbmubmvbkvbmwbmxbmybmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbkyaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmJbhgbmJaaaaaaaafaaaaaaaaaaafaaaaaabmJbhhbmJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaabkAbmKbmLbmMbmNbmLbmObmPbmQbmRbmLbmSbmNbmTbmMbmUbmLbmVbmWbkAaaaaaaaaaaafaaaaaaaaaaaaaaaaaablUbmXbmYbmZblWblWbnablWbjrbnbbncbndbnebnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnobnsblkbntbnubnvbnwbnxbnybkvbnzbnAbmAbnBbmAbnCbmCbnDbnEbkybkybkybkybkyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbhgaafaafaafaafaaaaaaaaaaafaafaafaafbhhaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafbgvbgvbgvbgvaaabkGbnFbnGbmObmPbnHbnIbnJbnKbnLbnMbnNbnObnPbnQbnRbmQbnSbnTbkGaaaaaaaaaaafaaaaaaaaaaaaaaaaaablUblUbnUbnVbnWbnXbnYblVbjrbnZboabmbbobbocbkZbodbmfboebofbjrbogbohboibojbokbolbombonboobkqbopboqborbosbotbkvboubovbowboxbmyboybmCbozboAboBboCboDboEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabgvboFboGboHboIboJboKboLboMboNboLboOboPboQboOboRboSboTboUbmMbmUboVboWboXbkGaaaaaaaaaaafaaaaaaaaaaabaaaaaaaaaboYboZbpablYbpbbnYblVbpcbpdbpebpfbpgbphbkZbpibkZbpjbpkbjrbjubjubjubplbpmbpnbjubpobjubkqbppbpqbprbpsbptbkvbpubpvbmAbpwbmxbpxbmCbpybpzbpAbpBbpCboEaaaaaaaaaaabaagaaaaaaaaaaaaaaaaafabcaadaadaadaadaadaagaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabgvbpDbpEbpFbpGbpHbpIbpJbpKbmPbpLbpMbpMbpNbnHbpObpPbmPbpQbpRbpSbpTbpUbpVbpWbpWbpWbpWbpWaaaaaaaaaaaaaaaaaaaaaboYboZbpXbpYbpZbqablVbjrbqbbqcbqdbqebqfbqgbqhbqibqjbqkbjrbqlbjubqmbqnbqobqpbqmbqqbjubqrbkqbkqbkqbkqbkqbkvbqsbqtbqubqvbqwbqxbmCbqybqzbqAbqBbqBboEaaaaaaaaaaaaaadaaaaaaaaaaaaaafaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKaafaafaafaafbgvbgvbgvbgvaaabqCbqDbqEbmMbmNbqFbqGbqHbqIbqJbqKbqLbqMbqJbqNbpTbmTbqObqPbpWbqQbqRbqSbpWbqTbqUbqUaaaaaabqVblUbqWbqXbqYbqZbrabrbbrbbrbbrbbrbbrbbrcbrbbrbbrbbrbbrbbrbbrbbrbbrbbrdbrebrfbrfbrgbrhbribribrjbrkbrlbrmbrnbmCbrobrpbrqbrobrobmCbmCbrrbrsbrtbrubrvbrwbrxaafaafaafaadaaaaaaaaaaafaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabgvbrybrzboHboIboJbrAboLbrBbrCboUbrDbmLbmTbmUbmLbrEbnJbrFbnJbrGbrHbrIbrJbrKbrLbrMbrNbrObrPbrQbqUbqUaaabrRbrSbrTbrUbrVbrWbrXbrYbrZbsabsbbscbsdbsebsfbsgbshbsibsjbskbslbsmbsnbsobspbsqbsrbssbsubsvbtPbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbsIbsJbsKbsLbsMbsNbsObsPaaaaaaaaaabcaadaadaadaagaabaaaaaaaafaaaaaaaafaaaaafaafbsQaafaafaaaaaaaaaaaeaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaabgvbsRbsSbpFbpGbsTbsUbmTbsVbsWbsXbsYbqJbsZbpTbtabtbbtcbtdbtebtfbtgbthbtibtjbtkbtlbtmbtnbtobtpbtqbqUaaabtrbrSbtsbttbtubtvbtwbtxbtybtzbtAbtzbtBbtzbtCbtDbtzbtEbtFbtGbtHbtIbtJbtKbtLbtMbtNbtObtQbtRbuTbtQbtSbtTbtUbtVbtWbtVbtXbtVbtYbtZbuabubbucbudbsLbuebufbsObugaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabuhbuibujbukaaaaafaaabulaaaaafaaaaaaaagaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaabaaaaaabhhaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafbgvbgvbgvbgvaaabqCbumbqEbmMbmNbunbuobupbuqburbsWbusbutbutbutbuubutbutbuvbuwbuwbuwbuwbuwbuxbuybuzbqTbqTblUblUbuAbuBbuCbuDbuEbrbbuFbuGbuHbuGbuIbuJbuGbuKbuLbuHbuKbuMbuNbuObuPbuQbspbuRbuSbuUbuVbvXbvYbuWbuXbuWbuYbuWbuWbuWbuZbvabvbbvabuZbuZbvcbvdbrtbvebvfbrwbrwaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabvgbvhbvhbvgbvgbvgbvibvjaaaaafaaaaaaaafaaaaaaaaaaaaaabbhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabgvbvkbvlboHboIbvmbvnboLbrBbvobvpbvqboObvrboOboTbvsbutbvtbvubvvbvwbvxbuvbvybvzbvAbvBbuwbvCbvDbvEbvFbvGbvHbvIbvJbvKblUblUbvLbrbbvMbvNbvObvNbvPbrbbvQbuPbrbbvRbuPbrbbvSbuPbrYbvTbvUbvVbvWbxhbxjbzybxjbuWbwabwbbwcbwdbwebuWbwfbwgbwhbwibwjbuZbwkbvZbvZbwlbwmbwnbvgaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabwobwpbwqbwrbwsbwsbwtbvjbvibviaaaaaaaafaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabgvbwubwvbpFbpGbwwbwxbwybwzbwAbwBbwCbwBbwDbwBbwEbwFbwGbwHbwIbwJbwKbwLbuvbwMbwNbwObwPbwQbwRbwSbwTbwUbwUbwUbwUbwUbwUbwVbwWbwXbrbbwYbvNbwZbvNbvPbrbbvNbxabrbbvNbxbbrbbvNbxcbrbbxdbxebxfbxgbxhclfclgcnebuWbxkbxlbxmbxnbxobuWbxpbxqbxrbxsbxtbuZbxubxvbvZbxwbxibxxbvgaaaaaaaaaaaaaaabvgbvgbvibvibvibvgbxybxzbxAbxBbxCbxDbxEbxFbxGbvibvgbxHbxHbxIbxIaafaafaafbhgaafaafaafaafbxJbxKbxLbhgbxMbxNbxObxPbxQaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafbgvbgvbgvbgvaaabxRbxSbqEbxTbxUbxVbxWbxXbxYbmTbxZbyabwGbybbycbydbyebyfbuvbygbyhbyibyjbuwbvCbykbylbuxbuxbuxbuxbuxbuxbuxbymbynbrbbyobvNbypbyqbvPbrbbyrbysbrbbyrbytbrbbyrbyubrbbyvbywbyxbxgbxhcnfcoUcJZbuWbyybyzbyAbyBbyCbuWbyDbxqbyEbxqbyFbuZbyGbxvbvZbvZbyHbvZbvZbvgbvgbvgbvgbvgbvgbxibyIbyJbyKbyKbyLbyMbyMbyLbyNbyObyPbyQbyRbySbyTbxHbyUbyVbxIbxIaaaaaabhgaaaaaaaaaaafbyWbyXbyYbyZbzabyZbyWbzbbyWaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaaaaaaaaaaaabkAbzcbzdbzebkAbkAbzfbzgbzhbzgbzibzjbzkbuvbutbzlbutbuvbuvbuwbuwbzmbuwbuwbuxbznbzobzpbuxbzqbzrbzsbztbuxbymbynbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbzubzvbzwbzxbxhcOBdcSdfrbuWbzAbzBbzCbzDbzEbuWbzFbzGbzHbxqbzIbuZbzJbzKbzLbzMbzNbzNbzNbzNbzNbzNbzObzNbzNbzNbzNbzPbzQbzRbzSbzTbzUbzVbzWbyObyPbzXbyObzYbzZbAabAbbAcbAdbxIaaaaaabhgaaaaaaaaaaaabyWbAebyZbAfbAgbAhbyWbAibyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjaaaaaaaaaaaaaaabAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaabAkbAkbAkbAkbAkbAkbAkbAkbAkbAlbAmbAnbAobApbAqbArbAsbAtbAtbAubAvbAwbAxbAybAzbAAbABbACbvCbADbAEbAFbuxbDJbymbymbymbAGbAHbAIbwUbAJbAKbALbAMbwUbwUbwUbwUbwUbwUbANbAObwUbAPbAQbuxbARbASbATbxhbxhbxhbxhbuWbAVbAWbAXbAYbAZbuWbBabBbbBcbBdbBebuZbBfbxibBgbBhbBibBjbBkbxibxibBlbBlbBlbBlbBlbBlbBlbBmbBnbBobBpbBqbBrbBrbBrbBrbBsbBsbBsbBsbBsbBtbBubBvbBwbBwbBxbBwbBxbBwbBxbBwbBwbBybBzbBAbBBbBCbyWbBDbyWbyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaabBEbBFbBGbBHbAkbBIbBJbBKbBLbBMbBMbBNbAkbBObBPbBQbBRbBSbBTbBUbBVbBUbBWbBXbBYbBZbCabCbbCcbCdbCebCfbvCbCgbzobChbuxbCibCjbymbymbuxbCkbClbymbCmbCnbuxbuxbCobuxbuxbCpbymbymbAQbCqbymbCrbuxbuxbCsbCtbCubvZbvZbCvbyJbuWbCwbCxbuWbuWbuWbuWbuZbuZbCybuZbuZbuZbBfbxibCzbCAbBibwnbCBbCCbCDbBlbCEbCFbCGbCHbCIbBlbCJbCJbCKbCJbCJbBrbCLbCMbCNbBsbCObBsbCPbBsbCQbCRbCSbBwbCTbCUbCVbCVbCWbCXbCYbBwbCZbDabDbbDcbDdbDebDfbDgbyWaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaabaaaaaaaaabBEbDhbDhbDibAkbDjbDjbDjbDkbBMbDlbDmbAkbDnbDobDpbDqbDrbDsbDtbCfbDubDvbDwbDxbDubDybDybDzbDAbDBbDybuxbDCbDDbDEbuxbuxbuxbDFbymbuxbCrbDGbDGbDHbDGbDGbDIbymbImbuxbDKbymbDLbuxbvFbymbCrbymbuxbDMbDNbDObvZbxibxibzzbDPbxibDQbAUbAUbAUbAUbBgbDRbDSbDTbDUbDVbDWbDXbDYbvZbDZbDZbDZbDZbEabBlbEbbEcbEdbEebEfbFMbEhbEibEjbEkbElbBrbEmbEnbEobBsbEpbBsbEqbBsbBsbErbEsbEtbEubEvbCVbEwbExbEybEzbBwbEAbEAbEAbFUbEAbEAbEAbEAbEAbEAaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaadaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaabBEbECbEDbEEbAkbEFbEGbEGbEHbEGbEIbEJbAkbEKbELbEMbENbEObEPbEQbERbESbETbEUbEVbEWbEXbEYbEZbFabFbbFcbuxbFdbFebFfbFgbFhbuxbvGbvFbuxbFibDGbFjbFkbFlbDGbFmbFnbChbuxbzpbymbFobuxbvGbymbFpbFqbFrbFsbFtbFubFvbDTbFwbDTbFxbDTbFybDTbDTbDTbDTbFzbFAbFBbFBbFBbFBbFBbFBbFCbFDbDZbFEbFFbFGbEabFHbFIbFJbFKbFLbFVbFMbFNbFObFPbEjbFQbBrbFRbFSbFTbGbbGibFWbFXbFYbBsbFZbGabHybGcbGdbGebGdbGfbGgbGhbKrbGjbGkbGlbGmbGnbGobGpbGqbGrbGsaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaabBEbGtbGubGvbAkbGwbEGbEGbGxbGybGzbGAbGBbGCbGDbGEbGFbEObGGbGHbERbGIbGJbGKbGLbGMbEXbGNbGObGPbGQbGRbuxbGSbGTbGUbGVbFhbuxbAQbAQbuxbGWbDGbGXbFkbGYbDGbuxbuxbuxbuxbGZbGZbGZbuxbuxbuxbuxbuxbHabHbbHcbHdbHabvZbvZbvZbvZbvZbvibvibvibvZbvZbvZbvZbFBbHebHfbHgbHhbFBbHibHjbHkbHlbHmbHnbEabHobHpbEcbHqbHrbHsbEgbHtbHubHvbHwbHxbKtbHzbHAbHBbBsbHCbHDbHEbHFbBsbHGbHHbBwbHIbHJbHKbHJbHKbHJbHLbEtbHMbHNbHObHPbHQbHRbHSbHTbHUbHVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaafaaabHWbHWbHWbHWbHWbHWbHWbHXbHXbBEbHYbHZbDibAkbIabIabIbbIcbIdbIebIfbAkbIgbIhbIibIjbIkbIlccMbCfbInbIobIpbIqbIrbDybIsbItbIubIvbIwbIxbIxbIybIxbIxbIxbIxbuxbuxbuxbIzbDGbIAbIBbICbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbIEbIFbIGbIHbIIbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbIJbIKbILbILbIMbINbBqbDZbIObIPbIQbEabIRbISbITbIUbIVbIWbEgbEjbHubIXbIYbIZbBrbJabJbbJcbBsbJdbJebJfbJgbBsbJhbJibBwbBwbJjbJkbJlbJjbJmbJjbBwbJnbJobJpbJqbJrbJsbJtbJqbJubJvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafbHWbHWbJwbJxbJybJzbJAbHWbJBbJCbJDbJEbJFbJGbAkbIabIabJHbJIbJJbJKbJLbAkbJMbJNbJObJPbCfbERbJQbCfbJRbJSbJTbJUbJVbDybGNbJWbJXbJYbJZbIxbKabKbbKcbKdbKebIxbKfbKgbuxbCrbDGbKhbKibDGbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbKjbKkbHcbKlbKmbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbFBbKnbKobKpbFBbKqbvZbEabDZbKzbDZbEabBlbEgbKsbOobKsbKubBlbKvbxIbKwbxIbKxbBrbBrbBrbBrbKybBsbPEbBsbBsbBsbHGbKAbyVbBwbBwbBwbBwbBwbBwbBwbBwbKBbKCbKDbKEbKFbKBbKGbKBbKHbKIbKJbKKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaafbKLbKMbKMbKMbKMbKNbKObKPbKQbKRbKSbKTbKUbHWbKVbKWbKXbKYbKZbBEbAkbAkbAkbAkbAkbAkbAkbAkbAkbLabLbbLcbLdbLebLfbLgbLhbLibLjbLkbLlbLmbEXbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbIxbLybLzbLAbCrbDGbDGbDGbDGaaaaaaaaaaaaaaaaaabLBbLBbLCbLCbLCbLBbLBbLDbLEbHcbLFbLGbLHbLHbIDbIDbIDbLHbLHaaaaaaaaaaaaaaaaaabFBbFBbFBbFBbFBbLIbBqbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMabMbbMcbMbbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMnbMobMpbMmbMqbMrbJvbMsbMtbMubMvbMwbMxbMybMzbMAbMAbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaabaaaaadaadaadaadaadaadaadaagaadaaaaaaaaaaaabMCbMDbMEbKMbMDbKNbMFbMGbMHbMIbMJbMKbMLbMMbMNbMObMPbMQbBEbMRbMSbMTbMUbMVbMWbMXbMYbMZbNabNbbNcbNdbNebNfbNgbNhbNibNjbNkbLkbLlbLmbEXbNlbJWbNmbNnbNobIxbNpbNqbNrbNsbNtbIxbNubNvbuxbCrbymbuxaaaaaaaaaaabaaaaaabLCbLCbLBbNwbNxbNybNzbNAbNBbNCbNDbHcbNEbNFbNGbNHbNIbNJbNKbNLbLHbIDbIDaaaaaaaabaaaaaaaaabvZbNMbDXbNNbBqbCKbNObNPbNQbNRbNSbNTbNUbNVbNWbNXbNYbNXbNZbOabObbNXbOabNXbOcbOdbOebNXbOfbOgbNWbNYbOabOhbNZbNXbOibOjbOkbOhbOlbOmbOnbPGbOpbOqbOrbOsbOtbOubOvbOwbOxbOxdgpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKLbMDbMDbKMbMDbKNbMFbOybOzbOAbOBbOCbODbHWbOEbKXbOFbOGbOHbOIbOJbOKbOLbOMbONbOObOPbOQbORbOSbOTbOKbOUbOVbLgbNhbOWbNjbOXbOYbOZbPabDybDybDzbPbbDzbDybIxbIxbPcbPdbNsbPebIxbPfbPgbAQbCrbymbuxaaaaaaaaaaaaaaabLCbLCbPhbPibPhbPjbPkbPlbNAbNAbPmbNDbHcbNEbPmbNHbNHbPnbPobPpbPqbPrbPqbIDbIDaaaaaaaaaaaaaaabvZbPsbPtbPubPvbPvbPwbPxbPwbPwbPwbPwbPybPzbCSbPAbPAbPAbPAbPBbPAbPAbPAbPAbPAbPAbPAbPCbPDbSWbPFbPFbPFbPFbPFbPFbPFbTabPHbPIbPJbPKbPLbJvbPMbPNbMubPObPPbPQbMybPRbPSbPTbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMCbKMbKMbKMbKMbKNbKObPUbPVbPVbPWbPXbPYbHWbPZbQabQbbQcbDibQdbQebQfbQgbQhbQibQhbQhbQjbQhbQgbQkbQlbQmbQnbQobQpbQkbQqbQrbQsbOZbQtbQubQvbQwbQxbQybQzbQAbQBbQCbQDbNsbQEbIxbQFbPgbAQbCrbQGbuxaaaaaaaaaaaabLCbLCbQHbQIbQJbQKbQLbQMbQNbQJbQObQPbQQbHcbQRbQPbQSbNEbQTbQUbQVbQWbNEbQXbQYbIDbIDaaaaaaaaaaaabvZbQZbvZbvZbPvbRabRbbRcbRdbRebRfbRgbRhbRibEsbRjbRkbRlbRmbRnbRobRpbRqbRrbRsbRtbPAbPCbRubRvbRwbRxbPFbRybRzbRAbPFbRBbRCbPIbPIbRDbREbRFbRGbRHbRIbRJbKBbKKbKBbKBbKBbKBbKGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabHWbRKbRLbRMbRNbRObRPbHWbRQbRRbQbbRSbDibRTbRUbQgbQgbRVbRWbRXbRYbRZbSabSbbQkbScbSdbSebSfbSgbShbSibSjbSkbEVbSlbSmbSnbSobSpbSqbSrbSsbStbStbSubStbStbStbStbuxbuxbCrbSvbuxaaaaaaaaabLCbLCbQHbQIbSwbSwbSxbSybSzbSAbSAbSBbSCbSDbSEbSFbSGbSHbSIbSJbSJbSKbSLbSMbSMbQXbQYbIDbIDaaaaaaaaabvZbSNbSObSPbPvbSQbSRbSSbSTbSUbSVbWObSXbSYbSZcdnbTbbTcbTdbTdbTdbTebTfbTgbThbTibTjbPCbTkbTlbTmbTnbTobTobTobTobPFbTpbTqbTrbPIbTsbTtbKBbTubTvbTwbTxbTybTzbTAbTBbJvaaaaaaaabaaaaaaaaaabcaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaafaaaaaaaaabKLbTCbKLbTCbKLbTCbKLbTCbKLbTCbKLbTCaafaafbTDbTEbTDbTDbTDbTDbTDbTEbTFbTGbTDbBEbTHbQbbTIbDibTJbTKbQgbTLbTMbTNbTObTPbTQbTRbTSbQkbTTbTUbTVbTWbTXbTYbTZbSjbUabEVbUbbUcbUdbUebUfbUgbUhbUibStbUjbUkbUlbUlbUmbStbUnbymbCrbUobGZaaaaaaaaabLCbUpbQIbSwbUqbUrbUsbUtbUubUvbUwbUxbUybUzbUAbUBbQPbUCbNEbUDbUEbUFbUGbUHbUIbSMbQXbUJbIDaaaaaaaaabvibUKbxibULbPvbUMbUNbUObUPbUQbURbUSbUTbUUbUVbRjbUWbUXbUYbUZbUYbVabTibVbbVcbVdbVebPCbVfbVgbVhbVibVjbVkbTobVlbPFbVmbVnbVobPIbVpbVqbKBbVrbVsbVtbVtbVtbVsbVsbVubHVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvbVwbVxbVwbVxbVwbVxbVwbVxbVwbVxbVwbVybVzbVAbVBbVCbVDbVBbVEbVBbVFbVGbVHbVIbBEbVJbVKbVLbVMbVNbVObQgbVPbTMbVQbVRbVSbVTbTRbVUbQkbVVbVWbVXbVYbVZbWabNjbWbbWcbWdbWebWfbWgbWhbWibWjbUhbWkbWlbWmbWnbWobWpbWqbStbWrbymbCrbWsbGZaaaaaabLBbLBbWtbQJbSwbWubWvbWwbWxbWybWxbWxbWzbWAbKjbWBbWCbWDbWDbWEbWFbWGbWDbWDbWHbUHbSMbNEbWIbLHbLHaaaaaabvibUKbxibWJbPvbWKbWLbWMbUPbWNbPvbPvbxHcfqbxHbPCbPCbWPbWQbWRbWSbVabWTbWUbWVbWWbWXbPCbWYbWZbXabXbbVjbXcbTobXdbPFbXebXfbXgbPIbXhbBvbKBbVrbXibXjbXkbXlbXmbXnbVubGsaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabMCbKMbKMbKMbKMbKMbKMbKMbKMbKMbKMbKMbVybXobXpbXqbXrbXsbXtbXrbXsbXubXvbXwbXxbBEbXybXzbKZbDibXAbXBbQgbXCbTMbTObXDbXEbTObTRbXFbQkbXGbXHbXIbXJbXKbXLbXMbXNbXObGLbXPbUcbQwbXQbXRbXRbXSbQwbStbXTbXUbXVbXWbXXbStbWrbymbCrbDLbGZaaaaaabLBbXYbXZbYabYbbYcbWwbWwbYdbYebYfbWwbYgbWAbWAbYhbWDbWDbYibYjbYkbYlbYmbWDbWDbYnbYobYpbYqbYrbLHaaaaaabvibUKbYscvCbPvbYtbYubYubYvbYwbUSbYxbYybYzbYAbYBbRjbYCbYDbYDbYDbYEbYFbYFbYGbYHbYFbYIbYJbYKbYLbYMbTobTobTobYNbPFbYObYPbYQbPIbRDbREbKBbYRbKBbKBbKBbKBbKBbKBbKBbKBbYSbYSaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabKLbTCbKLbTCbKLbTCbKLbTCbKLbTCbKLbTCaadbYTbYUbYVbYWbYXbYVbYWbYXbXubYYbYZbZabBEbZbbZcbZbbDibZdbZebQgbZfbZgbZhbZibXEbZhbZjbZkbQkbZlbZmbZnbZobZpbZqbSibOXbEVbEVbSlbZrbZsbQwbQwbQwbQwbZtbStbZubStbZvbStbStbStbuxbymbCrbZwbuxaaaaaabLCbZxbZybZzbZAbZBbZCbZDbZEbZFbZGbWwbZHbZHbZIbZJbWDbZKbZLbZMbZMbZNbZObZPbWDbZQbZRbZSbYqbZTbIDaaaaaabvZbUKbAUbvZbPvbZUbZVbZWbZWbZXbZYbZZcaacabcaccadcaecafcagcagcagcahcaicajcakcalcambYIcancaocapcaqbPFcarcascatbPFcaucavcawbPIbRDbREcaxcaycazcaAcaBcaCcaDcaEcaFcaGcaHcaIcaIcaHcaHcaHcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabVvbVwbVxbVwbVxbVwbVxbVwbVxbVwbVxbVwbVycaJbTDcaKbYWbYXbYVbYWbYXbXucaLcaMcaMcaMcaMcaMcaMcaMcaNcaObQgcaPcaQcaRcaScaTcaUcaVcaWbQkbQkcaXbQkcaYcaZbQkcbacbbbEVcbccbdbQucbecbfcbgcbhcbicbjbStcbkbStcblbStcbmcbncbobymbCrbymbuxaaaaaabLCcbpcbqcbrcbscbtcbucbvcbwcbxcbycbzcbAcbBcbCcbDbWDcbEcbFcbGcbHcbIbZOcbJcbKcbLcbMcbNcbOcbPbIDaaaaaabvZbUKcbQcbRbPvbPvcbScbTcbUcbVbUScbWcbXcbYcbZccaccbcccccdcceccfccgcaicchcciccjcckbYIbPFcclbPFbPFbPFbPFbPFbPFbPFbPIbPIbPIbPIccmccncaxccoccpccqccrccscctcaCcaFcaFcaHccuccvccwcaHccxccycaHcaHaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbVvcczccAcczccAcczccAcczccAcczccAcczbVyccBbTDccCbYWccDccEbYWccDbXuccFcaMccGccHccIccJccKcaMbXAccLcaWcaWcaWcaWcaWcaWcaWcaWcaWcCibQkbQkbQkbQkbQkbQkccNccObDxccPccNccQccQccQccQccQccQccQccRccRccRccRbStccSccTbuxccUccVccWbuxaaaaaabLCccXccYccZcdacdbbWwbWwbWwbWwbWwbWwcdccddcddcdebWDbWDbWDbWDbWDcdfbZOcdgbWDcdhcbMcdicbOcdjbIDaaaaaabvZcdkbxibxicdlbPvbPvbPvbPvbPvbPvcdmcipcdocipcdmbPCbPCbPCbPCbPCbPCbYIcdpcdqcdqcdrbYIcdscdscdscdtcducdvcdwcdxcdycdzcdAbxHcdBcdCcdDcdEcdFcdGcdHccrccscdIcaCcdJcaFcdKcdLcdMcdNcaIcdOcdMcdPcaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabMCcdQbMCcdQbMCcdQbMCcdQbMCcdQbMCcdQaafaafbTDcdRcdScdTcdUcdVcdTcdWcdXcdYcdZceacebceccedceebXAcefcegcehceicejcekcekcekcekcekcekcekcekcekcelcemcenceocepceqceqcerbuxcescescetbDLceubymbAQbAQbvFbvGbuxcevbuxbuxbymbCrcewbuxaaaaaabLBcexccYbQJceycezceAceBceCceDceEceFceGceHceHceIceHceHceHceJceKceLceMceNbWDbNEceObNEcbObNGbLHaaaaaabvZcePceQceQceQceRceSbxiceTceUbvZceVceWceXceWceYceZcfacfbcfccfdcfebYIbYIcffcfgbYIbYIcfhcficficfjcfkcflcfmcfmcfmcdvcfnbxHcfocfpbOncoHcfrcfscftccrccsccscdIcdIcaFcaHcfucfvcfwcfxcfycfzcfAcfBcfCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaabTDcfDbXrcfEcfFcfGcfHbXucfIcaMcaMcaMcaMcfJcfKcfLcfMcfNcfOcfOcfPcfQcfRcfRcfRcfRcfRcfRcfRcencencencfScfTcfUcfVcfWcfXcfYcfZcgacgbcgacgacgacgacgacgccgccgccgccgdcgccgccgccgecgfbuxbLCbLCbLBcggccYcghcgicgjcgkcglcglcgmceEcgnbWAbWAbWAbWAbWAbWAbWAcgnbWEcgocgpcgqbWDcgrcgscgtcgucgvbLHcgwcgwbvZbUKbxibAUbCCbCDcgxbxicgybxicgzcgAcgBcgCcgDcgAcgEcfacgFcgGcgHcgIcgJcgKcgLcgMcgNcgNcgOcdtcdtcdtcdtcdtcdtcdtcfmcdvcgPbxHcgQcgRcgScaxcgTcgUcgVccrccscdIcgWcgXcaFcaHcgYcgZchacaHcaIchbcaIcaHcaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabTEbTDchcchcbTDchdchechfbXuchgchhchichjchkchlchmchnchochpchqchrchschtcfRchuchuchuchuchuchvchwchxcenchychzchAchBchCchDchEbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxchFchGchHchIbLBchJchKchLchMchNcgkcgkchOchPceEchQbWAchRchRchRchRchRbWAchSbWDchTchUbWDbWDchVchWchVchXchYchZciacibciccidbvgbvZbvZbvZbvZbvZbvZbvZbvZciecifcigcihcieceZceZceZciiceZceZceZceZcijcikcgNcilcimcinciociociociociocdtcdvcdvcaGbxHcoIbxHbxHcaxciqcaxcaxccrcaFcaGcaHcaHcaHcaHcircgZciscitciucivciwcixcaHcaHaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafciybTDcizciAciBciCciDciEciFciGciHciIciJciKciLciMciNciOciPciQciRcfOciSciTcfRchuchuchuchuchuciUciVciWciXciYciZcjacjbcjccjdcjecjfcjgchCcjdcjhcjicjbcjjcjkcjlcjmcjbcjncjociWcjpcjqcjrcjscjtcjucjvbUwbUwcjwcjxcjycjzcgkceEceEceEcdcbWAchRchRchRchRchRbWAcgnbWDbWDbWDbWDciacjAcjBcjCcjDcjDcjEcjFcjGcjHcjIcjJcjKcjLcjMcjNcjOcjPcjQcjRcjNcjOcjScjTcjUcjVcjWcjXcjTcjYcjZckackbcijckcckdckeckfckgciociociociociocdtckhcdvckickjckkcklcaGckmcknckockpcaCckqckrcaHckscktcaHckucgZcdMcdMcdMcgZcdMckvckwcaIaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackxckyckzckAckBckCckDckEckFckGckHckIckJckKckLckMchnbLgckNcfOcfOckOcencfRchuchuchuchuchuckPckQckRckSckTckUckVckWckXckWckYckUckZckUckUclaclbckUckUclccldcledhndhpdhqclhclicljclkcllclmcllcllcllcllcllclncloclpbYhclqclrceHclsbWAchRchRchRchRchRbWAcltbZJcluclvclwclxclyclzclAclAclAclAclAclBclCclDclEclFclGclHclIclHclHclJclKclHclIclLclHclMclHclHclNclHclHclOclPclJclQclRclSclTclUclVciociociociociocdtclWcdvclXclYclZcmacmbcmccmdcmecmfcmgcmhcmicmjcmkcmlcmmcmncmocmpcmqcmrcmscmtcdMcmucmvaafaafaafaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaaabTDcmwciAcmxcmycmzcmAcmBcmCcmDcmEcmFcmGcmHcmIcmJcmKcfOcfOcfOcmLcmMcmNcfRchuchuchuchuchucmOcmPciWciXcmQcmRcmScmTcjccmUcmVcmWcmXchCdhscmYcmZcmTcnacnbcnccndcngdhSdiqcnhcnicnjcnkcnlcnmcnncnobUwbUwcnpcnqcnrcnsbWAcntcnucddcddbWAchRchRchRchRchRbWAcnvcnwcnxcnybWAcnzcnAcnBcnCcnDcnDcnEcnFcnGcnHcnIcnJcjKcjLcjPcnKcjPcjPcnLcnMcnNcnOcnPcnQcnRcnRcnScnTcnLcnRcnUcnVcnWcnXckcckdcnYcnZcoaciociociociociocdtcobcoccaGcodcoecofcaGcogcohcogcoicojcokcolcaHcomconcaHcoocopcoqcdMcorcgZcdMcoscotcaIaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabTEbTDchcchcbTDcoucovcowbXucoxchhcoycozcoAcoBcoCcoDcoEcoFcoGcmLcrQcrOcfRchuchuchuchuchuchvcoJcoKcencencoLchEcoMchCcoNcoOcoPcoPcoPcoPcoPcoPcoQcoQcoRcoScoQdirdwgdwqditcoTcoVcoWchGcoXcnsbLBcoYchKchLcoZchNbLBbWAcgncpacpbcpcbWAchRchRchRchRchRcpdcpdcpecpdcpdcpdcpdcpfchWchVchXcpgchZcphcpiciccpjcpkcpkcpkcplcpmcpncpncpncpncpncpocpncpncpncpncpncpncppcpqcprcnVcpsciecptcgNcpuciecinciociociociociocdtcpvcdvcaGcpwcpxcpycpzcpzcpzcpAcpzcpBcpzcpzcaHcaHcaHcaHcpCcpDcpEcpFcpGcpHcpIcpJcaHcaHaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaabTDcpKcpLcpMcpNchecmDbXucpOcpPcpPcpQcpPcpRcpScpPcoEcmLcmLcmLcpUcpTcfRcfRcfRcfRcfRcfRcfRcencencencpVcpWcpXcpYcpZcqacpXcqbcqccqdcqecqfcqgcqhcqicqjcqkcqlcoQdwTdwWdwTdwUcqncqocoVbLCbLCcqpcqqcqrcqscqtcqubWzcqvcqwcqxcqxcqxcqycqycqzcqAcqBcqpcpdcqCcqDcqEcqFcqGcpdcqHcqIcjCcqJcqKchZcgwcgwcpkcqLcqMcqNcqOcqPcqPcqQcqRcqScqTcqUcqVcqWcqXcqYcqZcracracrbcrccrdcrecrfcrgcrhcrhcrhcricdtcdtcdtcdtcdtcdtcdtcfmcdvcrjcpwcrkcrlcrmcrncrocrpcrqcrrcrscrtcrucrvcrvcaHcrwcgZcrxcaHcaIcrycaIcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabKLbTCbKLbTCbKLbTCbKLbTCbKLbTCbKLbTCaafaafbTDcrzbXrcrAcrBcrCcrDcrEcrFcrGcrHcrIcrJcrKcrLcpPcuXcrMcrNcrNcrPcuZcrRcrRcrRcrScrTcrUcrVcpVcpVcrWcpVcencrXcrXcrXcrXcrXcoPcrYcrZcsacsbcsccoQcsdcsecsfcsgcoQdyidypdybdwUcshcqocoVaaaaaacqpcsicqrcsjcskcslbWzcsmcsncqxcsocspcsqcsrcsjcsjcsjcsscstcsucsvcswcsxcsycpdcszcsAcjDcsBcsCchZaaaaaacpkcsDcsEcsFcpkcsGcsHcpncsIcsJcsKcsLcsMcsNcsOcsPcsQcsRcsScpncsTcsUcsVcsVcsWcrhcdvcdvcsXcfmcfmcfmcfmcfmcfmcfmcfmcdvcsYcpwcsZctacrmctbctcctdctectfctgcthcticrvcrvctjctkctlctmcaIctnctoctpcaHaaaaaaaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbVvbVwbVxbVwbVxbVwbVxbVwbVxbVwbVxbVwbVybVzbTDctqctrctscttctrctuctvctwcpPctxctyctzctActBcpPcuXctCctDctDctFctEctDctGctGctHctHctIctJctIctKctIctIctLctLctMctNctMctLctLctOctOctOctPctOctOctQctRctScoQcoQdUPdUQdBMdwUctTcqocoVaaaaaactUctVctWctXcskctYbWzctZcuacubcuccudcuecufcugcuhcsjcuicujcukculcumcuncuocpdcupcsAcuqcurcuscgwaaaaaacpkcutcuucuucuucuvcuwcuucuucuxcuxcuxcuycuzcuAcuzcuzcuzcuzcuBcuCcuDcuEcuFcuCcuGcuGcuGcuGcuGcuGcuGcuHcuHcuHcuHcuIcuIcuIcuIcuJcuKcuLctbcuMcrqcrqcrqcrqcrqcrvcrvcrvcaHcuNcorcuOcaIcdOcdMcdPcaHaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabVvcczccAcczccAcczccAcczccAcczccAcczbVycaJbTDcaKcuPcuQcuRcuScuQcuTcuUcpPcpPcpPcpPcpPcpPcpPcuXcuVctDcuWcuYcxbctDcvacvbcvccvcctIcvdctIcvecvfcvgcvhcvicvjcvkcvjcvlcvmcvncvocvpcvqcvrctOcvscvtcvucvvcoQdUSdUTdURdwUcvwcqocoVaaaaaactUcvxcvycvzcvAcvBbWzcDQcvDcqxcvEcvFcvGcvHcvIcvJcsjcvKcvLcvMcvNcumcvOcvPcvQcvRcsAcvScvTcvUcgwaaaaaacpkcsDcuucvVcvWcvXcvYcvZcwacwbcwccwdcuycwecwfcwgcwhcwicwjcwkcwlcwmcwncwocwpcwqcwrcwscwtcwucwvcwwcwxcwycwzcwAcwBcwCcwDcwEcwFcwGcrmcwHcwIcwJcrqcrqcrqcwKcwLcwIcrvcaHcwMcwNcwOcaHccxcwPcaHcaHaafaafaafaadaXGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabMCcdQbMCcdQbMCcdQbMCcdQbMCcdQbMCcdQaadbYTcwQcwRcwScwTcwUcwScwTcwVcwWcwXcwYbTDcfRcrMcrNcrNcrNcwZctDcxacxccxdctDcvacxectHctHctIcxfcxgcxhcxicxjcxkcxlcxlcxlcxmcxncxocxpcxqcxrcxscxtcxucxvcxwcxxcvvcoQdwUdwUdwUdwUcoVcqocoVaaaaaactUcxycqrcxzcxAcxBbWzcxCcxDcqxcxEcxFcxGcsrcxHcxIcxJcvKcxKcxLcxMcxNcxOcxPcpdcvRcxQcxRcxScxTcgwaaaaaacpkcsDcuucxUcxVcxWcxXcxYcxZcyacybcyccuzcydcyecyfcygcyhcyicyjcykcylcymcyncyocypcyqcyrcyscyrcytcwwcyucyvcywcwAcyxcyycyzcwEcyAcyBcrmcrmcrmcrmcrmcrmcrmcrmcrmcpzcpzcaHcyCcaIcaHcaHcaHcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaaaaaaaaabKLbKMbKMbKMbKMbKMbKMbKMcyDbKMbKMbKMbVybXocyEcyFcyGcyHcyIcyJcyHcyKcyLcyLcyMbTDcfRcyNcmLcyOcyOcyPcyOctDcyRcyQctDctDcyTcyUcyVctIcyWcyXcyYcyZczaczbcxlcxlczcczdczeczfctOczgczhcziczjctOcoQcoQczkcoQcoQcqmcqmcqmcqmcoVcqoczlaaaaaacqpcsicqrczmcznczobWAbWAczpcqxcxEczqczrcsrcsjcvAcsjczscpdcztczuczvczwcpdcpdczxczyczzczAczBchZaaaaaaczCcsDcuuczDczEcxWczFczGcxZczHczIczJcuzczKcyeczLczMczNczOczPczQczRczSczTczUczVczWczXczYczXczZcAacAbcAccAdcwAcAecAfcAgcwEcAhcAicAjcAkcAlcAmcAncAocApcAqcArcAsbYScAtcAuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvcczccAcczccAcczccAcczccAcczccAcczbVyccBbTDbTDcAvcAwcAxbVEcAxcAycyLcyLcAzbTDcfRcyNcmLcyOcAAcABcACctDcAEcyScAFctDcAGcAHcAIctIcAJcAKcALcAMcANcAOcAPcAQcAQcARczecAScATcAUcAVcAWcAXctOcAYcAZcBacBbcBccqmcBdcqmcBecoVcqoczlaaaaaacqpcqpcBfcsjcuhcBgcBhbWAcBicqxcqxcqxcqxcBjcBkcBlcBkcBmcpdcpdcBncBocpdcpdcBpcBqcBrcjDcBschZchZaaaaaaczCcsDcuucuucBtcBucBvcBwcxZcBxcBycBzcuzcBAcBBcBCcBCcBDcBEcBFcBGcBHcBIcwocBJcypcBKcBLcBMcBNcBOcuGcBPcBQcBRcwAcBScBTcBUcwEcBVcBWcBXcBYcBYcAmcBZcCacCbcAmcAmcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabMCcdQbMCcdQbMCcdQbMCcdQbMCcdQbMCcdQaafaafaafbTEbTDbTDbTDbTDbTDbTDbTDbTDbTDbTDcfRcCccencyOcCdcABcCectDcCfcADcNpcCjcCkcClcCmctIcCncCocCpcCqctIcCrcCscCtcCtcCucCvcCwcxpcCxcCycxrcCzctOcAYcCAcCBcCCcBbcBbcqmcBdcqmcoVcqoczlaaaaaaaaactUcCDcCEcuhcCFcCGcCHcCIcCJcCKcCKcCLcCMcCNcskcCOcCMcCPcnDcCQcCRcCScCTcCUcCVcBrcCWcCXcgwaaaaaaaaaczCcsDcCYcuucCZcDacDbcDccxZcDdcDecDdcuzcDfcyecDgcDhcDicDjcDkcDlcwmcDmcwocDncypcDoczXcDpczXcDqcuGcDrcDscDtcwAcDucDvcDwcwEcDxcDycDzcDAcDBcDCcDDcDEcApcDFcDGcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDHcDIcDJcDKcDLcDLcDMcDNcMXcChcCgcPXcyOcDRcDScDTctDctDctDctDcDUcDVcDWcDUctIcDXctIcDYcDZctIcEacEbcEccEccEdcEecEactOcEfcEgcEhcEictOcEjcEjcEjcEkcEjcBbcBbcBbcqmcoVcqocoVaaaaaaaaactUctUcElcCEcuhcuhcEmcEncEocEocEpcEqcErcEscEtcEucErcEvcEwcExcExcEycEzcBrcBrcCWcEAcgwcgwaaaaaaaaacpkcsDcEBcuucuucECcEDcEEcxZcEFcEGcEHcuzcEIcEJcEKcELcEMcENcEOcEPcEQcERcEScETcuGcEUcEVcEWcEXcEYcuGcDOcFacFbcwAcFccFdcFecwEcFfcFgcFhcFicFjcAmcFkcFlcFmcAscAscAsaafaafaafabcaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDHcFncFocFpcFqcDHcDHcDHcMXcEZcDPcFtcyOcyOcyOcyOcGTcFvcFwcFxcDUcFycFzcFAcFBcFCcFDcFEcFFctIcFGcFHcFIcFJcFKcFLcFMctOcxpcFNcxpcFOctOcFPcFQcFRcFScEjcoVcoVcFTcoVcoVcFUcoVaaaaaaaaaaaactUctUcElcCEcsjcFVcFWcFXcFYcsjcFZcGacGbcskcGccGacGdcjDcGecGfcGgcGhcjDcCWcEAcgwcgwaaaaaaaaaaaacpkcsDcGicGjcGkcGlcGmcGncGocGpcGqcGrcuzcGscuzcuzcGtcGucGtcuycuEcGvcuEcGwcuEcuGcwwcGxcGycwwcuGcuGcGzcGAcFrcwAcwEcGCcwEcwEcFfcFgcFhcGDcGEcAmcGFcGGcGHcAsaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacFpcGIcFpcGJcGKcGLcDHcGMcGBcLFcFscGPcGQcGRcGScGTcFucGUcGVcFxcDUcGWcGXcGYcGZcHacDUcHbcHccHdcHecHfcHgcHgcHhcHicHjcHkcHlcHmcHncHocEjcHpcHqcHrcHscEjcHtcHucBbcHvcHwcHxcoVaaaaaaaaaaaaaaactUctUcHycHzcHycHAcHBcHCcHDcHDcHEcslcskcslcHEcHFcHFcHGcHHcHIcHJcHKcHJcgwcgwaaaaaaaaaaaaaaacpkcHLcHMcGjcHNcHOcHPcHQcHRcHScHTcHUcHVcHWcHXcHYcHZcIacHUcIbcIccIdcIecIfcIgcIhcIicIjcIkcIlcImcIncIocIpcIqcIrcIscItcIucIvcIwcIxcIycIzcIAcAmcAmcIBcAmcAsaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaafaafaafaagaadaadaadaadaadaadaagaaaaaaaaacFpcICcIDcIEcGKcIFcIGcIHcGNcKtcIJcIKcGQcGRcGScGTcGTcILcIMcFxcDUcINcIOcIPcIQcIRcIScITcIUcIVcIWcIXcIVcIVcIYcIZcJacJbcJccITcJdcJecJfcJgcJhcJicJjcJkcHtcHucBbcFUcBbcJlcoVaaaaaaaaaaabaaaaaactUctUcqpcJmcJncJocJpcHDcsicJqcslcskcslcJrczBcHFcJscJtcJucJvchZcgwcgwaaaaaaaabaaaaaaaaacpkcJwcJxcGjcGkcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJIcJEcJKcJLcJMcJNcJOcJPcJQcJRcJScJTcJUcJVcJWcJXcJYdUUcKacJXcKbcJXcKccJXcKdcKecKfcKgcKhcKicKjcKkcKlaaaaaaaabaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacDHcKmcKncKocGKcKpcDHcKqcKrcGOcKscKtcKucKtcKucKvcKwcKxcIMcIMcDUcKycKzcKzcKAcKBcKCcHgcKDcHgcKEcHgcHgcHgcKDcKFcKGcKGcKGcKGcKGcKGcKHcKIcKJcKKcKLcEjcHtcHucBbcKMcKNcKNcKNcKNcKNaaaaaaaaaaaaaaaaaacqpcqpctUctUctUcqpcqpcqpcKOcKPcKQcqpchZchZcgwcgwcgwchZchZaaaaaaaaaaaaaaaaaacKRcKRcKRcKRcKScKTcKTcIIcKVcKTcKWcKXcKYcKXcKZcLacLbcLccLdcLccLbcLbcLbcLecLfcLgcLbcLhcLicLjcLkcLjcLhcLhcLlcLmcLncLmcLlcAjcLocLpcLqcLrcAjcLscLtcLucLvcLwcLxcLyaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcLzcLAcDHcLBcLCcLDcDHcKqcLEcLFcLGcLHcLIcLJcLKcLLcGTcLMcIMcIMcDUcLNcLOcKzcLPcLQcDUcLRcLScHgcLTcLUcLUcLUcLScLVcKGcLWcLWcLWcLWcLWcLXcLYcLYcLZcLYcoVcoVcoVcBbcFUcKNcMacMbcMccKNcKNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactUcMdcMecMfcMgcMhctUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKRcKRcMicMjcKRcMkcKVcMlcMmcMncKTcMocMpcMqcMrcMscKZcMtcMucMvcMwcMxcLbcMycMzcMAcMBcMCcLhcMDcMEcMFcMGcMHcMIcMJcMKcMLcMMcMNcMOcMOcMOcMOcMOcMOcMPcMQcMRcMScMTcMUcMVaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaacMWcDHcFpcFpcDHcDHcMXcMYcMYcMXcMZcNacMXcMXcLLcGTcIMcIMcIMcDUcNbcNccNdcNecNfcDUcNgcHgcHgcNhcNicHgcHgcHgcNjcNkcLWcLWcLWcLWcLWcLXcNlcNmcNncLYcNocQkcoVcBbcNqcNrcNscNscNtcNucKNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactUcNvcNwcNxcNycNzctUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKRcNAcNBcNCcKRcNDcKVcNEcNFcNGcKTcNHcNIcNJcNKcNLcNMcNNcNOcNPcNQcNRcLccNScNTcNUcNVcNWcNXcNYcNZcOacObcOccLhcOdcOecOfcOgcOhcMOcOicOjcOkcOlcMOcOmcOncLucOocOpcOqcLyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcOrcOscOtcMXcLLcGTcIMcIMcIMcDUcDUcDUcDUcDUcDUcDUcOucOvcHgcHgcOwcOwcOwcHgcOxcOycLWcLWcLWcLWcLWcLXcOzcOAdUVcLYcOCcBbcODcOEcOFcKNcOGcOHcOIcOJcKNcoVcoVcoVcoVczlczlczlcoVcoVcoVcoVcoVcOKcOLcMfcOMcOKcpkcpkcpkcpkcpkczCczCczCcpkcpkcpkcpkcKRcONcOOcOPcKRcOQcKVcORcOScOTcKTcOUcOVcOWcOXcOYcKZcOZcPacPbcPccPdcLfcNScNTcPecPfcPgcPhcPicPjcPkcPlcPmcLhcPncPocPpcPqcPrcMOcPscPtcPtcPucMOcPvcPwcPxcPycPzcPAcKlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcPBcPCcPDcMXcLLcGTcGTcPEcIMcFucFucIMcIMcIMcPFcGTcEacPGcEacEacPHcPIcPJcPKcPLcPMcLWcLWcLWcLWcLWcLXcPNcPOcPPcLYcPQcPRcoVcPScPTcKNcKNcKNcKNcKNcKNcPUcPVcPWcQZcPYcPZcQacQacQacQacQacQacQbcQccQdcQecQfcQgcQgcQgcQgcQgcQgcQhcQicpkcQjcSpcQlcKRcQmcOOcQncKRcQocKVcKVcQpcKVcKTcQqcQrcQscQtcQucKXcQvcQwcQxcQycPdcLccNScQzcQAcQBcQCcQDcQEcQFcQGcQHcQIcLhcLlcLlcLlcLlcLlcMOcPscQJcQKcPucMOcQLcQMcKlcKlcKlcKlcKlaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaaaaaaaaaaaacMXcQNcQNcMXcMXcLLcIMcGTcGTcFucFucGTcGTcGTcGTcGTcGTcQOcQOcQOcEacEacEacEacQPcQQcKGcLWcLWcLWcLWcLWcLXcLYcKUcLYcLYcoVcoVcoVcQScQTcQUcHwcQVcQWcQXcHwcQacQYdFLcRacRbcRccPUcAYcPUcPUcRdcRecoVcRfcRgcRhcpkcRicRjcRicRkcRlcRmcRncQocRmcsFcsFcRocKRcKRcRpcKRcKRcQocpkcGjcRqcRrcLacRscRtcRucRvcRwcKZcRxcRycRzcRAcRBcLbcRCcRDcREcRFcRGcRHcRIcRJcRKcRLcRMcRNcROcRPcRQcRRcRScMOcRTcRUcPtcRVcMOcRWcRXcpwaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaadaadaaaaaaaaacMXcRYcRZcSacMXcSbcKvcSccSdcSecSfcSgcShcIMcSicIMcSjcSkcSkcSkcSlcSmcSmcEacEacEacKGcKGcKGcKGcKGcKGcKGcQOcSncQOcGTcSocGTdTdcBbcFUcBbcSqcSrcPScSscBbcPUcPUcRdcPUcPUcStcAYcSucSvcSwcSucSucSucSxcSycSzcSAcSAcSAcSAcSAcSAcSAcSBcSCcSDcSDcSDcSEcSFcSGcSHcSDcSDcSIcSJcSKcSLcSMcLacLacLacLacLacLacLacSNcLbcLbcLbcSOcLbcSPcSQcSRcSScSPcLhcSTcLhcLhcLhcMIcSUcSVcSWcSXcSYcSZcTacPtcTbcTccTdcTecTfcTgcpwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfGaafaafaafaafaaaaaaaaacMXcMXcSbcKucKucKucThcTicTicTicTjcTicTicTicTkcKucKucKucKucThcKucKucKucKucKucKucKucKucTlcTmcTncTocTpcKucTqcTrcTscTtcTucTucTucTucTucTucTucSucSucSucSucSucSucSucTvcTwcTxcTycSucTzcTAcTBcSAcTCcTDcTEcTFcTGcSAcTHcsFcsEcsFcsFcTIcTJcTJcTJcTJcTJcTJcTKcTLcsFcTMcTNcTOcTPcTQcTQcTRcTScTTcTUcTVcTWcTXcSRcTYcTZcUacUbcUccSRcUdcTWcTVcTUcUecSUcUfcUgcUhcUicUjcMOcUkcUlcUmcUncUocUpcUqcpwaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacMXcMXcMYcMYcMYcMXcMXcMXcMYcMYcMYcMXcMXcMXcMXcMXcMXcMXcMXcIMcIMcIMcIMcIMcIMcIMcIMcIMcIMcIMcMXcMXcMXcMXcUrcUscUtcTucUucUvcUwcUxcUycTucUzcUAcUBcUCcUDcUEcUFcUGcUGcUHcUIcSucUJcUKcULcUMcUNcUOcUPcUQcURcSAcUScUTcpkcUUcUVcRmcTJcUWcUXcUYcUZcVacsFcTLcVbcVccVdcVecVfcVgcVhcGjcTScVicUacVjcVkcVlcSRcVmcVncVocVpcVqcSRcVrcVkcVjcUacVscSUcSUcSUcSUcVtcSUcMOcMOcMOcMOcMOcMOcVucVvcVwaafaafaafabcaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacMXcMXcVxcVycVzcVAcVBcVCcVDcVEcVFcMXcMXaaaaaaaaaczlcVGcVHcTucTucTucVIcVJcVKcTucVLcVMcVNcVOcVPcVQcSucVRcVScVTcVUcSucVVcVWcVXcSAcVYcVZcWacWbcWccSAcWdcWecTJcTJcTJcTJcTJcWfcWgcWhcWicWjcqMcWkcWlcWmcWmcWlcWncWocWpcWqcWrcWscWtcWucWvcWwcWxcWycWzcWAcWycWycWxcWAcWBcWCcWycWDcWEcQRcWGcWHcWIcWJcWKcWLcWMcWNcWOcWPcWQcWRcWSaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacMXcMXcMXcMYcMYcMYcMYcMYcMXcMXcMXaaaaaaaaaaaaczlcWTcWUcTucWVcWWcWXcWYcWZcTucXacXbcXccXdcXecXfcSucSucXgcSucSucSucXhcUKcXicSAcSAcXjcXkcXlcXmcSAcXncXocXpcXqcXrcXscTJcXtcXucXvcXwcTJcXxcQocXycXzcXAcXBcXCcXCcXDcGjcTScXEcXFcXGcXHcXIcXJcXKcXLcXMcXNcXKcXOcXPcXQcXRcXScXTcXUcWFcXWcXXcXYcXZcYacYbcYccYdcYecYfcYgcYhcYiaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaabaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrcVGcVHcTucTucTucTucYjcTucYkcYlcYlcYmcYlcYlcYncYocYpcYqcYrcYscYtcYucUKcYvcYwcYxcYycYzcYAcYBcYCcYDcYEcYFcYGcYHcYIcTJcTJcTJcYJcTJcTJcpkcYKcYLcYMcYNcYOcTRczCczCcTRcTScTScYPcYQcYRcYScYRcSPcYTcYUcYVcSPcYWcYXcYYcYZcYYcZacZbcZbcZbcZccZdcZccZecZfcZgcZfcZhcZicZjcZicWSaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadabcaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrcUscZkcZlcZmcZncSucZocTwcZpcZqcZqcZrcZqcZqcZscTwcZtcZucZvcZwcYtcZxcZycZzcZAcZBcZCcXocZDcZEcXocZFcZGcZHcZIcZJcZKcZLcZMcZNcZOcZPcTJcZQcZRcZScZTcZTcTRaaaaaaaafaaaaaaaaacYPcZUcZVcZWcZXcZYcZYcZZcZYcZYdaadabdacdaddaedafdagdahcZbdaidajdakcZedaldamdancZhcWScYicWScVwaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacUrcUrdaodapdaqdaqdaqdardasdatdatdaudatdavdatdawdaxdaydazdaAdazdaBdaCdaDdaEdaFdaGdaHdaIdaJdaKdaJdaJdaLdaMdaNdaOdaPdaQdaRdaQdaQdaSdaTcTJdaUcZRdaVdaWdaXdaYaaaaaaaafaaaaaaaaacYPdaZdbadbbdbcdbddbedbfdbgdbhdbidbjdbkdblcYYdbmdbndbocZbdbpdbqdbrcZedbsdbtdbucZhaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafabcaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaacUrdbvdbwdbxdbydbzdbAcSudbBdbCdbDdbEdbFcTwcTwcZocTwdbGcTwdbHcTwdbIdbJdbKcUKcULdbLdbMdbNdbOcXodbPdbOcZFdbQdbRcZKcZJdbSdbTdbUdbVdbWdbXcTJdbYdbZdaVaaaaaaaaaaaaaaaaafaaaaaaaaacYPdcadcbdccdcddbddcedcfdcgdbhdchdcidcjdckcYYdcldcmdcncZbdcodcpdcqcZedcrdcsdctcZhaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaacUrdcudcvdcwdcxdcydcycSudczdcAdbDdcBdcCdcDcTwdcEdcFdbGdcGdcHdcIdbIdcJdcKdcLdcMcYwdcNdcOdcPdcQdcRdcPcZFdbQdUWdcTcZJdcUdcVdcWcZKdbWdcXcTJdcYdcZdaVaaaaaaaaaaaaaaaaafaaaaaaaaacYPddaddbddcddddbdddeddfdcgdbhddgddhddiddjcYWddkddkddkddkddlddmddlddnddoddpddocZhaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafcUrddqddrddrddrddrddrddrddrddrddsddrddrddrddtdducSuddvcZtddwcZvddxcYtddycUKddzddAddBddCddDcXoddCddDcZFddEdbRddFddGddHddIddHddHddJddKcTJddLddMcZSaaaaaaaaaaaaaaaaafaafaafaafcYPcYPddNddOddPddQddRddSddTddQddUddVddWcYWcYWaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlddXddYddZddZddZddZddZddZddZddZddZddZddYdeadebddrdeccTwdedcTwcTwcYtddycUKdeeddAdefcXocXocXocXocXocZFdegdbRcZKcZJcZKcZKcZKcZKcZKdehcTJdeidejcZSaaaaaaaaaaaaaadaagaaaaaaaaaaafcYPcYPcYPcYPddQddQddQddQddQcYWcYWcYWcYWaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczlddXdekddZddZddZddZddZddZddZddZddZddZddYdeldemddrdendeodepdeqdercSudescVWdetcYwdeudevdewdexdeydezdeAdeBdeCdeDdeEdeFdeGdeHdeIcZKdeJcTJdeKdeLcZSaaaaaaaaaaagaadaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaczlddXdeMddZddZddZddZddZddZddZddZddZddZddYdeNdeOddrcSucSudePcSucSucSudeQcUKdeRdeSdeTdeTdeUdeUdeUdeVdeWdeXdeTdeYdeZdeTdeUdeUdeUdeUdeTdeTdfadcZcZSaafaafaafaadaaaaabaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafcUrddXddYddZddZddZddZddZddZddZddZddZddZdfbdfcdfddfeddrdffdfgdfgdfhdfidfjcUKdfkdfkdeUdfldfmdfndfodfpdfqdUXdfsdftdfudfvdfwdfxdfydfzdfAdfBdaUdcZcZSaaaaaaaaaaadaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlddXddYddZddZddZddZddZddZddZddZddZddZdfCdfDdfEdfFdfGdfHdfIdfJdfKdfLdfMcZydfNcULdfOdfPdfQdfRdfSdfQdfTdfUdfUdfUdfVdfWdfUdfUdfXdfUdfYdeTdfZdcZdaVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaagaaaaadaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlddXdgaddZddZddZddZddZddZddZddZddZddZddYdgbdgcdgddgedgfdggdghcULcSzdgidgjdgkdgldgmdgndgodUYdgqdgqdgrdgqdgsdgqdgtdgudgvdgwdgxdgvdgydgzdgAdgBdaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcUrddXddYddZddZddZddZddZddZddZddZddZddZdfbdfcdgCdgDddrdgEdgFdgGdgHdfidgIcTAdgJdfkdeUdgKdgLdgMdgNdgOdgPdgQdgRdgSdgTdgNdgOdgUdgVdgVdgWdeTdgXdcZdaVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaczlddXdeMddZddZddZddZddZddZddZddZddZddZddYdgYdgZddrdhadhbdhadhadhadfidhcdhddhedeTdeTdhfdeTdeTdeTdeTdhgdeTdeTdeTdeTdeTdeTdeTdeTdeTdeTdeTdhhdhicZSaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczldhkdekddZddZddZddZddZddZddZddZddZddZddYdeldhldhmdVadhodUZdVcdhrdVbcTBcTAdhtdhudhvdhwdhxdhydhzdhxdhAdhvdhBdhCdhDdhEdhFdhGdhBdhHdhIdhJdhKdhLcZSaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczldhkddYddZddZddZddZddZddZddZddZddZddZddYdhMdhNdhmdhOdhPdhQdhRdVddhTdhUdhVdhWdhudhxdhXdhYdhZdiadibdicdhxdhBdiddiedifdigdihdhBdiidijdikdildimcZSaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafcUrdhkddrddrdindiodipddrddrddrddrddrddrddrddrddrddrdVfdVedisdVgdhrdiudivcVWdiwdixdiydizdiAdhydhydiBdiCdhxdiDdiEdiFdiGdiHdiIdhBdiJdiKdikdiLdimcZSaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrdhkcvwdiMdiNdiMdiOdiMdiPdiQdiRdiQdiSdiTdiUdiVdiMdiWdhadhadhadhadiXdfkcUKdiYdixdiZdjadiZdhydjbdiZdjcdjddjedjfdjfdjgdjfdjhdhBdjidjjdjkdjldjmcZSaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrdhkctTdiMdjndjodjpdjqdiPdjrdiRdjsdiSdjtdjsdjsdjudjsdjsdiQdjsdjvdbKdfkcUKdjwdhudhxdhXdhYdhydhydibdicdjxdhBdiDdiDdjydiDdiDdhBdixdixdixdhhdjzdjAdjAdjAaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdjBdjCdiMdjDdjEdjFdjsdjGdjHdjIdjJdjIdjKdjLdjMdjNdjLdjOdjLdjLdjPdhTdhUdhVdjQdhudiZdjRdjSdjTdjTdjUdjVdjWdjXdjYdjYdjZdkadkbdkcdkddkbdkbdkedkfdkgdkhdkiaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdkjdkkdkldkmdkndkodkpdkqdkrdksdktdkudkvdjsdjsdjsdkwdiMdkxdiMdiMdiMdkycZydkzdixdkAdkBdkCdkDdkEdkFdkGdkHdkIdkJdkHdkKdkLdkMdkNdkOdkNdkNdkPdkQdkRdkSdkiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdkTdkUdiMdkVdkWdkXdjsdkYdjsdjsdkZdjsdkvdladlbdlcdlddkxdledlfdlgdiMdlhcUKdlidixdhudhudixdljdlkdixdlldhudixdixdlmdixdlndixdlodlpdlqdhxdlrdlsdixdjAdjAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcAYdltdiMdludjsdlvdjsdkYdlwdlxdlydlzdlAdlBdlCdlDdlDdlEdlFdlGdlHdiMdfkdlIdlJdlKdlLdlMdlNdlOdlPdlQdlRddzdlSdixdlTdlUdlVdixdlWdlWdlXdlYdlZdmadmbdmcdmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrdmediMdiMdmfdmgdmhdkYdmidlxdmjdlzdmkdmldmjdmmdmndkxdmodmpdmqdiMdmrdmsdmtdmudmvdmwdmxdmydmzdmAdmBdmCdmDdixdixdixdixdixdixdixdixdixdmEdmFdmFdmFdmGdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdmJdmKdmLdmMdiMdmNdmOdmOdmPdmQdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdmRdmSdcLdmTdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmVdmWdmVdmXdmYdmZdnadmVdnbdncdmFdnddnednfaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdnhdnhdnhdnidnidmKdnjdnkdnkdnldnkdnmdnndnodnpdnqdnrdnsdntdnudnvdnwdnxdnydnzdnAdnBdfkcUKdnCdmUdnDdnEdnFdnGdnHdnIdmUdnJdnKdmUdmXdmXdmXdmXdmXdmXdmXdmXdnLdnMdnNdnMdnOdnfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmIdnPdnQdnRdnRdnSdmIdnTdnUdnVdnWdnXdnYdnZdoadobdocdoddoedofdogdohdoidojdokdoldomdomdomdondoodopdmUdmUdmUdoqdordosdotdoudovdowdmUdoxdoydozdoAdoBdoCdoDdmXdnbdnMdmFdoEdoFdnfaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdoGdoHdoHdoIdoJdoKdoLdoMdoNdoOdoPdoQdoRdoPdoPdoOdoSdoTdoUdoVdoWdoXdoYdoZdpadpbdoYdfkdpcdpddmUdpedpfdpgdphdpidpjdmUdpkdnKdmUdpldpmdpndpodppdpqdprdmXdnbdpsdmFdmFdmGdmGaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdptdoHdoHdoIdoJdoKdoLdpudpvdoOdpwdpxdpydpzdpAdoOdpBdpBdpCdpBdpDdpEdpFdpGdpFdpHdpIdpJdpcdpKdmUdmUdmUdmUdpLdmUdmUdmUdmUdmUdmUdpMdpmdpndpNdpOdpmdpPdmXdpQdnMdVtdpRdmGaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmIdpSdpTdpUdpUdnSdmIdmKdpVdpudpWdoPdpXdpYdpZdpXdpXdqadqbdqcdqddqcdqedpEdqfdqgdqhdpFdqidfkdpcdqjdqkdqldqmdqndqodqpdqqdqrdqsdqtdqudqvdqvdqvdqwdqxdqxdqydqzdqAdqBdnMdqCdnfaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdqDdqDdqDdnidnidmKdqEdpudqFdoPdqGdqHdqIdqJdqKdoOdqLdqMdqNdqcdqOdpEdqPdqQdqRdpFdqidfkdqSdqjdqkdqldqTdqUdqUdqVdqWdqUdqXdqUdqYdqZdradrbdqYdqUdrcdqUdmXdrddrednMdrfdnfaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdrgdmKdrhdridrjdoOdrkdrldrmdrndrodoOdrpdrqdrrdqcdrsdpEdrtdrudrvdrwdrxdfkdrydrzdrAdrBdrCdrDdrEdqUdqWdrFdrGdrGdrHdrGdrIdrIdrJdrIdrIdmXdmXdrKdrLdnMdrMdnfaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmKdmKdmKdmKdmKdmKdmKdrNdrOdpWdoPdrPdrQdrRdrSdrTdoOdrUdqcdrVdrWdrXdpEdrYdrZdsadpFdqidfkcUKdsbdscdsddqTdsedsfdqUdqWdsgdrGdshdsidsjdrIdskdsldsmdrIdsndmXdsodspdmGdmGdmGaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmKdsqdsrdqFdoPdssdpxdssdstdsudoOdsvdqcdswdqcdsxdpEdsydszdsAdpFdsBdsCcTAdsDdscdsEdsFdsGdsHdqUdsIdsJdrGdsKdsLdsMdrIdsNdsOdsPdrIdsQdmXdsRdsSdmGaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTaaaaaaaaaaaaaaaaaadmKdsUdsVdoXdoOdsWdsXdsYdssdsZdtadtbdtcdtddtcdtedpEdpEdpEdpEdtfdtgdthdtidtjdtgdtkdtldtmdsHdtndqUdsJdrGdtodtpdtqdrIdtrdtsdttdrIdsndmXdtudtvdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtgdtwdtxdtydoOdoOdoPdoPdoPdoOdoOdtzdpBdpBdpBdtzdtAdtBdtCdtydtDdtCdtxdtEdtwdtFdtgdtAdtGdtGdtGdtGdtAdrGdrGdrGdrGdrIdrIdrIdrIdrIdmXdmXdtHdtIdtgdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtJdtKdtLdtLdtGdtMdtNdtOdtPdtQdtPdtRdtSdtTdtUdtTdtVdtKdtLdtLdtWdtLdtXdtYdtKdtLdtWdtLdtXdtLdtZdtTdtPdtTdtSduadtUdtQdtPdubdtNdtMdtGdtLducdudduedtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufaaaaaaaaaaaaaaadufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdugduhduidujdukdulduldumdulduldujdundulduldumduldulduodulduldukduldupduqduoduldukduldumduldulduldujduldurdusdumdulduldujdulduldukdujdutduuduvdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufaaaaaaaaadufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtgduwduxduydtWduzduAduBduCduDduEduFduGduHduIduDduCduJdtgdtAdtgduKduLduMduNduOdtgdtAdtgduPduCduDduEduQduGduFduIduDduCduRduAduSdtWduyduxduTdtgdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaaaaaduUduVduWduUdtgdtGdtgdtgdtGduXdtGdtgdtgdtgdtGduXdtGdtgdtgaaaduYduZdvadvbdvcdvdduYaaadtgdtgdtGduXdtGdtgdtgdtgdtGduXdtGdtgdtgdtGdtgdvedvfdvgdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaaaaaduUdvhdvidvjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvkdvldvmdvndvkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvodvpdvqdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTaaaaaaaaadvjduUdvrdvsdvtaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvudvvdvwdvxdvuaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvydvzdvAdvedvoaaaaaaaaadvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTdvCdvDdvDdvjdvEdvFdvGdvjaaaaaaaafaaaaaadvHdvHdvHdvHdvHdvHdvHaaaaaaaafaaaaaadvkdvvdvIdvJdvkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvodvKdvLdvMdvodvNdvNdvOdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTdvPdvQdvRdvSdvTdvUdvVduUaaaaaaaafaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaafaaaaaaduYdvWdvwdvXduYaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvedvYdvZdwadwbdwcdwddwedvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTdvDdwfdVhdwhdwidwjdwkdvjaaaaaaaafaafdvHdvHdvHdvHdvHdvHdvHdvHdvHaafaafaaaaaadvkdvxdvwdvxdvkaaaaaaaafaaaaaadwldwldwldwldwlaaaaaaaaaaaaaafaaaaaadvodwmdwndwodwpdVidwrdvNdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTaaaaaaaaadvjdvjdwsdwtdvjaaaaaabeNaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaabeNaaaaaadvkdvxdvwdvxdvkaaaaaabeNaaadwldwldwldwldwldwldwlaaaaaaaaabeNaaaaaadvodwudwvdvodvoaaaaaaaaadvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTaaaaaaaaadsTdsTdsTaaaaaaaaaaaadvjdwsdwwdvjaaaaaaaafaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaafaaaaaadvkdwxdvwdvxdvkaaaaaaaafaaadwldwldwldwldwldwldwlaaaaaaaaaaafaaaaaadvodwydwvdvoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTaaaaaaaaaaaaaaadsTdsTaaaaaaaaaaaaduUdwzdwAduUaaaaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaaaaduYdwBdwCdwDduYaaaaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaaaaadvedwEdwFdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaadwGduUduUduUduUdwHdwIdwhdwJdwKdwLdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdwMdwNdwOdwPdwQdwRdwSdvkdVjdVjdVkdwldwldwldwldwldwldwldwldwlaaaaaadVndVldVmdwXdwYdwZdvedvedvedvedxaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduUdxbdxcdxddxedxfdxgdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxhdxidxjdxkdxldvwdxmdxndxodxpdxqdwldwldwldwldwldwldwldwldwlaaaaaadxrdxsdxtdxudxvdxwdveaaaaaaaaaaaadxxdxxaaaaaaaaaaaaaaadxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvjdwsdxydxddxzdxAdxBdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxCdxDdxEdxkdxFdxGdxHdxIdxJdxKdxLdwldwldwldwldwldwldwldwldwlaaaaaadxMdxNdxOdxudxPdwvdvoaaaaaaaaaaaadxxdxxdxxaaaaaaaaadxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQaaaaaaaaaaaadvjdvjdxRdxSdwhdxTdxUdvDdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxVdxWdxXdwPdxYdxZdyadvkdvkdVjdVjdwldwldwldwldwldwldwldwldwlaaaaaadvNdVodycdyddyedyfdvodvoaaaaaaaaadxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdygdyhdVpdwhdyjdwjdwkdykduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyldvxdvwdvxdymduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyndwmdwndyodwpdVqdyqdvNdxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdyrdysdytdyudyvdvUdwtdywduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyxdvxdyydvxdyzduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyAdwudvZdyBdyCdyDdyEdyFdxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdvDdvDdvDdvjdyGdyHdyIdyJduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyKdvxdyLdyMdyNduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyOdyPdyQdyRdvodvNdvNdvOdxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQaaaaaaaaaaaadvjdvjdySdyTdwhdwJdwKdvDdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxVdwNdwOdwPdyUdyVdyWdvkdvkdVjdVjdwldwldwldwldwldwldwldwldwlaaaaaadvNdVldVmdwXdyXdyYdvodvoaaaaaaaaadxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvjdwsdyZdzadzbdzcdzddvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdzedzfdzgdzhdxFdzidzjdzkdzldzmdzndwldwldwldwldwldwldwldwldwlaaaaaadzodzpdzqdzrdzsdwvdvoaaaaaaaaaaaaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduUdwsdztdzadzudzvdzwdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdzxdzydzzdzhdzAdzBdzCdzDdzEdzFdzGdwldwldwldwldwldwldwldwldwlaaaaaadzHdzIdzJdzrdzKdwvdveaaaaaaaaaaaaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaadwGduUduUduUduUdzLdzMdwhdxTdxUdwLdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdwMdxWdxXdwPdzNdyVdzOdvkdVjdVjdVkdwldwldwldwldwldwldwldwldwlaaaaaadVndVodVrdwXdzPdzQdvedvedvedvedxaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduUdzRdzSduUaaaaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaaaaduYdzTdzUdzVduYaaaaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaaaaadvedzWdzXdveaaaaaaaaaaaaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvjdzYdzZdvjaaaaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaaaadvudAadAbdvxdvuaaaaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaaaaadvodAcdAddvoaaaaaaaaaaaaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAedAfdAgdAhaaaaaaaabdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaabaaaaaadvkdwSdAidAjdvkaaaaaaaabaaaaaadwldwldwldwldwlaaaaaaaaaaaaaabaaaaaadwVdAkdAldAmaaaaaaaabaaaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAndAodApdAnaaaaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaaaaduYdvkdAqduYduYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadArdAsdAsdAraaaaaaaaaaaaaaaaaadxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAtdAudAvdAwaaaaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaaaadvkdAxdAydAzdvkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAAdABdACdADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwfdAEdAFdxUaaaaaaaaaaaaaaaaaadvHdvHdvHdvHdvHaaaaaaaaaaaaaaaaaadxVdAGdAHdAIdxVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAJdAKdALdwraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwGdAMdANduUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAOdxVdAPduYduYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedAQdARdxaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATaaaaaaaaaaaadATdATdATdATdATaaaaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaadATdATdATdATdATdATaaaaaadATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaadATdATdATdATdATdATaaaaaadATdATdATdATdATdATaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATaaaaaaaaaaaadATdATdATdATdATaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11112,158 +11160,158 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaadaadaadaadaadaafaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaafaafaaaaaaaaaaafaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaadaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaadaadaagaafaafaadaadaadaaaaagaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaadaafaafaadaadaadaJiaafaafaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWzaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaagaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadhaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaadzedzedzedzedzeaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaabetaaaaaaaaaaaaaaaaaTaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaafaaaaaaaaaaafaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafdzedzedzedzedzedzedzedzedzedzeaafdzedzedzedzeaaaaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzeaafdzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzeaafdzedzedzedzeaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaabaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzeaafdzedzedzedzeaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzebiCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaafaaaaafaafaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaafbetaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaagaaaaaaaaaaaaaaaaaadzfdzfdzfdzfdzfdzfdzfdzfdzfdzfdzfaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaadzfdzfdzfdzfdzfdzfdzfdzfdzfdzfdzfdzfaaaaaaaaaaaaaaaaaadzgdzgdzgaafaafaafaaaaaaaaaaafaafaafdzgdzgdzgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaafaaTaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaadzfdzfdzfdzfdzfdzfdzfdzfdzhdzfdzfdzfaaaaaaaaaaaaaaaaaadzedzedzeaaaaaaaafaaaaaaaaaaafaaaaaadzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaadzfdzfdzfdzfdzfdzfdzfdzfdzfdzfdzfdzfaaaaaaaaaaaaaaaaaadzgdzgdzgaafaafaafaaaaaaaaaaafaafaafdzgdzgdzgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdzedzedzedzeaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaabaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzfdzfdzfdzfdzfdzfdzfdzfdzfdzfdzfaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzeaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzeaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhaafaafaafaafdzedzedzedzeaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedUndzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadzedzedzedzeaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaagaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdzedzedzedzeaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzidzidzidzidzidzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaafaaaaaaaafaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaadaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzeaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzidzidzjdzidzidzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzeaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzidzkdzldzmdzndzmdzodzpdzidzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaadzeaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadzeaaaaaaaaaaaaaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdzedzedzedzeaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzidzqdzrdzsdztdzudzvdzwdzidzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaadzeaaaaaaaaaaafdzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxaaaaaaaaadzxaaaaaaaaaaaaaaadzxaaaaaaaaadzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzydzzdzAdzedzydzzdzAdzedzydzzdzAdzedzydzzdzAdzedzydzzdzAdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzBdzCdzDdzEdzFdzsdzGdzHdzIdzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzJdzKdzLdzedzJdzKdzLdzedzJdzKdzLdzedzJdzKdzLdzedzJdzKdzLdzedzedzeaaadzeaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxaaaaaaaaadzxdzxdzxdzxdzxdzxdzxaaaaaaaaadzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzidzidzidzOdzPdzQdzRdzRdzRdzSdzTdzUdzidzidzidzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaadzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedUodzidzidzWdzXdzYdzZdAadAbdAadAcdAddAedAfdzidzidUpdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaadzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzedzedzedzedzedzedzedzedzedAgdAgdAgdAgdAgdAgdAgdzedzedzedzedzedzedzedzidzidzidzOdzPdzQdzRdAhdzRdAidAjdzUdzidzidzidzedzedzedzedzedzedzedAkdAkdAkdAkdAkdAkdAkdzedzedzedzedzedzedzedzedzedzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzMdzNdzAdzedzedzedzedzedzedAldAmdAmdAmdAmdAndAodApdAqdArdAgdzedzedzedzedzedAsdAtdAtdAudAudAvdAwdAxdzRdzRdzRdzGdAydAzdzidzidzedzedzedzedzedzedzedzedAkdAAdABdACdADdAEdAFdAFdAFdAFdAGdzedzedzedzedzedzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzJdzVdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedAHdzedzedzedAHdzedzedzedAHdzedzedzedAHdzedzedzedAHdzedzedAIdzedAJdAJdAJdAldAKdALdAMdANdAOdAqdAqdAqdAPdAgdzedzedzedzedzedAQdzedzedzidzidzidARdASdATdAUdATdAVdAWdzidzidzidzedzedzedzedzedzedzedzedAkdAXdAYdAZdAZdBadBbdBcdBddBedAGdBfdBfdBfdzedzedzedzedBgdzedzedzedBgdzedzedzedBgdzedzedzedBgdzedzedzedBgdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaafaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedBhdBjdBjdBjdBidBjdBjdBjdBidBjdBjdBjdBidBjdBjdBjdBidBjdBjdBjdBidBjdBjdBldBmdBndBodBpdBqdBrdBsdBtdBudBvdBwdBxdBydBzdAgaaaaaaaaaaaaaaadBAaaaaaadzidzidzidzpdBBdBCdBDdBEdBFdzkdzidzidziaaaaaadBGaaaaaaaaaaaaaaadAkdBHdBIdBJdBJdBKdBLdBMdBNdBOdBPdBQdBRdBSdBTdBUdBVdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBWdBXdBYdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAHdzedzedzedAHdzedzedzedAHdzedzedzedAHdzedzedzedAHdzedzedzedzedAJdCadCbdCcdCddCedCfdANdCgdAqdChdCidAgdAgaaaaaaaaaaaaaaadBAaaaaaaaaaaaadzidzidzidzidCjdzidzidzidziaaaaaaaaaaaadBGaaaaaaaaaaaaaaadAkdAkdCkdCldAZdCmdBbdCndCodCpdCqdCrdCsdBfdzedzedzedzedCtdzedzedzedCtdzedzedzedCtdzedzedzedCtdzedzedzedCtdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCuaaaaaaaaadCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzedzedzedzedzedAldAmdAmdAmdAgdCwdCxdAgdAgdAgaaaaaaaaaaaaaaaaaadAQdzedzedzedCydCydCydCydzidCzdCAdCBdCydCydCydzedzedzedzeaaaaaaaaaaaaaaaaaadAkdAkdAkdCCdCDdAkdAFdAFdAFdAGdzedzedzedzedzedzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCuaaaaaaaaadCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzedzedzedzedzedzedzedzedzedAgdCFdAqdAgaaaaaaaaaaabaaaaaadzedzedAQdzedzedzedCydCGdCHdCIdCJdCKdCLdCMdCHdCNdCydzedzedzedzedzedzeaaaaaaaabaaaaaaaaadAkdAZdCOdAkdzedzedzedzedzedzedzedzedzedzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCuaaaaaaaaadCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzedzedzedzedzedzedzedzedzedAgdCPdCQdAgaaaaaaaaaaaaaaadzedzedzedAQdzedzedUqdCydCSdCTdCUdCVdCWdCXdCYdCZdCZdCydzedzedzedzedzedzedzeaaaaaaaaaaaaaaadAkdAXdDadAkdzedzedzedzedzedzedzedzedzedzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzMdCvdzAdzedzedzedzedzedzedzedzedzedzedAgdDbdDcdAgaaaaaaaaaaaadzedzedzedzedAQdzedzedzedCydDddCZdDedCZdDfdCZdDedCZdDgdCydzedzedzedzedzedzedzedzeaaaaaaaaaaaadAkdDhdDidAkdzedzedzedzedzedzedzedzedzedzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzJdCEdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzMdDjdzAdzedzMdDjdzAdzedzMdDjdzAdzedzMdDjdzAdzedzMdDjdzAdzedzedzedzedzedzedzedzedzedzedAgdDbdDkdAgaaaaaaaaadzedzedzedzedzedAQdzedzedzedCydDldCZdCydDmdDndDodCydDqdDrdCydzedzedzedzedzedzedzedzedzeaaaaaaaaadAkdDsdDidAkdzedzedzedzedzedzedzedzedzedzedzJdDtdzLdzedzJdDtdzLdzedzJdDtdzLdzedzJdDtdzLdzedzJdDtdzLdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaTaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdDudDvdDwaaaaaaaaadzedzedzedzedzedAQdzedzedDxdDxdDydDxdDxdCydDzdCydDAdDAdDBdDAdDAdzedzedzedzedzedzedzedzeaaaaaaaaadDCdDDdDEdAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdDFdDGdDwaaaaaadzedzedzedzedzedzedAQdzedDxdDxdDHdDIdDJdDxdDKdDLdDMdDAdDNdDOdDPdDAdDAdzedzedzedzedzedzedzedzeaaaaaadDCdDQdDRdAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdDSdDTdDwaaaaaadzedzedzedzedzedzedAQdzedDxdDUdDVdDWdDXdDYdDZdEadEbdEcdEddEedEfdEgdDAdzedzedzedzedzedzedzedzeaaaaaadDCdEhdEidAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdEjdEkdAgaaaaaadEldEmdEndEmdEodEodEpdEodEodEqdErdEsdEtdDxdEudEvdEudDAdEwdExdEydEzdEAdEBdECdEBdEAdEDdEEdEDdEFaaaaaadAkdEGdEHdAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdEIdAqdAgaaaaaadEldEJdEKdELdEMdENdEOdEPdEodDxdDxdDxdEQdERdESdETdEUdEVdEWdDAdDAdDAdEAdUrdEYdEZdFadFbdFcdUsdEFaaaaaadAkdAZdFedAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzxdzxdzxdzxdzxdzxdzxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdFfdFgdAgaaaaaadEldFhdFidFjdEMdFkdFldFmdEodFndFodFodFpdFodFodThdFodFodFrdFodFodFsdEAdFtdFudFvdFadFwdFxdFydEFaaaaaadAkdFzdFAdAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadCudCudCudCudCuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedAgdAgdFBdCxdAgaaaaaadEldFCdFDdFEdEMdFFdFGdFHdEodFIdFJdFKdFLdFMdFNdFOdFMdFMdFPdFQdFJdFIdEAdFRdFSdFTdFadFUdFVdFWdEFaaaaaadAkdCCdFXdAkdAkdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedFYdFYdFZdGadGbdGcdTidGedGfdGgdGgdEldGhdGidGjdEodGkdEMdEMdGldFIdFKdGmdGmdGmdGmdGmdGmdGmdGmdGmdFQdFIdGndGodGpdFadEAdGqdGrdGsdEFdGtdGtdGudGvdTjdGxdGydGzdGAdGBdGBdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedGCdGDdGEdGFdGGdGHdGIdTldGKdTkdGMdGNdGOdTmdGQdGRdGSdGTdTodGVdTndGXdGYdGmdGZdGZdGZdGZdGZdGmdHadHbdTpdHddTrdTqdHgdHhdHidTqdHjdHkdHldTtdHddTsdHndHodHpdHqdHrdHsdHtdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedHudGDdHvdHwdGGdHxdHydHzdHAdUtdHCdHDdHEdHFdHGdHHdHIdHJdHKdHLdHMdHNdHOdGmdGZdGZdGZdGZdGZdGmdHOdHPdHQdHRdHSdHTdHUdHVdHUdHTdHWdHXdHUdUudHRdHZdIadIbdHpdIcdIddHsdIedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedFYdFYdIfdIgdIhdIidTvdTudGKdTkdIkdIldImdTwdIkdIndIodTwdTudGKdTxdIqdGmdGmdGZdGZdGZdGZdGZdGmdGmdIrdTydHddTrdTzdItdIudIvdTzdItdIwdIvdTtdHddTrdTAdIydIzdIAdIBdGBdGBdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedICdICdIDdICdIEdIFdIGdIHdIIdIJdIJdIJdIJdIKdILdIKdIMdINdIOdIPdIQdIRdHNdISdGmdGZdGZdGZdGZdGZdGmdISdHPdITdIUdIVdIWdIXdIYdIZdJadJbdJcdGtdGtdGBdJddHndJedJfdJgdJhdJidJhdJhdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedJjdJkdJldJmdJndJodJpdIHdJqdIJdJrdJsdJtdJtdTBdJvdINdJwdJxdJydIMdJzdJAdJBdGmdGZdGZdGZdGZdGZdGmdJCdJDdJEdIYdJFdJGdJHdIXdJIdJJdJKdJcdzedzedGBdJLdHndJMdJNdJOdJPdJQdJRdJSdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedICdICdIDdICdIEdJTdJUdTCdJVdJWdIJdIJdJXdJYdJZdKadINdKbdKcdKddIMdIsdKedGmdKfdKgdKhdKidKjdGmdKkdGmdKldIsdIYdKmdKndKodIXdKpdKqdKrdJcdzedzedKsdKtdTDdKudKvdJgdJhdJidJhdJhdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdKwdKwdKwdKwdKwdKxdKydIJdKzdKAdKBdKCdKCdKDdINdKEdKFdUvdIMdKHdKIdKJdKKdKLdKMdKMdKMdKJdKNdKLdKMdKOdIYdUwdKQdKRdIXdKSdKTdKUdJcaaaaaadKVdKWdKXdKVdKVdKVdKVdKVdKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdKYdKZdIJdIJdIJdIJdIJdIJdIJdIMdIMdIMdIMdIMdLadLbdLcdLddLedLedLfdLgdLhdLidLjdLkdLldIYdIYdIYdIYdIYdJcdJcdJcdJcaaaaaadKVdLmdLndKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdLodLpdKwaaaaaadLqdLrdLsdLtdLudLvdLwdLxdLqdLydLzdLAdLBdLCdLDdLEdLDdLBdLBdLAdLFdLGdLHdLIdLJdLKdLLdLHdLMdLNdLHaaaaaadKVdLOdLPdKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaWzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdKYdLQdKwaaaaaadLqdLRdLSdLTdLUdLVdLWdLXdLqdLYdLZdGmdMadMbdFJdFIdFJdMcdMddGmdMedMfdLHdMgdMhdMidMjdBkdMldMmdLHaaaaaadKVdMndModKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdKYdMpdMqaaaaaadMrdLvdMsdMtdMudMvdMwdMxdMydMzdMAdMBdMadMCdMDdTEdMFdFJdMGdMHdMIdMJdBZdMLdMMdMNdMOdLHdMPdMQdLHaaaaaadMRdMSdMTdKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdMUdMVdMqaaaaaadMWdMXdMYdMZdNadMZdNbdNcdLqdNddNedGmdNfdNgdNhdTFdNjdNkdNldGmdNmdNndLHdLHdLHdNodLHdLHdLHdLHdLHaaaaaadMRdNpdNqdKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKwdNrdNsdMqaaaaaadNtdNudLvdLvdNvdLvdLvdNwdLqdLYdLZdNxdNxdNydNzdNAdNBdNCdNxdNxdMedMfdLHdNDdNEdNFdNGdNHdNIdNJdLHaaaaaadMRdNKdNLdKVdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedNMdNNdNOdzedNMdNNdNOdzedNMdNNdNOdzedNMdNNdNOdzedNMdNNdNOdzedzedzedzedzedzedzedzedzedzedKwdNrdNPdKwaaaaaadNQdNRdNSdLvdNTdNUdNVdNWdNXdNYdNZdOadObdOcdOddTGdOfdOcdOgdOhdOidOjdOkdOldOmdOndOodOpdOqdOrdLHaaaaaadKVdOsdNLdKVdzedzedzedzedzedzedzedzedzedzedOtdOudOvdzedOtdOudOvdzedOtdOudOvdzedOtdOudOvdzedOtdOudOvdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaaTaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedzedzedzedzedzedzedzedzedzedKwdNrdOxdKwdKwdLqdLqdLqdOydOzdOAdOzdOydLqdLqdOBdOCdODdOEdOFdOEdOGdOEdOFdOEdOEdOHdOIdLHdLHdOJdOKdOLdOMdONdOOdLHdLHdKVdKVdOPdNLdKVdzedzedzedzedzedzedzedzedzedzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedzedzedzedzedzedzedzedzedzedKwdNrdLQdORdOSdLqdOTdOUdOVdOWdNTdLvdLvdOXdTHdOZdPadPbdPcdMkdPedPfdPgdPhdPidPjdPkdPldTIdPndPodPpdPqdPrdPsdOpdPtdLHdPudPvdPwdNLdKVdzedzedzedzedzedzedzedzedzedzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedzedzedzedzedzedzedzedzedzedKwdNrdLQdLQdLQdPxdLvdPydPzdPAdPBdPCdPDdLqdPEdPFdPGdPHdPGdPGdPGdPHdPGdPGdPGdPGdPGdPFdPIdLHdPJdOpdOodPKdOpdOpdPLdLHdPMdPNdPOdNLdKVdzedzedzedzedzedzedzedzedzedzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedNMdOwdNOdzedzedzedzedzedzedPPdPQdPQdPQdKwdPRdKydKydKydLqdPSdPTdPUdLvdPVdPTdPWdPXdPYdPZdQadQbdQcdPGdPGdQddPGdPGdQedQfdQgdQhdQidQjdQkdOpdQldQmdMhdOpdQndLHdKWdKWdKWdQodKVdQpdQpdQpdQqdzedzedzedzedzedzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedOtdOQdOvdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedMKdzedzedzedMKdzedzedzedMKdzedzedzedMKdzedzedzedMKdzedzedzedzedQsdQtdQudQvdQwdQxdQydQzdQAdQBdQCdQDdLqdLqdQEdQFdQGdQHdQEdLqdLqdQIdQJdQKdNxdQLdQMdQNdQOdQPdQQdUxdNxdQSdQTdQUdLHdLHdQVdQWdQXdMhdQYdLHdLHdQZdRadRbdRcdRddRedRfdRgdRhdRidRjdRkdzedzedzedzedPddzedzedzedPddzedzedzedPddzedzedzedPddzedzedzedPddzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedRmdRldRldRldQrdRldRldRldQrdRldRldRldQrdRldRldRldQrdRldRldRldQrdRldRldRqdRrdRsdRtdRudRvdRwdRxdRydRzdRAdRBdRBdRCdRDdLqdLqdREdRFdRGdRHdNQaaaaaaaaaaaadRIdNxdQIdRJdRKdRLdQKdNxdNxaaaaaaaaaaaadRMdRNdROdRPdRQdLHdLHdRRdRSdRTdRUdRVdRWdRXdRYdRZdSadSbdScdSddSedSfdRndRndRodRndRndRndRodRndRndRndRodRndRndRndRodRndRndRndRodRndRndRndSjdzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedMKdzedzedzedMKdzedzedzedMKdzedzedzedMKdzedzedzedMKdzedzedzedzedQsdQsdQsdPPdSldSmdSndQzdSodLQdLQdSpdSqdKwdSrdSsdSsdSsdSsdStdzedzedzedzedzedSrdSsdSsdSsdSsdSsdStdSudzedzedzedzedSrdSsdSsdSsdSsdStdKVdSvdSwdSwdSwdSxdRddSydSzdSAdQqdRkdRkdRkdzedzedzedzedPddzedzedzedPddzedzedzedPddzedzedzedPddzedzedzedPddzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedzedzedzedzedzedPPdPQdPQdPQdPQdSDdSEdSFdSGdSHdKwdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKVdSIdSwdSJdSKdSLdQpdQpdQpdQpdQqdzedzedzedzedzedzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedzedzedzedzedzedzedzedzedzedKwdKwdKwdKwdKwdKwdKwdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedKVdKVdKVdKVdKVdKVdKVdzedzedzedzedzedzedzedzedzedzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaaTaadaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabetaafaafaafaafaaaaaaaaadzedzedzedzedzedzedzedzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedNMdSCdNOdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedOtdSMdOvdzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedNMdSNdNOdzedNMdSNdNOdzedNMdSNdNOdzedNMdSNdNOdzedNMdSNdNOdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedOtdSOdOvdzedOtdSOdOvdzedOtdSOdOvdzedOtdSOdOvdzedOtdSOdOvdzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadaadaagaaTaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaTaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaafaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagaaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaagaaaaaaaaaaaTaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaagaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPdSPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaadzedzedzedzedzedzedzeaaadzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzedzedzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzedzedzedzeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaadaadaadaadaagaafaafaadaadaadaaaaagaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaadaafaafaadaadaadaKmaafaafaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXGaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaabfGaaaaaaaaaaaaaaaabcaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaafaaaaaaaaaaafaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaabaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVbjTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaafaaaaafaafaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaafbfGaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaadAXdAXdAXaafaafaafaaaaaaaaaaafaafaafdAXdAXdAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaafabcaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAYdAWdAWdAWaaaaaaaaaaaaaaaaaadAVdAVdAVaaaaaaaafaaaaaaaaaaafaaaaaadAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaadAXdAXdAXaafaafaafaaaaaaaaaaafaafaafdAXdAXdAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaabaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAZdBadBadBadAZdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadBadBadAVdAVdAVdAVdAVdBadBadBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKaafaafaafaafdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdAVdAVdBbdAVdAVdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaagaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBcdBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaafaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBddBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdBadAVdAVdAVdBcdBcdBcdBedBfdBgdBhdBgdBidBjdBcdBcdBcdAVdAVdAVdBadAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBkdBldBmdBndBodBpdBqdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBraaaaaaaaaaaaaaadBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBvdBwdBxdBydBzdBmdBAdBBdBCdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdAVdAVaaadAVaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdBLdBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBPdBcdBcdBQdBRdBSdBTdBUdBVdBWdBXdBYdBZdCadBcdBcdCbdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdCcdCcdCcdCcdCcdCcdAVdAVdAVdAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdCddBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdCfdCfdCfdCfdCfdCfdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdCgdChdChdChdChdCidCjdCkdCldCmdCcdAVdAVdAVdAVdAVdCndCodCodCpdCpdCqdCrdCsdBLdBLdBLdBAdCtdCudBcdBcdAVdAVdAVdAVdAVdAVdAVdAVdCfdCvdCwdCxdCydCzdCAdCAdCAdCAdCBdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdCDdAVdCEdCEdCEdCgdCFdCGdCHdCIdCJdCldCldCldCKdCcdAVdAVdAVdAVdAVdCLdAVdAVdBcdBcdBcdCMdCNdCOdCPdCOdCQdCRdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdAVdCfdCSdCTdCUdCUdCVdCWdCXdCYdCZdCBdDadDadDadAVdAVdAVdAVdDbdAVdAVdAVdDbdAVdAVdAVdDbdAVdAVdAVdDbdAVdAVdAVdDbdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaafaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdDcdDddDddDddDedDddDddDddDedDddDddDddDedDddDddDddDedDddDddDddDedDddDddDfdDgdDhdDidDjdDkdDldDmdDndDodDpdDqdDrdDsdDtdCcaaaaaaaaaaaaaaadDuaaaaaadBcdBcdBcdBjdDvdDwdDxdDydDzdBedBcdBcdBcaaaaaadDAaaaaaaaaaaaaaaadCfdDBdDCdDDdDDdDEdDFdDGdDHdDIdDJdDKdDLdDMdDNdDOdDPdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDQdDRdDSdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdCCdAVdAVdAVdAVdCEdDTdDUdDVdDWdDXdDYdCIdDZdCldEadEbdCcdCcaaaaaaaaaaaaaaadDuaaaaaaaaaaaadBcdBcdBcdBcdEcdBcdBcdBcdBcaaaaaaaaaaaadDAaaaaaaaaaaaaaaadCfdCfdEddEedCUdEfdCWdEgdEhdEidEjdEkdEldDadAVdAVdAVdAVdEmdAVdAVdAVdEmdAVdAVdAVdEmdAVdAVdAVdEmdAVdAVdAVdEmdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEnaaaaaaaaadEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdAVdAVdAVdAVdAVdCgdChdChdChdCcdEpdEqdCcdCcdCcaaaaaaaaaaaaaaaaaadCLdAVdAVdAVdErdErdErdErdBcdEsdEtdEudErdErdErdAVdAVdAVdAVaaaaaaaaaaaaaaaaaadCfdCfdCfdEvdEwdCfdCAdCAdCAdCBdAVdAVdAVdAVdAVdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEnaaaaaaaaadEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdEydCldCcaaaaaaaaaaabaaaaaadAVdAVdCLdAVdAVdAVdErdEzdEAdEBdECdEDdEEdEFdEAdEGdErdAVdAVdAVdAVdAVdAVaaaaaaaabaaaaaaaaadCfdCUdEHdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEnaaaaaaaaadEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdEIdEJdCcaaaaaaaaaaaaaaadAVdAVdAVdCLdAVdAVdEKdErdELdEMdENdEOdEPdEQdERdESdESdErdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaadCfdCSdETdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdEUdEVdCcaaaaaaaaaaaadAVdAVdAVdAVdCLdAVdAVdAVdErdEWdESdEXdESdEYdESdEXdESdEZdErdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaadCfdFadFbdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdFcdBudAVdBGdFcdBudAVdBGdFcdBudAVdBGdFcdBudAVdBGdFcdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdEUdFddCcaaaaaaaaadAVdAVdAVdAVdAVdCLdAVdAVdAVdErdFedESdErdFfdFgdFhdErdFidFjdErdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadCfdFkdFbdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdFldBFdAVdBDdFldBFdAVdBDdFldBFdAVdBDdFldBFdAVdBDdFldBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaabcaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFmdFndFoaaaaaaaaadAVdAVdAVdAVdAVdCLdAVdAVdFpdFpdFqdFpdFpdErdFrdErdFsdFsdFtdFsdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadFudFvdFwdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFxdFydFoaaaaaadAVdAVdAVdAVdAVdAVdCLdAVdFpdFpdFzdFAdFBdFpdFCdFDdFEdFsdFFdFGdFHdFsdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadFudFIdFJdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFKdVudFoaaaaaadAVdAVdAVdAVdAVdAVdCLdAVdFpdFMdFNdFOdFPdFQdFRdFSdFTdFUdFVdFWdFXdFYdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadFudFZdGadCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGbdGcdCcaaaaaadGddGedGfdGedGgdGgdGhdGgdGgdGidGjdGkdGldFpdGmdGndGmdFsdGodGpdGqdGrdGsdGtdGudGtdGsdGvdGwdGvdGxaaaaaadCfdGydGzdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGAdCldCcaaaaaadGddGBdGCdGDdGEdGFdGGdGHdGgdFpdFpdFpdGIdGJdGKdGLdGMdGNdGOdFsdFsdFsdGsdGPdGQdGRdGSdGTdGUdGVdGxaaaaaadCfdCUdGWdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGXdGYdCcaaaaaadGddGZdHadHbdGEdHcdHddHedGgdHfdHgdHgdHhdHgdHgdHidHgdHgdHjdHgdHgdHkdGsdHldHmdHndGSdHodHpdHqdGxaaaaaadCfdHrdHsdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdCcdHtdEqdCcaaaaaadGddHudHvdHwdGEdHxdHydHzdGgdHAdHBdHCdHDdHEdHFdHGdHEdHEdHHdHIdHBdHAdGsdHJdHKdHLdGSdHMdHNdHOdGxaaaaaadCfdEvdHPdCfdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdHQdHQdHRdHSdHTdHUdHVdHWdHXdHYdHYdGddHZdIadIbdGgdIcdGEdGEdIddHAdHCdIedIedIedIedIedIedIedIedIedIfdHAdIgdIhdIidGSdGsdIjdIkdIldGxdImdImdIndIodIpdIqdIrdIsdItdIudIudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdIvdIwdIxdIydIzdIAdIBdICdIDdIEdIFdIGdIHdIIdIJdIKdILdIMdINdIOdIPdIQdIRdIedISdISdISdISdISdIedITdIUdIVdIWdIXdIYdIZdJadJbdIYdJcdJddJedJfdIWdJgdJhdJidJjdJkdJldJmdJndAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdJodIwdJpdJqdIzdJrdJsdJtdJudJvdJwdJxdJydJzdJAdJBdJCdJDdJEdJFdJGdJHdJIdIedISdISdISdISdISdIedJIdJJdJKdJLdJMdJNdJOdJPdJOdJNdJQdJRdJOdJSdJLdJTdJUdJVdJjdJWdJXdJmdJYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdHQdHQdJZdKadKbdKcdKddKedIDdIEdKfdKgdKhdKidKfdKjdKkdKidKedIDdKldKmdIedIedISdISdISdISdISdIedIedKndKodIWdIXdKpdKqdKrdKsdKpdKtdKudKsdJfdIWdIXdKvdKwdKxdKydKzdIudIudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdKAdKAdKBdKAdKCdKDdKEdKFdKGdKHdKHdKHdKHdKIdKJdKIdKKdKLdKMdKNdKOdKPdJHdKQdIedISdISdISdISdISdIedKQdJJdKRdKSdKTdKUdKVdKWdKXdKYdKZdLadImdImdIudLbdJhdLcdLddLedLfdLgdLfdLfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdLhdLidLjdLkdLldLmdLndKFdLodKHdLpdLqdLrdLrdLsdLtdKLdLudLvdLwdKKdLxdLydLzdIedISdISdISdISdISdIedLAdLBdLCdKWdLDdLEdLFdKVdLGdLHdLIdLadAVdAVdIudLJdJhdLKdLLdLMdLNdLOdLPdLQdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdKAdKAdKBdKAdKCdLRdLSdLTdLUdLVdKHdKHdLWdLXdLYdLZdKLdMadMbdMcdKKdMddMedIedMfdMgdMhdMidMjdIedMkdIedMldMddKWdMmdMndModKVdMpdMqdMrdLadAVdAVdMsdMtdMudMvdMwdLedLfdLgdLfdLfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdMxdMxdMxdMxdMxdMydMzdKHdMAdMBdMCdMDdMDdMEdKLdMFdMGdMHdKKdMIdMJdMKdMLdMMdMNdMNdMNdMOdMPdMQdMNdMRdKWdMSdMTdMUdKVdMVdMWdMXdLaaaaaaadMYdMZdNadMYdMYdMYdMYdMYdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdNbdNcdKHdKHdKHdKHdKHdKHdKHdKKdKKdKKdKKdKKdNddNedNfdNgdNhdNhdNidNjdNkdNldNmdNndNodKWdKWdKWdKWdKWdLadLadLadLaaaaaaadMYdNpdNqdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdNrdNsdMxaaaaaadNtdNudNvdNwdNxdNydNzdNAdNtdNBdNCdNDdNEdNFdNGdNHdNGdNEdNEdNDdNIdNJdNKdNLdNMdNNdNOdNKdNPdNQdNKaaaaaadMYdNRdNSdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaXGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdNbdNTdMxaaaaaadNtdNUdNVdNWdNXdNYdNZdOadNtdObdOcdIedOddOedHBdHAdHBdOfdOgdIedOhdOidNKdOjdOkdOldOmdOndOodOpdNKaaaaaadMYdOqdOrdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdNbdOsdOtaaaaaadOudNydOvdOwdOxdOydOzdOAdOBdOCdODdOEdOddOFdOGdOHdOIdHBdOJdOKdOLdOMdONdOOdOPdOQdORdNKdOSdOTdNKaaaaaadOUdOVdOWdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdOXdOYdOtaaaaaadOZdPadPbdPcdPddPcdPedPfdNtdPgdPhdIedPidPjdPkdPldPmdPndPodIedPpdPqdNKdNKdNKdPrdNKdNKdNKdNKdNKaaaaaadOUdPsdPtdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdPudPvdOtaaaaaadPwdPxdNydNydPydNydNydPzdNtdObdOcdPAdPAdPAdPBdPCdPDdPAdPAdPAdOhdOidNKdPEdPFdPGdPHdPIdPJdPKdNKaaaaaadOUdPLdPMdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdPOdPPdAVdPNdPOdPPdAVdPNdPOdPPdAVdPNdPOdPPdAVdPNdPOdPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdPudPQdMxaaaaaadPRdPSdPTdNydPUdPVdPWdPXdPYdPZdQadQbdQcdQddQedQfdQgdQhdQidQjdQkdQldQmdQndQodQpdQqdQrdQsdQtdNKaaaaaadMYdQudPMdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdQwdQxdAVdQvdQwdQxdAVdQvdQwdQxdAVdQvdQwdQxdAVdQvdQwdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafabcaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdPudQzdMxdMxdNtdNtdNtdQAdQBdQCdQBdQAdNtdNtdQDdQEdQFdQGdQHdQGdQIdQGdQHdQGdQGdQJdQKdNKdNKdQLdQMdQNdQOdQPdQQdNKdNKdMYdMYdQRdPMdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdPudNTdQTdQUdNtdQVdQWdQXdQYdPUdNydNydQZdRadRbdRcdRddRedRfdRgdRhdRidRjdRkdRldRmdRndRodRpdRqdRrdRsdRtdRudQrdRvdNKdRwdRxdRydPMdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdPudNTdNTdNTdRzdNydRAdRBdRCdRDdREdRFdNtdRGdRHdRIdRJdRIdRIdRIdRJdRIdRIdRIdRIdRIdRHdRKdNKdRLdQrdQqdRMdQrdQrdRNdNKdROdRPdRQdPMdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdPNdQydPPdAVdAVdAVdAVdAVdAVdRRdRSdRSdRSdMxdRTdMzdMzdMzdNtdRUdRVdRWdNydRXdRVdRYdRZdSadSbdScdSddSedRIdRIdSfdRIdRIdSgdShdSidSjdSkdSldSmdQrdSndSodOkdQrdSpdNKdMZdMZdMZdSqdMYdSrdSrdSrdSsdAVdAVdAVdAVdAVdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdQvdQSdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdAVdSudSvdSwdSxdSydSzdSAdSBdSCdSDdSEdSFdNtdNtdSGdSHdSIdSJdSGdNtdNtdSKdSLdSMdPAdSNdSOdSPdSQdSRdSSdSTdPAdSUdSVdSWdNKdNKdSXdSYdSZdOkdTadNKdNKdTbdTcdVvdTedTfdTgdThdTidTjdTkdTldTmdAVdAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdTodTpdTpdTpdTqdTpdTpdTpdTqdTpdTpdTpdTqdTpdTpdTpdTqdTpdTpdTpdTqdTpdTpdTrdTsdTtdTudTvdTwdTxdTydTzdTAdTBdTCdTCdTDdTEdNtdNtdTFdTGdTHdTIdPRaaaaaaaaaaaadTJdPAdSKdTKdTLdTMdSMdPAdPAaaaaaaaaaaaadTNdTOdTPdTQdTRdNKdNKdTSdTTdTUdTVdTWdTXdTYdTZdUadUbdUcdUddUedUfdUgdUhdUhdUidUhdUhdUhdUidUhdUhdUhdUidUhdUhdUhdUidUhdUhdUhdUidUhdUhdUhdUjdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdStdAVdAVdAVdAVdSudSudSudRRdUkdUldUmdSBdUndNTdNTdUodUpdMxdUqdUrdUrdUrdUrdUsdAVdAVdAVdAVdAVdUqdUrdUrdUrdUrdUrdUsdUtdAVdAVdAVdAVdUqdUrdUrdUrdUrdUsdMYdUudUvdUvdUvdUwdTfdUxdUydUzdSsdTmdTmdTmdAVdAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdTndAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdAVdAVdAVdAVdAVdRRdRSdRSdRSdRSdUBdUCdUDdUEdUFdMxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMYdUGdUvdUHdUIdUJdSrdSrdSrdSrdSsdAVdAVdAVdAVdAVdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdMxdMxdMxdMxdMxdMxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMYdMYdMYdMYdMYdMYdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadabcaadaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfGaafaafaafaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdPNdUAdPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdQvdUKdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdPNdULdPPdAVdPNdULdPPdAVdPNdULdPPdAVdPNdULdPPdAVdPNdULdPPdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdQvdUMdQxdAVdQvdUMdQxdAVdQvdUMdQxdAVdQvdUMdQxdAVdQvdUMdQxdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadaadaagabcaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafabcaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaagaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11299,6 +11347,6 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -dSQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +dUOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/southern_cross/southern_cross-3.dmm b/maps/southern_cross/southern_cross-3.dmm index ffcc5a3a44e..dbce5e72162 100644 --- a/maps/southern_cross/southern_cross-3.dmm +++ b/maps/southern_cross/southern_cross-3.dmm @@ -2,153 +2,153 @@ "ab" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outside/plains/mountains) "ac" = (/turf/simulated/wall/dungeon,/area/surface/outside/path/plains) "ad" = (/obj/effect/step_trigger/teleporter/mine/to_mining,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) -"ae" = (/turf/simulated/mineral/sif,/area/surface/outside/plains/mountains) -"af" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/plains/mountains) -"ag" = (/turf/simulated/mineral/ignore_mapgen/sif,/area/surface/outside/plains/mountains) -"ah" = (/obj/structure/cable/ender{icon_state = "1-2"; id = "surface_cave"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"ai" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) -"aj" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"ak" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"al" = (/turf/simulated/wall,/area/surface/outpost/mining_main/exterior) -"am" = (/obj/machinery/conveyor{dir = 4; id = "mining_north"},/obj/machinery/mineral/input,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/exterior) -"an" = (/obj/machinery/mineral/unloading_machine,/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"ao" = (/obj/machinery/conveyor{dir = 2; id = "mining_north"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"ap" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/obj/machinery/conveyor_switch/oneway{id = "mining_north"; name = "mining conveyor"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/exterior) -"aq" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"ar" = (/obj/machinery/conveyor{dir = 2; id = "mining_north"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"as" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"at" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"au" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/exterior) -"av" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/mining_main/exterior) -"aw" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"ax" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"ay" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"az" = (/obj/item/weapon/banner/nt,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"aA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_1"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_1_door"},/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"aB" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_2"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_2_door"},/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"aC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/storage) -"aD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) -"aE" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) -"aF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main) -"aG" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"aH" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"aI" = (/obj/structure/closet/crate,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aJ" = (/obj/structure/closet/crate,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aK" = (/obj/structure/table/steel,/obj/item/weapon/pickaxe,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Storage Room"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aL" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aM" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/effect/floor_decal/corner/brown/full{dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aN" = (/obj/structure/table/steel,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/pickaxe,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/item/device/gps/mining,/obj/item/device/gps/mining,/obj/item/device/gps/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aO" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/steel,/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aP" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/steel,/obj/item/stack/flag/green{pixel_x = -4; pixel_y = 0},/obj/item/stack/flag/red,/obj/item/stack/flag/yellow{pixel_x = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aQ" = (/obj/structure/closet/secure_closet/miner,/obj/item/clothing/shoes/boots/winter/mining,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aR" = (/obj/structure/table/steel,/obj/item/weapon/mining_scanner,/obj/item/weapon/mining_scanner,/obj/item/weapon/mining_scanner,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aS" = (/obj/effect/floor_decal/corner/brown/full{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aT" = (/obj/machinery/light{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"aU" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"aV" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"aW" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"aX" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aY" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aZ" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"ba" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bb" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bc" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bd" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"be" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/corner/brown{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bf" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 2"; dir = 2},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bg" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bh" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"bi" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gateway) -"bj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) -"bk" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) -"bl" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"bm" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"bn" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/mining) -"bo" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"bp" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"bq" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/mining) -"br" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bw" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Mining Storage"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main/storage) -"bx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"by" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bA" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining_airlock_control2"; name = "Mining Access Console"; pixel_x = 26; pixel_y = 26; tag_exterior_door = "mining_airlock_exterior2"; tag_interior_door = "mining_airlock_interior2"},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bE" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) -"bF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bG" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bH" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) -"bI" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/security) -"bJ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) -"bK" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) -"bL" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bM" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bN" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gateway"},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bO" = (/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bP" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bQ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/first_aid) -"bR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) -"bS" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) -"bT" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown/full,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bU" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bV" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bW" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bX" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bY" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bZ" = (/obj/effect/floor_decal/corner/brown{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ca" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cb" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cc" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cd" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ce" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"cf" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"cg" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"ch" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ci" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/guncabinet/rifle,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cj" = (/obj/structure/closet/secure_closet/guncabinet/rifle,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ck" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cl" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) -"cm" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cn" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"co" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cp" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) -"cq" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/weapon/screwdriver,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cr" = (/obj/machinery/sleep_console{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cs" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ct" = (/obj/structure/bed/roller,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cu" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/ninja_dojo/planet) -"cv" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/storage) -"cw" = (/turf/simulated/wall,/area/surface/outpost/mining_main/storage) -"cx" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cz" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/corner/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cA" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cB" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cC" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cD" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cE" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"cF" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/plains/outpost) -"cG" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"cH" = (/obj/structure/window/reinforced,/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cJ" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cK" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cL" = (/turf/simulated/wall,/area/surface/outpost/main/gateway) -"cM" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cN" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cO" = (/obj/machinery/cryopod/robot/door/gateway,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cP" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cQ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cR" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cS" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cT" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cU" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"ae" = (/obj/effect/step_trigger/teleporter/mine/to_mining,/turf/simulated/floor/water{outdoors = 0},/area/surface/outside/plains/mountains) +"af" = (/turf/simulated/mineral/sif,/area/surface/outside/plains/mountains) +"ag" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/plains/mountains) +"ah" = (/turf/simulated/mineral/ignore_mapgen/sif,/area/surface/outside/plains/mountains) +"ai" = (/obj/structure/cable/ender{icon_state = "1-2"; id = "surface_cave"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"aj" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) +"ak" = (/turf/simulated/floor/water{outdoors = 0},/area/surface/outside/plains/mountains) +"al" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) +"am" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"an" = (/turf/simulated/wall,/area/surface/outpost/mining_main/exterior) +"ao" = (/obj/machinery/conveyor{dir = 4; id = "mining_north"},/obj/machinery/mineral/input,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/exterior) +"ap" = (/obj/machinery/mineral/unloading_machine,/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) +"aq" = (/obj/machinery/conveyor{dir = 2; id = "mining_north"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) +"ar" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/obj/machinery/conveyor_switch/oneway{id = "mining_north"; name = "mining conveyor"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/exterior) +"as" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) +"at" = (/obj/machinery/conveyor{dir = 2; id = "mining_north"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) +"au" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"av" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"aw" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/exterior) +"ax" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/mining_main/exterior) +"ay" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) +"az" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"aA" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/mountains) +"aB" = (/turf/simulated/floor/water,/area/surface/outside/plains/mountains) +"aC" = (/turf/simulated/floor/water/shoreline/corner,/area/surface/outside/ocean) +"aD" = (/turf/simulated/floor/water,/area/surface/outside/ocean) +"aE" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (NORTH)"; icon_state = "shorelinecorner"; dir = 1},/area/surface/outside/ocean) +"aF" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) +"aG" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) +"aH" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (EAST)"; icon_state = "shoreline"; dir = 4},/area/surface/outside/ocean) +"aI" = (/obj/item/weapon/banner/nt,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) +"aJ" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHEAST)"; icon_state = "shoreline"; dir = 6},/area/surface/outside/ocean) +"aK" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHWEST)"; icon_state = "shoreline"; dir = 10},/area/surface/outside/ocean) +"aL" = (/turf/simulated/floor/water/shoreline,/area/surface/outside/ocean) +"aM" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/ocean) +"aN" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/storage) +"aO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) +"aP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) +"aQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main) +"aR" = (/obj/structure/closet/crate,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"aS" = (/obj/structure/closet/crate,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"aT" = (/obj/structure/table/steel,/obj/item/weapon/pickaxe,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Storage Room"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"aU" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"aV" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/effect/floor_decal/corner/brown/full{dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"aW" = (/obj/structure/table/steel,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/pickaxe,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/item/device/gps/mining,/obj/item/device/gps/mining,/obj/item/device/gps/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"aX" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/steel,/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"aY" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/steel,/obj/item/stack/flag/green{pixel_x = -4; pixel_y = 0},/obj/item/stack/flag/red,/obj/item/stack/flag/yellow{pixel_x = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"aZ" = (/obj/structure/closet/secure_closet/miner,/obj/item/clothing/shoes/boots/winter/mining,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"ba" = (/obj/structure/table/steel,/obj/item/weapon/mining_scanner,/obj/item/weapon/mining_scanner,/obj/item/weapon/mining_scanner,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bb" = (/obj/effect/floor_decal/corner/brown/full{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bc" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bd" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"be" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bf" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bg" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bh" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bi" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/corner/brown{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 2"; dir = 2},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bl" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bm" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"bn" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gateway) +"bo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) +"bp" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) +"bq" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"br" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Mining Storage"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main/storage) +"bw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"by" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bz" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining_airlock_control2"; name = "Mining Access Console"; pixel_x = 26; pixel_y = 26; tag_exterior_door = "mining_airlock_exterior2"; tag_interior_door = "mining_airlock_interior2"},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null; req_one_access = list(12,47,48)},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"bE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bF" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"bG" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"bH" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/security) +"bI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) +"bJ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) +"bK" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bM" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gateway"},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bN" = (/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bO" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"bP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/first_aid) +"bQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) +"bR" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) +"bS" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown/full,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bT" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bU" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bV" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bW" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bX" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe/hammer,/obj/item/weapon/wrench,/obj/item/weapon/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) +"bY" = (/obj/effect/floor_decal/corner/brown{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"bZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"ca" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cb" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cc" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cd" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"ce" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"cf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) +"cg" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"ch" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/closet/secure_closet/guncabinet/phase,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"ci" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/structure/closet/secure_closet/guncabinet/phase,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cj" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"ck" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) +"cl" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cm" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cn" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"co" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) +"cp" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/weapon/screwdriver,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cq" = (/obj/machinery/sleep_console{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cr" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cs" = (/obj/structure/bed/roller,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"ct" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/ninja_dojo/planet) +"cu" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/storage) +"cv" = (/turf/simulated/wall,/area/surface/outpost/mining_main/storage) +"cw" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cy" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/corner/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cz" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cA" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cB" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cC" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"cD" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) +"cE" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) +"cF" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"cG" = (/obj/structure/window/reinforced,/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cI" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cJ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"cK" = (/turf/simulated/wall,/area/surface/outpost/main/gateway) +"cL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"cM" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cN" = (/obj/machinery/cryopod/robot/door/gateway,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cO" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) +"cP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) +"cQ" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cR" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cS" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cT" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) +"cU" = (/turf/simulated/floor/water/deep,/area/surface/outside/ocean) "cV" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) "cW" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) "cX" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) @@ -158,9 +158,9 @@ "db" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) "dc" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) "dd" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"de" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/plains/outpost) -"df" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/plains/outpost) -"dg" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/machinery/light/small{dir = 1},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) +"de" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) +"df" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) +"dg" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/machinery/light/small{dir = 1},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) "dh" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/standard,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "di" = (/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "dj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) @@ -211,9 +211,9 @@ "ec" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westleft{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "ed" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) "ee" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"ef" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"eg" = (/obj/machinery/conveyor_switch{id = "mining_external"},/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"eh" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 5; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/path/plains) +"ef" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) +"eg" = (/obj/machinery/conveyor_switch{id = "mining_external"},/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) +"eh" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 5; icon_state = "warning_dust"; tag = "icon-warning_dust (EAST)"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/path/plains) "ei" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "ej" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "ek" = (/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) @@ -244,8 +244,8 @@ "eJ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) "eK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) "eL" = (/obj/machinery/mineral/input,/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"eM" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/plains/outpost) -"eN" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/path/plains) +"eM" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) +"eN" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/path/plains) "eO" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "eP" = (/obj/machinery/computer/security,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "eQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/device/flash,/obj/item/weapon/pen,/obj/item/weapon/crowbar,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) @@ -264,10 +264,10 @@ "fd" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) "fe" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) "ff" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"fg" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"fg" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) "fh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) "fi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"fj" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"fj" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) "fk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining1_airlock_control"; name = "Mining Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "mining1_airlock_exterior"; tag_interior_door = "mining1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "fl" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "fm" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) @@ -282,14 +282,14 @@ "fv" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) "fw" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) "fx" = (/turf/simulated/wall,/area/surface/outpost/main/security) -"fy" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/obj/structure/closet/crate/secure/gear{name = "explorer crate"; req_access = list(43)},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fy" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/obj/structure/closet/crate/secure/gear{name = "explorer crate"; req_access = list(43)},/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "fz" = (/obj/machinery/door/window/northright,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fA" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/obj/structure/closet/crate/secure/gear{name = "explorer crate"; req_access = list(43)},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass{name = "Gateway Access"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gateway) +"fA" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/obj/structure/closet/crate/secure/gear{name = "explorer crate"; req_access = list(43)},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Gateway Access"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gateway) "fC" = (/turf/simulated/wall,/area/surface/outpost/main/first_aid) "fD" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) "fE" = (/obj/machinery/door/window/northleft,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"fF" = (/obj/structure/window/reinforced{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"fF" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) "fG" = (/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/gen_room) "fH" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) "fI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 1"; dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) @@ -307,1240 +307,1240 @@ "fU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Explorer Prep"; dir = 2},/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "fV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) "fW" = (/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fX" = (/turf/simulated/floor/tiled,/area/surface/outpost/main) -"fY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"fZ" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 1"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ga" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gb" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gd" = (/obj/machinery/light{dir = 1},/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ge" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gf" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) -"gg" = (/turf/simulated/wall,/area/surface/outpost/mining_main) -"gh" = (/obj/effect/floor_decal/corner/brown/full,/obj/structure/closet,/obj/item/clothing/suit/storage/hooded/wintercoat/cargo,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gi" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gk" = (/obj/effect/floor_decal/corner/brown,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"gm" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"gn" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/gen_room) -"go" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gp" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gr" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"gs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main5_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main5_airlock_exterior"; tag_interior_door = "main5_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Explorer Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"gw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gx" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "SAR Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"gA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gD" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gE" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gF" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gG" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gH" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gI" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gJ" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"gK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gM" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/sign/warning/moving_parts{pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"gN" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gO" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gP" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gQ" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gR" = (/obj/machinery/conveyor{dir = 5; icon_state = "conveyor0"; id = "miningout_internal"},/obj/machinery/mineral/input,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gS" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse{icon_state = "asteroidfloor"},/area/surface/outside/plains/outpost) -"gT" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"gU" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) -"gV" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gW" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gX" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/device/gps/explorer{pixel_x = -5; pixel_y = -5},/obj/item/device/gps/explorer{pixel_x = -3; pixel_y = -3},/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/device/binoculars,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gZ" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/light,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/item/device/paicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ha" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hb" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hc" = (/obj/structure/closet/secure_closet/explorer,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hd" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"he" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hf" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hg" = (/obj/machinery/mech_recharger,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"hh" = (/obj/structure/table/steel,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"hi" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"hj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/steel,/obj/item/roller/adv,/obj/item/roller/adv{pixel_y = 5},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/white/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hk" = (/obj/structure/closet/secure_closet/sar,/obj/machinery/light,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hl" = (/obj/structure/closet/secure_closet/sar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hm" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hn" = (/obj/structure/table/steel,/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"ho" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hp" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hq" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hr" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hs" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Mining"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ht" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/mining_main/gen_room) -"hu" = (/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hw" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"hx" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/telecomms) -"hy" = (/turf/simulated/wall,/area/surface/outpost/main/teleporter) -"hz" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) -"hA" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hB" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/garage) -"hD" = (/turf/simulated/wall,/area/surface/outpost/main/garage) -"hE" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power West"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hF" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hH" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hK" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hM" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hN" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hO" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hP" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hQ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/telecomms/relay/preset/southerncross/cave,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/telecomms/relay/preset/southerncross/planet,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Telecomm"},/obj/machinery/telecomms/relay/preset/southerncross/wild,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hU" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"hV" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"hW" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"hX" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"hY" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) -"hZ" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ia" = (/obj/structure/table/steel,/obj/item/weapon/weldpack,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ib" = (/obj/machinery/space_heater,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ic" = (/obj/item/stack/tile/floor/steel_dirty,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"id" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ie" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"if" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ig" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ih" = (/obj/structure/table/steel,/obj/random/tool,/obj/random/tool,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ii" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ij" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/pipedispenser,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ik" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"il" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"im" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"in" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"io" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ip" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iq" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ir" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"is" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power East"; dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"it" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iv" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iw" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"ix" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iz" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iC" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"iD" = (/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"iE" = (/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"iF" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"iG" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"iH" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"iI" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"iJ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"iK" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iL" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iM" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iN" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iP" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iQ" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iR" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iS" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 7; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iT" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 5; tag_south = 6; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iU" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iW" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Telecommunication Hub"; req_one_access = list(10,48,65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iY" = (/obj/structure/table/standard,/obj/item/weapon/crowbar/red,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/weapon/crowbar/red,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"ja" = (/obj/machinery/bluespace_beacon,/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"jb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"jc" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jd" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"je" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jf" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 2"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/toolcloset,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jh" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ji" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"jj" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Outpost Mining Atmospherics"; dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jk" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jl" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jm" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room) -"jn" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jo" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jp" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jq" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room) -"jr" = (/obj/effect/landmark/start{name = "Search and Rescue"},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"js" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ju" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/item/frame/light,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jw" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jx" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jy" = (/obj/structure/cable,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"jz" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/plains/outpost) -"jA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"jB" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jC" = (/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jD" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jE" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room) -"jF" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter Access"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jG" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jI" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jJ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jK" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 2"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jL" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jN" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/outpost) -"jO" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jP" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jQ" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jR" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jS" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{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/sif/planetuse,/area/surface/outside/path/plains) -"jT" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"jU" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{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/sif/planetuse,/area/surface/outside/plains/outpost) -"jV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{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/plating,/area/surface/outpost/main/gen_room) -"jW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jZ" = (/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"ka" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kc" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ke" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kl" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"km" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"kn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ko" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kq" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kr" = (/obj/machinery/status_display,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main) -"ks" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ku" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kv" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kw" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"kx" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"ky" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"kz" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"kA" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"kB" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"kC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main) -"kD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kE" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kF" = (/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kH" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kI" = (/obj/machinery/mech_recharger,/obj/effect/decal/mecha_wreckage/ripley,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kJ" = (/obj/item/inflatable/door/torn,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/surface/outpost/main/garage) -"kK" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kL" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kM" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"kN" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gym) -"kO" = (/turf/simulated/wall,/area/surface/outpost/main/gym) -"kP" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kQ" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kT" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kV" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/construction_area) -"kW" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kX" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room/smes) -"kY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"kZ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/bar) -"la" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lb" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lc" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"ld" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"le" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lf" = (/obj/machinery/vending/fitness,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gym) -"li" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ll" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/junction,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lm" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ln" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lo" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lp" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway East"; dir = 9},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lq" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main) -"lr" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ls" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main) -"lu" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"lv" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lw" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lx" = (/obj/machinery/alarm{pixel_y = 22},/obj/random/toolbox,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ly" = (/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lz" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lA" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) -"lB" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal{dir = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"lC" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Dorms"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"lD" = (/turf/simulated/wall,/area/surface/outpost/main/bar) -"lE" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lF" = (/obj/machinery/button/remote/blast_door{id = "barout"; name = "Bar Shutters"; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lG" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lH" = (/obj/item/weapon/stool,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lI" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lJ" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lK" = (/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lL" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"lM" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"lN" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"lO" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lP" = (/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lQ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lR" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lS" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) -"lT" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lV" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main) -"lW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ma" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mb" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main2_airlock_control"; name = "Main Access Console"; pixel_x = 26; pixel_y = -26; tag_exterior_door = "main2_airlock_exterior"; tag_interior_door = "main2_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"md" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"me" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mf" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mg" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mh" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"mi" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mk" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ml" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mm" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mn" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar West"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mp" = (/obj/structure/table/marble,/obj/machinery/cash_register/civilian{dir = 4; icon_state = "register_idle"; tag = "icon-register_idle (EAST)"},/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mq" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mr" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ms" = (/obj/structure/bed/chair/wood,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mu" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mv" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"mw" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"mx" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"my" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"mz" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gym) -"mA" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mB" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mC" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mD" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mF" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mH" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mK" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mL" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mM" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mN" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"mO" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/obj/item/frame/light,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mQ" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mR" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mS" = (/obj/machinery/light{dir = 8},/obj/machinery/vending/boozeomat{req_access = null},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mT" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mU" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mV" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mW" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mX" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mY" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar East"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"mZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"na" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access North"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nb" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nc" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nd" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"ne" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nf" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"ng" = (/obj/structure/closet/emcloset,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ni" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nj" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/restroom) -"nk" = (/turf/simulated/wall,/area/surface/outpost/main/restroom) -"nl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nm" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"no" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"np" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nq" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nr" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) -"ns" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"nt" = (/obj/machinery/smartfridge/drinks,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nv" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "barout"; layer = 3.1; name = "Bar Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nw" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nx" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ny" = (/obj/structure/bed/chair/wood{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nA" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nC" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nD" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nE" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nG" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nN" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nO" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nP" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nQ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nR" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nS" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nU" = (/turf/simulated/wall,/area/surface/outpost/main/construction_area) -"nV" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nW" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nY" = (/obj/machinery/door/window/eastright{name = "Bar"; req_access = null; req_one_access = list(25,43,67)},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"nZ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"oa" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/wood,/area/surface/outpost/main/bar) -"ob" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"oc" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"od" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"oe" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"of" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gym"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"og" = (/obj/item/weapon/stool/padded,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"oh" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"oi" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"oj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ok" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) -"ol" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"om" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"on" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oo" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/dorms) -"op" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"oq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"or" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"os" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ot" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"ou" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/bar) -"ov" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ow" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ox" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oy" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main4_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = 26; tag_exterior_door = "main4_airlock_exterior"; tag_interior_door = "main4_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oz" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) -"oB" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"oC" = (/obj/structure/closet/secure_closet/personal,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oD" = (/obj/structure/table/bench/marble,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oE" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oF" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) -"oI" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Access"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oK" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) -"oL" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oM" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oO" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oQ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oR" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oT" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oW" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oZ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main/corridor) -"pa" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pe" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/junction/yjunction,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ph" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"po" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pr" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ps" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pt" = (/obj/structure/disposalpipe/junction/yjunction{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pu" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pv" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pw" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"px" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"py" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"pz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pA" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pB" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main1_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main1_airlock_exterior"; tag_interior_door = "main1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pC" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pD" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pE" = (/obj/structure/cable/blue{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,/area/surface/outpost/main/dorms) -"pF" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{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,/area/surface/outpost/main/dorms) -"pG" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pH" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{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,/area/surface/outpost/main/dorms) -"pI" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pJ" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pK" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pL" = (/obj/structure/cable/blue{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/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pM" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{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/airlock/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pN" = (/obj/structure/cable/blue{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/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pR" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pT" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "hos"; name = "Statue"; pixel_y = 2},/obj/item/device/gps/internal/base,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/corridor) -"pU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pW" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"pX" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pY" = (/obj/structure/cable/blue{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,/area/surface/outpost/main) -"pZ" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qb" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qc" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qd" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qe" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qf" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"qh" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/surface/outpost/main/dorms) -"qi" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qj" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qk" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/crate,/obj/item/weapon/bedsheet,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/bedsheet/brown,/obj/item/weapon/bedsheet/green,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/purple,/obj/item/weapon/bedsheet/red,/obj/item/weapon/bedsheet/yellow,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ql" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qm" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qn" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qo" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qq" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qr" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway East"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qt" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qu" = (/obj/machinery/vending/snack,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qv" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qw" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qx" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qy" = (/turf/simulated/wall,/area/surface/outpost/main/corridor) -"qz" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qB" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qC" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qD" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qF" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qH" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qI" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qJ" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway West"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qK" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qL" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qM" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qP" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qQ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qW" = (/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qX" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qY" = (/turf/simulated/wall,/area/surface/outpost/main/dorms) -"qZ" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light,/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ra" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main3_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = -26; tag_exterior_door = "main3_airlock_exterior"; tag_interior_door = "main3_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"rb" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"rc" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"rd" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"re" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"rf" = (/obj/structure/closet/wardrobe/suit,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"rg" = (/obj/structure/closet/wardrobe/grey,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"rh" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"ri" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"rj" = (/obj/machinery/mech_recharger,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"rk" = (/turf/simulated/wall,/area/surface/outpost/main) -"rl" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"rm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"rn" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ro" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) -"rp" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rq" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rr" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rt" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/purpledouble,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"ru" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rv" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rw" = (/obj/machinery/door/airlock{id_tag = "modorm1"; name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rx" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ry" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rz" = (/obj/machinery/door/airlock{id_tag = "modorm2"; name = "Room 2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rA" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rB" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rC" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/yellow,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rD" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm5"; name = "Room 5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm6"; name = "Room 6"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rG" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rH" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rI" = (/obj/item/weapon/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rJ" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"rK" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = -6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"rL" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"rM" = (/turf/simulated/wall,/area/surface/outpost/main/pool) -"rN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) -"rO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"rP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) -"rQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rS" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rT" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rU" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rV" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rW" = (/obj/machinery/button/remote/airlock{id = "modorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rX" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rY" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rZ" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm5"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"sa" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sb" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm6"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"sc" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"sd" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"se" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"sf" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"sg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"si" = (/obj/machinery/space_heater,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sj" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sk" = (/obj/machinery/light/spot{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sl" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sm" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sn" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"so" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool North"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sp" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sq" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sr" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ss" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"st" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"su" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sv" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sw" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sx" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sy" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"sz" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"sA" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access South"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"sB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"sC" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sJ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"sK" = (/obj/machinery/door/airlock{id_tag = "modorm3"; name = "Room 3"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 1"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm4"; name = "Room 4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sO" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sP" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sQ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sR" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm7"; name = "Room 7"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm8"; name = "Room 8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sV" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"sW" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"sX" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"sY" = (/obj/structure/table/glass,/obj/item/device/paicard,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ta" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tb" = (/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tc" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"td" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"te" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tg" = (/obj/structure/table/glass,/obj/item/weapon/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"th" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"ti" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm3"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"tj" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm4"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"tk" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"tl" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"tm" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm7"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"tn" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm8"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"to" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"tp" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"tq" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"tr" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"ts" = (/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tt" = (/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tu" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tv" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool West"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tx" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/weapon/beach_ball,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ty" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tz" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tB" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool East"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tC" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) -"tD" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/effect/zone_divider,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"tE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/effect/zone_divider,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"tF" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tH" = (/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tI" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tJ" = (/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tK" = (/obj/effect/floor_decal/spline/plain{dir = 10},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tL" = (/obj/effect/floor_decal/spline/plain,/obj/machinery/hologram/holopad,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tM" = (/obj/effect/floor_decal/spline/plain{dir = 6},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tN" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tO" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tQ" = (/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tR" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/normal) -"tS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tU" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tV" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tW" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tX" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tY" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"tZ" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ua" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"ub" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uc" = (/obj/machinery/light/spot,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ud" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ue" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uf" = (/obj/structure/table/glass,/obj/item/inflatable{pixel_x = 6; pixel_y = 6},/obj/item/inflatable{pixel_x = 2; pixel_y = 2},/obj/item/inflatable{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ug" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_1"; name = "shuttle bay controller"; pixel_x = -26; pixel_y = 0; tag_door = "surface_dock_1_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"uh" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_2"; name = "shuttle bay controller"; pixel_x = 26; pixel_y = 0; tag_door = "surface_dock_2_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"ui" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uj" = (/obj/structure/table/glass,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool South"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uk" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ul" = (/obj/machinery/light{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"um" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/planet) -"un" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/planet) -"uo" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"up" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"uq" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"ur" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"us" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/outpost) -"ut" = (/turf/simulated/floor/water,/area/surface/outside/ocean) -"uu" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/ocean) -"uv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"uw" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) -"ux" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) -"uy" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"uz" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"uA" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_exterior"; locked = 1; name = "Research Exterior Airlock"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -24; pixel_y = 0; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) -"uB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"uC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uD" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/smes) -"uE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uF" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/restroom) -"uG" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) -"uH" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uJ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"uK" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch) -"uL" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uM" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uN" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/smes) -"uO" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Research"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/heavyduty,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uQ" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light/small{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uR" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/restroom) -"uS" = (/obj/structure/toilet{dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uT" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uU" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uV" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uW" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uX" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uY" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uZ" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Airlock"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"va" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vb" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vc" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vd" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"ve" = (/obj/item/weapon/storage/box/donkpockets,/obj/structure/table/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vf" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vg" = (/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vi" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vj" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/outpost) -"vk" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"vl" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/normal) -"vm" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (WEST)"; icon_state = "shorelinecorner"; dir = 8},/area/surface/outside/ocean) -"vn" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHEAST)"; icon_state = "shoreline"; dir = 5},/area/surface/outside/ocean) -"vo" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/hydrant{pixel_x = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vp" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vq" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vr" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/item/weapon/weldpack,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vs" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Research Outpost"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vt" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vu" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vw" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vy" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vz" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_interior"; locked = 1; name = "Research Interior Airlock"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -26; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vA" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vC" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vD" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vE" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vF" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vH" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vI" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/normal) -"vJ" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) -"vK" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vL" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vM" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vN" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Research Restroom"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vP" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "research_airlock_control"; name = "Research Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "research_airlock_exterior"; tag_interior_door = "research_airlock_interior"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vQ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vR" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vT" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vU" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vV" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vW" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vY" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"vZ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wd" = (/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},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 1"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"we" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wf" = (/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 = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"ws" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wt" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"ww" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wx" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wy" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"wz" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wA" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wB" = (/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/surface/outpost/research/xenoresearch) -"wC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wD" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/bot/secbot/slime,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wE" = (/obj/effect/floor_decal/industrial/warning,/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"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wF" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wJ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wL" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wN" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wQ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wR" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 4"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wU" = (/turf/simulated/floor/water/deep,/area/surface/outside/ocean) -"wV" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wW" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wY" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"wZ" = (/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,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xa" = (/obj/structure/bed/chair,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -28; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xb" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xc" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xd" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xe" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"xf" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical,/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,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xg" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xh" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 3"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xi" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"xj" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xk" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"xl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xm" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xn" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"xo" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenoflora) -"xp" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xq" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xr" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"xs" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xt" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xu" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced,/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/xenobiology) -"xv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xw" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xx" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xz" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xA" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - First Aid Station"; dir = 2},/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xB" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/defib_kit/loaded,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xD" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xE" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xG" = (/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xJ" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xK" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xL" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xM" = (/obj/structure/table/standard,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xN" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/closet/l3closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xO" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xP" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Access"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xQ" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xR" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xS" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/pen,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xT" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xU" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xW" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/corner/paleblue,/obj/structure/table/rack,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xX" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"xY" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"xZ" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"ya" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora North"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yb" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yd" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"ye" = (/obj/machinery/atmospherics/tvalve{dir = 1; name = "siphon switching valve"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"yf" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yg" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yh" = (/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yi" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"yj" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yk" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yl" = (/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,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 6; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"ym" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yn" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yo" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yp" = (/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"yq" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yr" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"ys" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/bodybag/cryobag,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yt" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"yu" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yv" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yw" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yx" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yy" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yz" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yA" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yB" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yC" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yD" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) -"yE" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yF" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yG" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -6; pixel_y = 28; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yH" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "xeno_airlock_control"; name = "Xenobiology Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "xeno_airlock_exterior"; tag_interior_door = "xeno_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yI" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yJ" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yK" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yL" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yO" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yQ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yR" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yU" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yV" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"yW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"yX" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"yY" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"yZ" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"za" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zc" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"ze" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zf" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zg" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zh" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zi" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zj" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zk" = (/obj/structure/table/glass,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zl" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zm" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zn" = (/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zo" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zp" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zr" = (/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zs" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zt" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zv" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction/yjunction{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zC" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zD" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zE" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zF" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zG" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zH" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/door/window/westright{name = "Xenoflora Containment"; req_access = list(55)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"zI" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zJ" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zK" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zL" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zM" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/botany/editor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/botany/extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zO" = (/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zP" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora East"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zQ" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zR" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"zS" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zT" = (/obj/machinery/disposal,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zV" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zW" = (/obj/structure/window/reinforced,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zX" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zY" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zZ" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/botanydisk,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aa" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ab" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ac" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ad" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ae" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"Af" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ag" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology West"; dir = 4},/obj/structure/closet/firecloset/full/double,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ah" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ai" = (/obj/structure/table/standard,/obj/fiftyspawner/phoron,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Aj" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ak" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Al" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology East"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Am" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"An" = (/obj/machinery/door/blast/regular{desc = "Blastdoor divider"; id = "xenobioout7"; name = "Containment Divider"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ao" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora West"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ap" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aq" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ar" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"As" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"At" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Au" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Av" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aw" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ax" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ay" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Az" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AA" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AB" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"AC" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AD" = (/obj/machinery/smartfridge/secure/extract,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AE" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/button/remote/blast_door{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AF" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"AG" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AH" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AI" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AM" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AO" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/river/indalsalven) -"AP" = (/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"AQ" = (/mob/living/simple_animal/slime,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"AR" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"AS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AT" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/processor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"AX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ba" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Port to Isolation"},/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bc" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bd" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Be" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bf" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bg" = (/obj/structure/window/reinforced,/obj/machinery/biogenerator,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bh" = (/obj/structure/window/reinforced,/obj/machinery/seed_extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bi" = (/obj/machinery/seed_storage/xenobotany,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bj" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bk" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bl" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 2"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bm" = (/turf/simulated/floor/water/shoreline/corner,/area/surface/outside/ocean) -"Bn" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHEAST)"; icon_state = "shoreline"; dir = 6},/area/surface/outside/ocean) -"Bo" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Br" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bu" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bv" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bw" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/item/weapon/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bx" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"By" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bz" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BA" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BB" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BC" = (/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BD" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BE" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BF" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BG" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the divider between pens."; id = "xenobioout7"; name = "Containment Divider Switch"; pixel_x = 28; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BI" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BK" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BM" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BN" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BP" = (/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BR" = (/obj/structure/closet,/obj/item/toy/figure/scientist,/obj/item/clothing/accessory/armband/science,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"BS" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BT" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"BU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"BV" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"BW" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology South"; dir = 1},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BX" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"BY" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"BZ" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ca" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cb" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cc" = (/obj/structure/closet/radiation,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cd" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ce" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cf" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"Cg" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ch" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ci" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cj" = (/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ck" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cm" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cn" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Co" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Cp" = (/turf/simulated/wall,/area/surface/outside/path/plains) -"Cq" = (/turf/simulated/floor/wood,/area/surface/outside/path/plains) -"Cr" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cs" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ct" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cu" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cv" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cw" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cx" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cy" = (/obj/structure/closet/l3closet/general,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cz" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"CA" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"CB" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CC" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CD" = (/obj/structure/closet/crate/hydroponics/exotic,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"CE" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"CF" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"CG" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"CH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CI" = (/obj/structure/closet/bombcloset,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"CJ" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"CK" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"CL" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) -"CM" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CQ" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 1"; dir = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CR" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"CS" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CT" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CU" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CY" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"CZ" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Da" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Db" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Dc" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Dd" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"De" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"Df" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Dg" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/normal) -"Dh" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/response_ship/planet) -"Di" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Dj" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Dk" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"Dl" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"Dm" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Dn" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Do" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHWEST)"; icon_state = "shoreline"; dir = 9},/area/surface/outside/ocean) -"Dp" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTH)"; icon_state = "shoreline"; dir = 1},/area/surface/outside/ocean) -"Dq" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (EAST)"; icon_state = "shorelinecorner"; dir = 4},/area/surface/outside/ocean) -"Dr" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (EAST)"; icon_state = "shoreline"; dir = 4},/area/surface/outside/ocean) -"Ds" = (/turf/simulated/floor/water/shoreline,/area/surface/outside/ocean) -"Dt" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHWEST)"; icon_state = "shoreline"; dir = 10},/area/surface/outside/ocean) -"Du" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (NORTH)"; icon_state = "shorelinecorner"; dir = 1},/area/surface/outside/ocean) -"Dv" = (/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"Dw" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Dx" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/syndicate_station/planet) -"Dy" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/plains/normal) -"Dz" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/normal) -"DA" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"DB" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"DC" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/plains/normal) -"DD" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"DE" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/normal) -"DF" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/normal) -"DG" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) -"DH" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/ocean) -"DI" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/ocean) +"fX" = (/obj/machinery/light{dir = 1},/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"fY" = (/turf/simulated/floor/tiled,/area/surface/outpost/main) +"fZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ga" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 1"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gb" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gc" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"ge" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - SAR Prep"; dir = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gf" = (/obj/structure/closet/secure_closet/medical_wall/pills{pixel_y = 32},/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gg" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gh" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) +"gi" = (/turf/simulated/wall,/area/surface/outpost/mining_main) +"gj" = (/obj/effect/floor_decal/corner/brown/full,/obj/structure/closet,/obj/item/clothing/suit/storage/hooded/wintercoat/cargo,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gm" = (/obj/effect/floor_decal/corner/brown,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) +"gn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) +"go" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) +"gp" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) +"gq" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"gr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"gs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"gt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) +"gu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main5_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main5_airlock_exterior"; tag_interior_door = "main5_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"gx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Explorer Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) +"gy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gz" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"gB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "SAR Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"gC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gF" = (/obj/effect/landmark/start{name = "Search and Rescue"},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gG" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gH" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"gI" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"gJ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gK" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gL" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gM" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gN" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"gO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"gQ" = (/obj/effect/floor_decal/industrial/loading{tag = "icon-loadingarea (WEST)"; icon_state = "loadingarea"; dir = 8},/obj/structure/sign/warning/moving_parts{pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) +"gR" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gS" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gT" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gU" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gV" = (/obj/machinery/conveyor{dir = 5; icon_state = "conveyor0"; id = "miningout_internal"},/obj/machinery/mineral/input,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) +"gW" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) +"gX" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"gY" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) +"gZ" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"ha" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) +"hb" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/device/gps/explorer{pixel_x = -5; pixel_y = -5},/obj/item/device/gps/explorer{pixel_x = -3; pixel_y = -3},/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hc" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/light,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/item/device/paicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/device/binoculars,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"he" = (/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hf" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hg" = (/obj/structure/closet/secure_closet/explorer,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/weapon/pickaxe,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) +"hh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hj" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hk" = (/obj/machinery/mech_recharger,/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"hl" = (/obj/structure/table/steel,/obj/item/weapon/crowbar,/obj/item/weapon/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"hm" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) +"hn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/white/bordercorner2,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/iv_drip,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"ho" = (/obj/structure/closet/secure_closet/sar,/obj/machinery/light,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/item/roller/adv,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hp" = (/obj/structure/closet/secure_closet/sar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/item/roller/adv{pixel_y = 5},/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hq" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hr" = (/obj/structure/table/steel,/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) +"hs" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ht" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hu" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hv" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hw" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Mining"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hx" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/mining_main/gen_room) +"hy" = (/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hA" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"hB" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/telecomms) +"hC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) +"hD" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hE" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"hF" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/garage) +"hG" = (/turf/simulated/wall,/area/surface/outpost/main/garage) +"hH" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power West"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hK" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hP" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hQ" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hR" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hS" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hT" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"hU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/telecomms/relay/preset/southerncross/cave,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"hV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/telecomms/relay/preset/southerncross/planet,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"hW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Telecomm"},/obj/machinery/telecomms/relay/preset/southerncross/wild,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"hX" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"hY" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"hZ" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"ia" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) +"ib" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) +"ic" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"id" = (/obj/structure/table/steel,/obj/item/weapon/weldpack,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ie" = (/obj/machinery/space_heater,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"if" = (/obj/item/stack/tile/floor/steel_dirty,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ig" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ih" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"ii" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"ij" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"ik" = (/obj/structure/table/steel,/obj/random/tool,/obj/random/tool,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"il" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"im" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/pipedispenser,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"in" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"io" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ip" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iq" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"ir" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/atmospherics/binary/pump{dir = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"is" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"it" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iu" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iv" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power East"; dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iw" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"ix" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"iy" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"iz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iC" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"iD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"iE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"iF" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"iG" = (/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"iH" = (/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"iI" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"iJ" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iK" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iL" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iM" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iO" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power South"; dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iP" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iR" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 7; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iS" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 5; tag_south = 6; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iT" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iU" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iV" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"iW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Telecommunication Hub"; req_one_access = list(10,48,65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) +"iX" = (/obj/structure/table/standard,/obj/item/weapon/crowbar/red,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/weapon/crowbar/red,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"iZ" = (/obj/machinery/bluespace_beacon,/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"ja" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) +"jb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jc" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jd" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"je" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 2"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/toolcloset,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jg" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"ji" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jj" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jk" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) +"jl" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room) +"jm" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jn" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jo" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jp" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room) +"jq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/teleporter) +"jr" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"js" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jt" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/item/frame/light,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ju" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jv" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jw" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jx" = (/obj/structure/cable,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) +"jy" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/plains/outpost) +"jz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"jA" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jB" = (/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jD" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room) +"jE" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter Access"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jF" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jH" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jJ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 2"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"jK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"jL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"jM" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/outpost) +"jN" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) +"jO" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) +"jP" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) +"jQ" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) +"jR" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{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/sif/planetuse,/area/surface/outside/path/plains) +"jS" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"jT" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{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/sif/planetuse,/area/surface/outside/plains/outpost) +"jU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{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/plating,/area/surface/outpost/main/gen_room) +"jV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jY" = (/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"jZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ka" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ke" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"ki" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"kj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kk" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kl" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"km" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kn" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ko" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kp" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kq" = (/obj/machinery/status_display,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main) +"kr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ks" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kt" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ku" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kv" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kw" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"kx" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) +"ky" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) +"kz" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) +"kA" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) +"kB" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main) +"kC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kE" = (/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kH" = (/obj/machinery/mech_recharger,/obj/effect/decal/mecha_wreckage/ripley,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kI" = (/obj/item/inflatable/door/torn,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/surface/outpost/main/garage) +"kJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"kK" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) +"kL" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"kM" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gym) +"kN" = (/turf/simulated/wall,/area/surface/outpost/main/gym) +"kO" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kP" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kR" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kS" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"kT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) +"kU" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/construction_area) +"kV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"kW" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room/smes) +"kX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"kY" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/bar) +"kZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"la" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lb" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lc" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"ld" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"le" = (/obj/machinery/vending/fitness,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lf" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gym) +"lh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"li" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/junction,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ll" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ln" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lo" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway East"; dir = 9},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lp" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main) +"lq" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ls" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main) +"lt" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) +"lu" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lv" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lw" = (/obj/machinery/alarm{pixel_y = 22},/obj/random/toolbox,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lx" = (/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ly" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"lz" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) +"lA" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal{dir = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"lB" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Dorms"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"lC" = (/turf/simulated/wall,/area/surface/outpost/main/bar) +"lD" = (/obj/structure/table/marble,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"lE" = (/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"lF" = (/obj/structure/table/marble,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"lG" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"lH" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; operating = 0; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"lI" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/frame/extinguisher_cabinet,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"lJ" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) +"lK" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) +"lL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lM" = (/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) +"lN" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lO" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"lP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) +"lQ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lS" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main) +"lT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"lZ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main2_airlock_control"; name = "Main Access Console"; pixel_x = 26; pixel_y = -26; tag_exterior_door = "main2_airlock_exterior"; tag_interior_door = "main2_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ma" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mb" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"md" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"me" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) +"mf" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mh" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mi" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mj" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mk" = (/obj/structure/table/marble,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar West"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"ml" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mm" = (/obj/structure/table/marble,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mo" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/stock_parts/motor,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mq" = (/obj/structure/table,/obj/item/stack/material/wood,/obj/item/stack/material/wood,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mr" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) +"ms" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) +"mt" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) +"mu" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) +"mv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gym) +"mw" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mx" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"my" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mz" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mB" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mD" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mG" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"mJ" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) +"mK" = (/obj/structure/closet/crate,/obj/item/weapon/crowbar/red,/obj/item/frame/light,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"mM" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"mO" = (/obj/machinery/light_construct,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mP" = (/obj/structure/table/marble,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mQ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar East"; dir = 8},/obj/machinery/light_construct,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"mS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) +"mT" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access North"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"mU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"mV" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"mW" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mX" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mY" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"mZ" = (/obj/structure/closet/emcloset,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"na" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nb" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nc" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/restroom) +"nd" = (/turf/simulated/wall,/area/surface/outpost/main/restroom) +"ne" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nf" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ng" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"ni" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nj" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nk" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) +"nl" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) +"nm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"nn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"no" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"np" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"nq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"nr" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"ns" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nt" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nu" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"nv" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nx" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"ny" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nA" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nC" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nE" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nF" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nG" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"nH" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nI" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nJ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"nL" = (/turf/simulated/wall,/area/surface/outpost/main/construction_area) +"nM" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"nN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"nO" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"nP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"nQ" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) +"nR" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nS" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nT" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nU" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gym"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nV" = (/obj/item/weapon/stool/padded,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nW" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nX" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"nY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"nZ" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) +"oa" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ob" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"oc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"od" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/dorms) +"oe" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"of" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) +"og" = (/obj/structure/table/standard,/obj/item/device/paicard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oh" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"oj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) +"ok" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"ol" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"om" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"on" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main4_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = 26; tag_exterior_door = "main4_airlock_exterior"; tag_interior_door = "main4_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oo" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"op" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) +"oq" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"or" = (/obj/structure/closet/secure_closet/personal,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"os" = (/obj/structure/table/bench/marble,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ot" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ou" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ov" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) +"ow" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) +"ox" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"oy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Access"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"oz" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) +"oA" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oD" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oF" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oG" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oI" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oL" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oO" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"oP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main/corridor) +"oQ" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oU" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/junction/yjunction,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"oZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ph" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pj" = (/obj/structure/disposalpipe/junction/yjunction{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pk" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"pl" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"pm" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) +"pn" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"po" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) +"pp" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pq" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pr" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main1_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main1_airlock_exterior"; tag_interior_door = "main1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"ps" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pt" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pu" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pv" = (/obj/structure/cable/blue{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,/area/surface/outpost/main/dorms) +"pw" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{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,/area/surface/outpost/main/dorms) +"px" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"py" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{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,/area/surface/outpost/main/dorms) +"pz" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pA" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pB" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pC" = (/obj/structure/cable/blue{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/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"pD" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{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/airlock/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pE" = (/obj/structure/cable/blue{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/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pI" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pK" = (/obj/effect/floor_decal/spline/plain{tag = "icon-spline_plain_full (NORTH)"; icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "hos"; name = "Statue"; pixel_y = 2},/obj/item/device/gps/internal/base,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/corridor) +"pL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"pN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) +"pO" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pP" = (/obj/structure/cable/blue{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,/area/surface/outpost/main) +"pQ" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pS" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"pT" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"pU" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"pV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"pW" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"pX" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) +"pY" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/surface/outpost/main/dorms) +"pZ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qa" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qb" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/crate,/obj/item/weapon/bedsheet,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/bedsheet/brown,/obj/item/weapon/bedsheet/green,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/purple,/obj/item/weapon/bedsheet/red,/obj/item/weapon/bedsheet/yellow,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qd" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qe" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qh" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qi" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway East"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qk" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"ql" = (/obj/machinery/vending/snack,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qm" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qn" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qo" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"qp" = (/turf/simulated/wall,/area/surface/outpost/main/corridor) +"qq" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qs" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qt" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qu" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qw" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qy" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qz" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qA" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway West"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qB" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qD" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qG" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"qH" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qN" = (/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qO" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"qP" = (/turf/simulated/wall,/area/surface/outpost/main/dorms) +"qQ" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light,/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qR" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main3_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = -26; tag_exterior_door = "main3_airlock_exterior"; tag_interior_door = "main3_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qT" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"qU" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"qV" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"qW" = (/obj/structure/closet/wardrobe/suit,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"qX" = (/obj/structure/closet/wardrobe/grey,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"qY" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"qZ" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"ra" = (/obj/machinery/mech_recharger,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) +"rb" = (/turf/simulated/wall,/area/surface/outpost/main) +"rc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"rd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"re" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) +"rf" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) +"rg" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rh" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"ri" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rk" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/purpledouble,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rl" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rm" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rn" = (/obj/machinery/door/airlock{id_tag = "modorm1"; name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"ro" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rq" = (/obj/machinery/door/airlock{id_tag = "modorm2"; name = "Room 2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rr" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rs" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rt" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/yellow,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"ru" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm5"; name = "Room 5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm6"; name = "Room 6"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rx" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"ry" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rz" = (/obj/item/weapon/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rA" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) +"rB" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = -6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) +"rC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) +"rD" = (/turf/simulated/wall,/area/surface/outpost/main/pool) +"rE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) +"rF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"rG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) +"rH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) +"rJ" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rK" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rL" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"rM" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rN" = (/obj/machinery/button/remote/airlock{id = "modorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rO" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rP" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rQ" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm5"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) +"rR" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"rS" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm6"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rT" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rU" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"rV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) +"rW" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"rX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"rY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"rZ" = (/obj/machinery/space_heater,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sa" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sb" = (/obj/machinery/light/spot{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sc" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sd" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"se" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool North"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sg" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sh" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"si" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sj" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sk" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sl" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sm" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sn" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"so" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sp" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"sq" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) +"sr" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access South"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) +"ss" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"st" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"su" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sA" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"sB" = (/obj/machinery/door/airlock{id_tag = "modorm3"; name = "Room 3"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 1"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm4"; name = "Room 4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sF" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sG" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sI" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"sJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm7"; name = "Room 7"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm8"; name = "Room 8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"sM" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"sN" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) +"sO" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"sP" = (/obj/structure/table/glass,/obj/item/device/paicard,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sR" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sS" = (/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"sT" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"sU" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"sV" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"sW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sX" = (/obj/structure/table/glass,/obj/item/weapon/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"sY" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"sZ" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm3"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) +"ta" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm4"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"tb" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"tc" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"td" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm7"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) +"te" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm8"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"tf" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) +"tg" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"th" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) +"ti" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tj" = (/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tk" = (/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tl" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tm" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool West"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"to" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/weapon/beach_ball,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tp" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tq" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ts" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool East"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tt" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) +"tu" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/effect/zone_divider,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"tv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/effect/zone_divider,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) +"tw" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ty" = (/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tz" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tA" = (/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tB" = (/obj/effect/floor_decal/spline/plain{dir = 10},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tC" = (/obj/effect/floor_decal/spline/plain,/obj/machinery/hologram/holopad,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tD" = (/obj/effect/floor_decal/spline/plain{dir = 6},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tE" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tF" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tH" = (/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tI" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/mountains) +"tJ" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline/corner,/area/surface/outside/ocean) +"tK" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (SOUTHEAST)"; icon_state = "shoreline"; dir = 6},/area/surface/outside/ocean) +"tL" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/ocean) +"tM" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/ocean) +"tN" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/normal) +"tO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tQ" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tR" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) +"tS" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tT" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) +"tU" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) +"tV" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tW" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) +"tX" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tY" = (/obj/machinery/light/spot,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"tZ" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ua" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ub" = (/obj/structure/table/glass,/obj/item/inflatable{pixel_x = 6; pixel_y = 6},/obj/item/inflatable{pixel_x = 2; pixel_y = 2},/obj/item/inflatable{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uc" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/mountains) +"ud" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_1"; name = "shuttle bay controller"; pixel_x = -26; pixel_y = 0; tag_door = "surface_dock_1_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"ue" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"uf" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_2"; name = "shuttle bay controller"; pixel_x = 26; pixel_y = 0; tag_door = "surface_dock_2_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"ug" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uh" = (/obj/structure/table/glass,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool South"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"ui" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) +"uj" = (/obj/machinery/light{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"uk" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"ul" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"um" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"un" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"uo" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"up" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/planet) +"uq" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"ur" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/planet) +"us" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (WEST)"; icon_state = "shorelinecorner"; dir = 8},/area/surface/outside/ocean) +"ut" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHEAST)"; icon_state = "shoreline"; dir = 5},/area/surface/outside/ocean) +"uu" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "icon-1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"uv" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"uw" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) +"ux" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"uy" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/outpost) +"uz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"uA" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) +"uB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) +"uC" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) +"uD" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) +"uE" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_exterior"; locked = 1; name = "Research Exterior Airlock"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -24; pixel_y = 0; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) +"uF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"uG" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/emergencystorage) +"uH" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/smes) +"uI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"uJ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/restroom) +"uK" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) +"uL" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"uM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"uN" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"uO" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch) +"uP" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"uQ" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"uR" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/smes) +"uS" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Research"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"uT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/heavyduty,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"uU" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light/small{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"uV" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/restroom) +"uW" = (/obj/structure/toilet{dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"uX" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"uY" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"uZ" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"va" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vb" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vc" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vd" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Airlock"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"ve" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vf" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vg" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vh" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vi" = (/obj/item/weapon/storage/box/donkpockets,/obj/structure/table/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vj" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vk" = (/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vn" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/plains/outpost) +"vo" = (/turf/simulated/mineral/sif,/area/surface/outside/plains/normal) +"vp" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) +"vq" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/normal) +"vr" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/hydrant{pixel_x = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vs" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vt" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vu" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/item/weapon/weldpack,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vv" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Research Outpost"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vw" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vx" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vB" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vC" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_interior"; locked = 1; name = "Research Interior Airlock"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -26; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vD" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vF" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vG" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vH" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"vL" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/outpost) +"vM" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/normal) +"vN" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) +"vP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) +"vQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Research Restroom"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) +"vR" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"vS" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "research_airlock_control"; name = "Research Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "research_airlock_exterior"; tag_interior_door = "research_airlock_interior"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"vT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"vU" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vW" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vX" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vY" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"vZ" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) +"wa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"wb" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"wc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"wd" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"we" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"wf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wj" = (/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},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 1"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wk" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wl" = (/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 = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"ws" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"ww" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wC" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wE" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) +"wF" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wH" = (/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/surface/outpost/research/xenoresearch) +"wI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wJ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/bot/secbot/slime,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wK" = (/obj/effect/floor_decal/industrial/warning,/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"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wL" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wP" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wS" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wU" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wX" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wY" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"wZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 4"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xb" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xc" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xe" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"xf" = (/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,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xg" = (/obj/structure/bed/chair,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -28; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xi" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xj" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) +"xk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical,/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,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xl" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xm" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 3"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xn" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xo" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) +"xp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xq" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) +"xr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xs" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) +"xt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) +"xu" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenoflora) +"xv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xw" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xy" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"xz" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xA" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced,/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/xenobiology) +"xC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xD" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"xF" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xH" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xI" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - First Aid Station"; dir = 2},/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xJ" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/defib_kit/loaded,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"xL" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"xM" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"xN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"xO" = (/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"xP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"xQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"xR" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xS" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"xT" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"xU" = (/obj/structure/table/standard,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"xV" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/closet/l3closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xW" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xX" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Access"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"xY" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"xZ" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"ya" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/pen,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yb" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yc" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"ye" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/corner/paleblue,/obj/structure/table/rack,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yf" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yg" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yh" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yi" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora North"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yj" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yl" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"ym" = (/obj/machinery/atmospherics/tvalve{dir = 1; name = "siphon switching valve"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"yn" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yo" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yp" = (/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yq" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"yr" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"ys" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yt" = (/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,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 6; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yu" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yv" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yw" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yx" = (/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"yy" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yz" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"yA" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/bodybag/cryobag,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yB" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenoflora) +"yC" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yD" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yE" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"yF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/crowbar,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yG" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yH" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yI" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yJ" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yK" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yL" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) +"yM" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yN" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -6; pixel_y = 28; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yP" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "xeno_airlock_control"; name = "Xenobiology Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "xeno_airlock_exterior"; tag_interior_door = "xeno_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yQ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yR" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yS" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"yT" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"yU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yW" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"yY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"yZ" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"za" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zc" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zd" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"ze" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zf" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zg" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"zh" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zi" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zk" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"zm" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zn" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zo" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zp" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zq" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zr" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zs" = (/obj/structure/table/glass,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zt" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zu" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zv" = (/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zw" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zx" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zy" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zz" = (/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zD" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction/yjunction{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"zI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"zL" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"zM" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zN" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/obj/item/weapon/wrench,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zO" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/door/window/westright{name = "Xenoflora Containment"; req_access = list(55)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"zQ" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zR" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zS" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"zT" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"zU" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/botany/editor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"zV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/botany/extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"zW" = (/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zX" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora East"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"zY" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"zZ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"Aa" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ab" = (/obj/machinery/disposal,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ac" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ad" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ae" = (/obj/structure/window/reinforced,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Af" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ag" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ah" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/botanydisk,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ai" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Aj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ak" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Al" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Am" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"An" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ao" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology West"; dir = 4},/obj/structure/closet/firecloset/full/double,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ap" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Aq" = (/obj/structure/table/standard,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ar" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"As" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"At" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology East"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Au" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"Av" = (/obj/machinery/door/blast/regular{desc = "Blastdoor divider"; id = "xenobioout7"; name = "Containment Divider"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Aw" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora West"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ax" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ay" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Az" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AA" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AB" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AE" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AF" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AI" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AJ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"AK" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AL" = (/obj/machinery/smartfridge/secure/extract,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AM" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/button/remote/blast_door{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"AN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"AO" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AP" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AQ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"AT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AU" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"AW" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/river/indalsalven) +"AX" = (/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"AY" = (/mob/living/simple_animal/slime,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"AZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ba" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Be" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/processor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bg" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bh" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bi" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Port to Isolation"},/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bj" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bk" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bl" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"; tag = "icon-intact (NORTHEAST)"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bm" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bn" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bo" = (/obj/structure/window/reinforced,/obj/machinery/biogenerator,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bp" = (/obj/structure/window/reinforced,/obj/machinery/seed_extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bq" = (/obj/machinery/seed_storage/xenobotany,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Br" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bs" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bt" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 2"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Bu" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"By" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Bz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"BA" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"BB" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BC" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/item/weapon/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BD" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BE" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BF" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BG" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BH" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BI" = (/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BJ" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BK" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BL" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"BM" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the divider between pens."; id = "xenobioout7"; name = "Containment Divider Switch"; pixel_x = 28; pixel_y = 0; req_access = list(55)},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"BN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BQ" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BS" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BT" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BV" = (/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"BW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"BX" = (/obj/structure/closet,/obj/item/toy/figure/scientist,/obj/item/clothing/accessory/armband/science,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"BY" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"BZ" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ca" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cc" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology South"; dir = 1},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -38},/obj/structure/reagent_dispensers/watertank/high,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cd" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ce" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cf" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ch" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ci" = (/obj/structure/closet/radiation,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) +"Ck" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cl" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"Cm" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Co" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cp" = (/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cq" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cs" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Ct" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"Cu" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"Cv" = (/turf/simulated/wall,/area/surface/outside/path/plains) +"Cw" = (/turf/simulated/floor/wood{outdoors = 1},/area/surface/outside/path/plains) +"Cx" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cy" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"Cz" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"CA" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CB" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CC" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"CD" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) +"CE" = (/obj/structure/closet/l3closet/general,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) +"CF" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CG" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CH" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CI" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CJ" = (/obj/structure/closet/crate/hydroponics/exotic,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) +"CK" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"CL" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"CM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"CN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"CO" = (/obj/structure/closet/bombcloset,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) +"CP" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) +"CQ" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) +"CR" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) +"CS" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CW" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 1"; dir = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"CX" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"CY" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"CZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Da" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Db" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dd" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"De" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"Df" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dg" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dh" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Di" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) +"Dj" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) +"Dk" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) +"Dl" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"Dm" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/normal) +"Dn" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/response_ship/planet) +"Do" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"Dp" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"Dq" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) +"Dr" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) +"Ds" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) +"Dt" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"Du" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTHWEST)"; icon_state = "shoreline"; dir = 9},/area/surface/outside/ocean) +"Dv" = (/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (NORTH)"; icon_state = "shoreline"; dir = 1},/area/surface/outside/ocean) +"Dw" = (/turf/simulated/floor/water/shoreline/corner{tag = "icon-shorelinecorner (EAST)"; icon_state = "shorelinecorner"; dir = 4},/area/surface/outside/ocean) +"Dx" = (/turf/simulated/floor/water,/area/surface/outside/river/faxalven) +"Dy" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) +"Dz" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/syndicate_station/planet) +"DA" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/plains/normal) +"DB" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/normal) +"DC" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/faxalven) +"DD" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/faxalven) +"DE" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/plains/normal) +"DF" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/faxalven) +"DG" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/normal) +"DH" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/normal) +"DI" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{tag = "icon-shoreline (WEST)"; icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) "DJ" = (/turf/simulated/floor/water,/area/surface/outside/lake/romsele) "DK" = (/turf/simulated/floor/water/deep,/area/surface/outside/lake/romsele) "DL" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/skipjack_station/planet) @@ -1550,272 +1550,270 @@ "DP" = (/obj/item/weapon/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) "DQ" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall) "DR" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall) -"DS" = (/obj/machinery/door/airlock/voidcraft{name = "Wilderness Containment"},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DT" = (/obj/structure/sign/warning/caution{desc = "This appears to be a sign warning people that the other side is dangerous. It also says that NanoTrasen cannot guarantee your safety beyond this point."; name = "\improper WARNING: WILDERNESS"},/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall) -"DU" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DW" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outpost/wall) -"DX" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DY" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/floor/water,/area/surface/outside/lake/romsele) -"DZ" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/floor/water/deep,/area/surface/outside/lake/romsele) -"Ea" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - SAR Prep"; dir = 2},/obj/effect/landmark/start{name = "Search and Rescue"},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"Eb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/teleporter) +"DS" = (/turf/simulated/wall/dungeon{icon = 'icons/obj/doors/shuttledoors.dmi'; icon_state = "door_locked"; name = "Wall Gate"},/area/surface/outpost/wall) +"DT" = (/obj/structure/sign/warning/caution{desc = "This appears to be a sign warning people that the other side is dangerous. It also says that NanoTrasen cannot guarantee your safety beyond this point."; name = "\improper WARNING: NO ACCESS"},/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall) +"DU" = (/obj/structure/sign/warning/caution{desc = "This appears to be a sign warning people that the other side is dangerous. It also says that NanoTrasen cannot guarantee your safety beyond this point."; name = "\improper WARNING: NO ACCESS"},/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall) +"DV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) +"DW" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) +"DX" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outpost/wall) +"DY" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) +"DZ" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outside/lake/romsele) (1,1,1) = {" -aaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacadadadababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagahaiaiaiagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagagagajajajajajajajajajajajajajajajajajajajagagagagajajajajajajajagagagagajajagagagagakaiaiaialalalalajajajajajajajajajajagagagagagagagagagagagagajajajajagagagagagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagajajajajajajajakaiaiaiamanaoalajajajajajajajajajajajagagagagagagagagagagajajajajajajagagagagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajakaiaiaiapaqaralajajajajajajajajajajajajajagagagagagagajajajajajajajajajagagagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajasatatatauavawalajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaialalalalajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeajajajajajajajaeaeajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeajajajajaeaeaeaeaeajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajazajaxaiaiaiajazajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajayajajajajajajajajajaAajajajajajajajajajajajajajajajajajajajajajajajaBajajajaCaCaDaDaDaCaCaEaEaEaEaFaFaFaEaEajajajajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajaGaHajajajajajajajajajaHaGaHajajajajajajajajajaHaGajajaCaCaIaJaKaLaMaCaNaOaPaQaQaQaRaSaEaEaEaEajajajaxaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajagagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajaTaUaVaVaVaVaVaVaVaVaVaWaTaUaVaVaVaVaVaVaVaVaVaWaTajajaCaXaYaZaZbabbaDbcbdbdbdbdbdbdbeaEbfbgaEbhbhbhaxaiaiaiajajajajajajajajajajajajajajajajajbibibjbkbjbibiajajajajajajajajajajajajajajajajajajagagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbmbnbnbnbnbnbmbmbobpblbqbqbmbmbmbmbmbqbqboajajajaDbraZbsbtbubvbwbxbybzbAbzbBbCbDbEbFbGbHbhbhbhaxaiaiaiajajajajajajajajajajajajbIbJbKbJbIbibLbMbNbObPbibQbRbSbRbQajajajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbnbnbnbnbnbnbnbmbobpblbqbqbqbmbmbmbqbqbqboajajajaDbTbUbVbWbXbYaDbZcabdcbcccdccceaFcfcgaFbhbhbhaxaiaiaiajajajajajajajajajajajbIbIchcicjckclbOcmcncobOcpcqcrcsctbQbQajajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajcuajajajcuajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbnbnbnbnbnbnbnbmbobpblbqbqbqbqbqbqbqbqbqboajajajaCcvcvcwcwcwcwaCcxcyczaFcAcBcCcDcEcEcEcEcFcFcFcGaiaiaiajajajajajajajajajajbIbIcHcHcIcJcKcLcMcNcOcPcQcLcRcScScTcUbQbQajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajcuajajajcuajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbnbnbnbnbnbnbnbmbobpblbqbqbqbqbqbqbqbqbqboajajajaCcwcwcwcVcWcXcYcZcadacEcEcEcEcEcEdbdcdddedfdfdgaiaiaiajajajajajajajajajajbJdhdidjdkcJdlcLdmdndodpdqcLdrcScSdsdtdubRajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcuajajajcuajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbnbnbnbnbnbnbnbmbobpblbqbqbqbqbqbqbqbqbqboajajajaCdvdwcwdxdydzcYdAcadBcEdCdDdEdFdGdHdIdJdKdKdKdLaiaiaiajajajajajajajajajajbKdMcJdNcJdOdPbJdQdRdRdRdSbRdTdUcSdVdWdXbSajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucuajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbnbnbnbnbnbnbnbmbobpblbqbqbqbqbqbqbqbqbqboajajajaCaCaCaCdYdZcYcYeaebeccEedeeeecEeedbcEcEefegcFehaiaiaiajajajajajajajajajajbJeiejekelemeneoepeqereqeseteuevewexeyezbRajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucucucuajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbmbnbnbnbnbnbnbnbmbobpblbqbqbqbqbqbqbqbqbqbobhbhbhaFeAeBaFeCeDeEeFbceGbdeHeIeIeJeKeeeLcEeMeMeMeMeNaiaiaiajajajajajajajajajajbIeOePeQeReSeTbJeUeVeWeXeYbReZfafbfcfdfebQajajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucucucucucuajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbnbnbnbnbnbnbnbobpblbmbqbqbqbqbqbqbqbmbobhbhfffgfhfifjfkflfmfnfmfofpfqfrfsftfufvfwcEeMeMeMeMeNaiaiaiaiajajajajajajajbIbIbIfxfxfxfyfzfAfxcLbjfBbjcLfCfDfEfFfCfCfCbQbQajajajajajajajajajajajagagagagagagagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucucucucucuajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbnbnbnbnbnbnbnbobpblbmbqbqbqbqbqbqbqbmbobhbhfGaEfHfIaEfJfKfLbZbdeGbdeHeIfMfNfOeefPcEeMeMeMeMeNaiaiaiaiaiaiaiaiaiaifQbJfRfSbJfTfUfVcJfWgdbJfXfYfZbRgagbgbgcEajrgbgebRajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucucucucucuajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbnbnbnbnbnbnbnbobpblbmbqbqbqbqbqbqbqbmboaiaiaiaEaEgfaEggggaEghgigjgkcEgleeeegmeedbcEeMeMeMeMgnaiaiaiaiaiaiaiaiaiaifQgogpgqgrgscJgtelelgugvgwgxgygzgAgBgBgCgbgbgDgEbRajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucucucucucuajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbnbnbnbnbnbnbnbobpblbmbqbqbqbqbqbqbqbmboaiaiaiaGgFgGgHgGgIaGgJgKgLgKcEgMgNgOgPgQgRcEgSgSgSgSgTaiaiaiaiaiaiaiaiaiaigUbIgVgWbIgXgZgYhahbhcfxhdhehffChghhhihjhkhlhmhnbQajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucucucuajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbnbnbnbnbnbnbnbobpblbmbqbqbqbqbqbqbqbmboajaiaiaGaGhohphqhrhshthuhvhuhwaGaGaGaGaGaGaGajajajajakaiaiaiaiaiajajajajajajbIhxhxhxhxhxhyhyhyhzhzhAhehBhChChChChChDhDhDhChCajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucucucuajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbnbmbmbmbnbnbnbobpblbmbqbqbqbqbqbqbqbmboajaiaiaiaGhEhFhuhGhHhIhJhKhLhMhNhOhPhPhQaGajajajajajakaiaiaiaiajajajajajajajajhxhRhShThxhUhVhWhXhYhAhehBhChZiaibicidieifighCajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajcucucucucuajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajblbnbnbmbmbmbmbmbnbnbobpblbmbmbqbqbqbqbqbmbmboajaiaiaiaGihhFhuiiijikiliminioipipiqirisaGajajajajajakaiaiaiajajajajajajajajajhxitiuivhxiwixixiyhziziAiBhCiCiDiDiDiEiEiDiFhCajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajiGiHiIiIiIiIiIiIiIiIiIiJiGiHiIiIiIiIiIiIiIiIiIiJiGajaiaiaGiKiLiMhGhuiNiOiPiQiRiSiTiUiViWaGajajajajajakaiaiaiajajajajajajajajajhxhxiXhxhxiYiZjajbhzhAhejchCiEiEjdififiEiEiDhDajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajaGaHajajajaiaiaiajajajaHaGaHajajajaiaiaiajajajaHaGajaiaiaGaGjejfjgjhaGaGjiaGaGjjjkjljlaGaGajajajajajakaiaiaiajajajajajajajajajjmjnjojpjqhzhzEbhzhzjshejthDjuiEjvjwjxiDiEiEhDajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajaiaiaiaiajajajajajajajajaiaiaiajajajajajaiaiaiaGaGaGaGjyaGjzjAjzaGaGaGaGaGaGajajajajajajakaiaiaiajajajajajajajajajjmjBjCjDjEjFjGjHjIjJfXhejKhDjLiEjMiEiDiDiEiEhDajjNjNajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajaiaiaiaiaiajajajajajajajajaiaiaiajajajajaiaiaijOjPjPjPjQjPjPjRjSjSjSjSjSjSjSjSjSjSjSjSjSjTjSjSjSjUjUjUjUjUjUjUjUjUjVjWjXjYjZkakbkckbkdkbkekfkgkhkikjkikikkiEiEhDajajjNajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiakaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiakaiaiaiajajajajajajajajajjmkljCkmjqknkokpkqkrksktkuhDkviDjviEiEiEiEiEhCajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiakaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiakaiaiaiajajajajajajajajajjmkwkxkyjqkzkAkBkCkCjJkDkEhChCkFkGkHkIkJkKkLhCajazajajjNajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiajajajajajajajajajkMajajajajajajajajajajajajajajajajajajajajakaiaiaiajajajajajajajajajkNkOkOkOkOkOkOkOkNkPkQkRkSkThChDkUhDhDhChChChCajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajkVkVkVkVkWkWkXkYkXkZkZkZkZlalakZkZkZkZajajajajajajajajajakaiaiaiajajajajajajajajajkNlblcldlclelflglhliljlkllfXjJlmlnlolplqlrlsltlujNajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajkVkVlvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLkZkZajajajajajajajajaklMlMlNajajajajajajajajajkNlOlPlPlPlPlQlRlSlTlUlVlWlXlYlZmambmcmdmemfmgmhjNjNjNajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajkVmilylylymjmklAmlmmlDmnmompmqmrmsmsmtmukZajajajajajajajajmvmwmxmymyajajajajajajajajmzmAmBmBmBmBmCmDmzhdmEmFmGfXjJmHmImJmKkCmLmMkCmNajjNjNajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajkVlvlymOlymPlylAmQmRlDmSlKmTmUmVmWmXlKmYkZajajajajajajajajmZnanbncmwajajajajajajajajmzndnendnendndnfkNngfXnhkSninjnknlnknkkCkCkCkCajajajjNjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajkVnmlynnnonpnqlAnrnslDntnunvnwnxnynynznAkZajajajajajajajajmZnBnCnDmwajajajajajajajajkNnEnFnGnHnIndnJkNkCjJnKkEnjnjnLnMnNnOnPnjajajajazajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiazajkVnQnRlylynSnTnUnVnWlDnXlKnYlKnZoalKlKnXkZajajajajajajajmymvmwobmymymyajajajajajajajkNocodoeofogndohkOoifXiAojokolnNomonnknknjajajajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajookVkVkVkWkWopoqnUoroslDotlalalDoulDlalaotkZmymymwmwmymwmwmyovowoxoyozmymwmwmymwmwmymykNkOmzoAmzkOmzmzkOoBfXnhkSnkoCnNoDnNoEoFnjajajajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaioGoHoIoJoKoLoMoNoOoPoQoRoSoToUoUoVoWoXoUoYoToUoZpapbpbpcpbpdpbpepfpgphpipjpbpbpkpdpbpboZplpmlipnpopmpppmpqprprpsptnkpunNoDpvnknknjnjnjajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaipwpxpypzpApBorpCpDpEpFpGpHpEpEpIpEpJpEpEpKpEpLpMpNpOpPpPpPpQpPpRpSpTpUpPpPpPpOpPpQpPpVpWgwlXlXpXpYpYpZpYpYpYkbqaqbnkqcnNoDpvnkqdqeqfnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiqgooqhqiooqjqkqlorqmqnqoqpqqqrqsorqlqtquqvqwqxqyqzqAqzqBqzqzqCqDqEqFqGqHqzqzqAqIqzqzqzqyqJqKqKqLqKqKqKqKqMfXqNqOqPnkqQqRqSqTqUqVqWqXnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajooooooooqYqYqlorqYqYqYqYqYqYqYorqlqYqYoooooomymymwmwmymwmwmyqZranCrbrcmymwmwmymwmwmymykCrdrerfrgrhrirjrkfXrlrmrnrorpnNrqrrnkqdrsqfnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiazajoortrurvrwrxryrzrArBqYrCrDrEryrxrFrGrHrIooajajajajajajajmyrJmyrKmwmymyajajajajajajajkCrLrMrMrMrMrMrMrMrMrNrOrPnknknkrQnknknkrRnjnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajoHrSrTrUqYqlrVqYrWrXqYrYrZqYsaqlqYsbscsdoHajajajajajajajajsesfnbncmwajajajajajajajajajrLsgshsisisjskslsmsnsospsqsrssstsusvswsxrLajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajooqYqYqYqYqlorqYqYqYqYqYqYqYorqlqYqYqYqYooajajajajajajazajsesyszsAmwajazajajajajajajajsBsCsDsEsFsFsFsFsFsFsGsFsFsFsFsFsFsHsIsCsBajajajajjNajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajoosJrurvsKsLsMsNsOsPqYsQsRsSsTsLsUrGrHsVooajajajajajajajajrJmysWmwmyajajajajajajajajajsXsYsCsZtatbtctctctctctctdtdtdtetatfsCtgsXajajajajjNajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajoooothtiqYoHoHqYtjtkqYtltmqYoHoHqYtntoooooajajajajajajajajtptqlMlMajajajajajajajajajajsBsCtasZtatrtststststststttttttutatftasCsBajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajoooHooooajajoooooHoooHooooajajoooooHooajajajajajajajajajtpaiaiaiajajajajajajajajajajrLrLtvtwtatrtstststxtytztttttttutatAtBrLrLajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaafafayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayaytCtCtCayayayayayayayayayayayayayayayayayayayayayayayayayayayayaytDtCtCtCayayayayayayayayayayaytEtFtGtHtItJtJtJtKtLtMtNtNtNtOtHtPtQtEayayayayayayayayayayayayafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaa -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajtpaiaiaiaiajajajajajajajajajajsXsCtStatrtstststttttttttttttutatTsCsXajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajtpaiaiaiaiajajajajajajajajajajsBtatatatUtVtVtVtWtWtWtWtWtWtXtatatasBajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajtpaiaiaiaiajajajajajajajajajajrLtYtZtatatatatatatatatatatatatatauarLajajajjNajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajajajajajajajajajajajajajajajajajajajajajajajtpaiaiaiaiajajajajajajajajajajajrLrLsCubucudtatatatataueucufsCrLrLajajajajjNajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajmyugaiaiajajajajajajajbpmybpajajajajajajajajajuhmyajtpajaiaiaiajajajajajajajajajajajajrLsBsXsBrLubuiujukubrLsBsXsBrLajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajulaUaVaVaVaVaVaVaVaVaVaWulaUaVaVaVaVaVaVaVaVaVaWulajtpajaiaiaiajajajajajajajajajajajajajajajajrLrLsBsXsBrLrLajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmbmumumumumumbmbmbobpblununbmbmbmbmbmununboajajtpaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajjNajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmumumumumumumumbmbobpblunununbmbmbmunununboajaiaxaiaiaiaiaiaiaiaiaiaiaiaiaiaiajajajajajajajajajajajajajajajajajajjNjNajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmumumumumumumumbmbobpblunununununununununboaiaiaxaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmumumumumumumumbmbobpblunununununununununboaiaiaxajaiaiaiajaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmumumumumumumumbmbobpblunununununununununboaiajuoupuquququpupupupupupupupupuraiaiaiaiaiaiaiaiajajajajajjNjNjNajajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmumumumumumumumbmbobpblunununununununununboajajajaiaiaiaiajajajajajajajajajtpajajajajaiaiaiaiaiaiajajjNjNajajajajajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblbmumumumumumumumbmbobpblunununununununununboajajajaiaiaiajajajajajajajajajajtpajajajajajajaiaiaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajajususaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeututututututuu -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumumumumumumumumbobpblbmunununununununbmboajajajaiaiaiajajajajajajajajajajtpajajajajajajajajaiaiaiajajajajajajajajajajajajajajajajajajajajajajajajusususususaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeututututututututututuu -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumumumumumumumumbobpblbmunununununununbmboajajajaiaiaiajajajajajajajajajajuvajajajajajazajajuwuxuxajajazajajajajajajajajajajajajajajajajajajajajajusususususususaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeututututututututututututuu -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumumumumumumumumbobpblbmunununununununbmboajajajaiaiaiajajajajajajajajajajuvajajajajajajajuyuzuAuBuyajajajajajajajajajajajajajajajajajajajajajajusususususususususususususaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeututututututututututututututututututuu -aaaeaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumumumumumumumumbobpblbmunununununununbmboajajajaiaiaiajajajajajuCuCuCuDuDuEuDuFuFuFuFuFuFuFuGuHuIuzuzuzuBuJuBuzuzuBuzuKuzuBuzajajajajajajajajajususususususususususususususususaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeututututututututututututututututututututututututuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumumumumumumumumbobpblbmunununununununbmboajajajaiaiaiajajajajuCuCuLuMuNuOuPuQuRuSuTuUuVuWuFuXuYuZuzvavbvcvdvevfuKvgvgvgvhviuzuzajajajajajajajajususususususususususususususususususususvjvkvkvkvkvkvkvkvkaeaeaeaeaeaeaeaeaeaeaeaeaevlvlvlvlvlvlvlvlvlvlvmvnutututututututututututututututututututututututututututuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumumbmbmbmumumumbobpblbmunununununununbmboajajajaiaiaiajajajajuCvovpvquNvrvsvtuRvuvvvwvxvyuFuzvzuBuzvAvBvCvDvEvFuKvgvgvgvGvHuKuzajajajajajajajusususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututututututututututututututututututututuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajblumumbmbmbmbmbmumumbobpblbmbmunununununbmbmboajajajaiaiaiajajajajuCvKvLvKuNuNvMuNuRuRuRvNuRuRuRvOvPvQuKvRvSvTvUvVvWuKuKuKuKvXuKuKuzajajajajajajajusususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututututututututututututututututututututututututuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajvYiHiIiIiIiIiIiIiIiIiIiJvYiHiIiIiIiIiIiIiIiIiIiJvYajajaiaiaiajajajajuBvZwawbwcwdwewfwgwhwiwjwiwkwlwiwmwiwnwowpwqwrwiwswtwqwiwuwvwwwxuBajajajajajajajusususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututututututututututututututututututututuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajmywyajajajajajajajajajwymywyajajajajajajajajajwymyajajaiaiaiajajajajuJwzwAwBwCwDwEwFwGwHwIwJwIwIwKwIwLwIwMwNwIwOwIwIwIwPwQwRwSwTwzwzuJajajajajajajajusususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututututututututututututututwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajajajajuBwVwWwXwYwYwZwYwYxaxbxcxdxeuBuBxfuBuBuzxgxhwWwzxixixjxkxixlwWxmxnxoajajajajajajusususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajajajwYwYxpxqxpxrxsxtxuxrxvxwxvwYwYxxxyxzxAxBxixixCxDxCxixExFxGxixHxDxIxixiajajajajajususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajwYwYxJxKxLxMwYxNxOxPwYxQxRxSxTwYwYxUxVxWxixixXxYxZyaybxGycxGydyeyfygyhxixiajajajajususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajajwYyiyjykyjyjwYwYylwYwYymynykyoypwYyqyrysxiytyuyvywyxyyxGycxGyzyAyByCyCyDxiajajajajususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajwYwYwYwYwYyEykyjyFyGyHyIyJyjykyKwYwYwYwYwYxixiyLxGyCyMyNyOyPyQxGyRySyTyUytytxixixiajusususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiajajajwYyVyWyXyYyZyjzaykykzbykykzayjzczdyXyWzewYzfzgzhziyCzjzkzlxGycxGzmznzoyCxCzpzqxGxCususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiaiajajajajwYzrzrzrzsztykzuzvzwzxzyzzzAzBzCzDzrzrzrwYzEzFzGzHzIzJzKzLxGycxGzMzNzOzPxCxGxGzQxDususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiaiajajajajajajwYzrzrzrzRzSyjykyjyjzTyjyjykzUzVzdzrzrzrwYzWzXzXzizYxGxGxGxGzZAaAaAbAaAaAcAaAdzQxCususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiaiaiajajajajajajajwYAeAeAeAfAgyjykAhAiAjAkyjykzUAlAmAnAnAnwYAoApApAqySArAsAsAtAuAvyCyCAwAxytAyAzAAxiususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiaiaiajajajajajajajajajwYzrzrzrABACyjykyjyjADyjyjykzUAEAFzrzrzrxiAGAHAIAqzYxGxGxGAJAKALyPyPyPyPAMyPANzQxCususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiaiajajajajajajajajajajajwYzrAQzrARztykASATAUAVzwAWAXAYzCAZzrzrzrxiBayCBbBcBdBeBfBgAJyCxGBhBiBjBkxCBlxGzQxDususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiajajajajajajajajajajajajajwYBoBpyXBqBryjzaykykykykykzazUBsBtyXBpBuxiBvBwyCAqyCBxByBzAJyCxGBABBBCyCxCxGBDBExCususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajajajajajajajajajajajajajajwYwYwYwYwYBFykyjykyjyjyjykyjAYBGwYwYwYwYxixixiBHBIyCBJAsBKBLBMyPBNyNBOBPytBQxixixiususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajajajajajajajajajajajajajajajajajajwYBRyjykBSBTBUBVBWBXBUBYBZCaCbCcCdCeCfCfxiCgChCiCjyCyyAJCkxGyzyCyCClCmCnxiususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlBmBnutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajCpCqCqCpajajajajajajajajajajajajajajajajajajwYwYCryjwYCsCtCuAeCvCwCxwYyjCywYwYCfCfbpxixiCzCAytxCxCCBytCCxCxCytCmCDxixiususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajCECqCqCFAPAPAPajajajajajajajajajajajajajajajajwYwYCGwYCHzrzrAezrzrCHwYCIwYwYCJbhbhbpCKxixiCLytCMxGCNCOCPCQxGBQCnxixiusususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPAPAPAPCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPCECqCqCRCoAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPajwYwYwYCSzrzrAezrAQCTwYwYwYajCKCKCKCKCKajxixixiCUxGCVAzCWxGCXxixixiususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlBmBnututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeAPAPAPCoCoCoAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPCYCqCqCRCoCoCoCoAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPajajwYCZzrzrAezrzrDawYajajajajajajajajajajajxixGzQzQDbzQzQDcxiususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeAPAPAPAPCoCoAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoCYCqCqCRAPAPCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoAPAPAPwYDdDdDdwYwYwYwYwYajajajajajajajajajajusxixCxDxCxixCxDxCxiususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPCoCoCoCoCECqCqCFAPAPAPAPAPAPAPAPAPCoCoCoAPCoCoCoCoCoCoCoAPAPAPajajajajajajajajajajajajajusususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRAPAPAPAPAPAPAPAPAPCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoCoAPAPAPCECqCqCFAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPajajajajajajajususususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvmvnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPAPCECqCqCFAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoCoCoCoAPAPAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPAPtRCpCqCqCptRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPAPAPAPAPAPususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoCoCoCoAPAPAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRaiaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkAPAPAPAPAPAPAPCoCoCoCoCoCoCoAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPAPCoAPAPAPAPAPAPAPususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRaiaiaitRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPCoCoAPAPAPAPAPAPususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRaiaitRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPCoCoAPAPAPAPAPusususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRaiaitRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPCoCoCoAPAPAPususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajAPAPAPCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRaiaitRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPCoAPAPAPusususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajAPAPAPCoCoCoAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPCoAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajAPAPAPAPAPCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajAPAPAPAPAPCoCoAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajAPAPAPAPCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajAPAPAPAPAPCoCoAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajAPAPAPAPAPAPCoCoAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoAPAPAPAPAPAPtRtRtRtRtRAPAPAPDfAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkaiaivIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoCoAPAPAPAPAPAPAPAPAPAPAPAPDfAPAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkaiaivIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlBmBnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoAPAPAPAPAPAPAPAPAPDfAPCoCoCoCoCoAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkaiaivIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoCoCoAPAPAPAPAPDfAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkaiaiaiaiaivIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPCoCoAPAPAPAPDfAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoCoAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkaiaiaiaiaiaiaiaivIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPDfAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaivkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkaiaiaiaiaiaiaiaiaiaiaivIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPtRtRtRDgtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoCoAPAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkaiaiaiaiaiaiaiaiaiaiaiaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvlBmBnutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRDgtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPAPvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaitCaiaiaiaiaivkvkvkvkvkvkvkaiaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlBmBnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRDgtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoCoAPAPAPvkvkvkvkvkvkaiaiaiaiaiaiaiaiaitCaiaiaivkvkvkvkvkvkvkvkvkvkaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRDgtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaivkvkvkvkaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkAPAPCoCoCoAPAPvkvkvkvkaiaiaiaiaiaivkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhvkaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRDgtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkCpDiDiDjDjDjDiDiDkCpaiaiaiaivkvkvkvkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhDhaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkaiaiaiCqCqCqCqCqCqCqCqCqCqaiaivkvkvkvkvkvkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUututututututututwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiCqCqCqCqCqCqCqCqCqCqaivkvkvkvkvkvkvkvkvkvkvkDevkDhDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUututututututututututwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkCpDlDmDmDnDnDnDmDmCpvkvkvkvkvkvkvkvkvkvkvkvkDevkDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUutututDoDpDpDpvnututututwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkAPAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvIvIvIvIvIvkvkvkvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUututDoDqvlvlvlvmDpvnututututwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUututDrvlvIvIvlvlvlvmDpvnututututwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUutututDrvlvlvIvIvIvlvlvlvmvnututututwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJutututwUwUwUutututDoDqvlvlvIvIvIvIvIvlvlvmDpvnututwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoAPAPAPvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlBmDsBnutututwUwUwUututDoDqvlvlvIvIvkvkvkvIvlvlvlvlvJutututwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlBmDsDsDsBnutututututwUwUwUututDrvlvlvIvIvkvkvkvkvIvIvIvIvlvmvnutututwUuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPAPvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlDsDsDsBnutututututututututwUwUwUwUutDtDuvlvIvIvIvkvkvkvkvIvIvIvIvlvmvnutututuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIAPAPututututututututututututututwUwUwUututDtDuvlvIvIvIvIvkvkvkvkvIvIvIvlvmvnututuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIAPAPAPAPAPututututDoDpDpDpDpDpDpvnututwUwUwUutututDtDuvlvlvIvIvIvIvIvIvIvIvIvlvlvJututuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPAPvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPAPAPututDoDpDqvlvlvlvlvlvlvJutututwUwUwUutututDtDuvlvlvIvIvIvIvIvIvlvlvlvlvJututuu -aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPAPAPvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPAPAPAPAPDpDpDqvlvlvlvlvlvlvlvlvJututututwUwUwUutututDtDsDuvlvlvlvlvlvlvlBmDsDsBnututuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPvkvkvkvkvkvkDevkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPAPAPAPAPAPAPvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUututututDtDsDsDsDsDsDsDsBnutututututuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPvkvkvkvkvkDevkvkvkvkvkvkvkAPAPAPAPAPAPAPAPAPAPAPvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututwUwUwUwUwUwUwUututututututututututututututututuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkAPAPCoCoAPAPAPAPAPAPAPAPDfAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUwUwUututututututututututututwUwUwUuu -aaaeaeaevIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvAPAPAPCoCoCoAPAPAPAPCoCoDwCoCoCoAPAPAPAPAPAPAPAPAPvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvAPAPAPAPAPAPCoCoCoCoCoDwCoCoCoCoCoCoCoCoCoAPAPAPvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvAPAPAPAPAPAPAPAPAPAPDfAPAPAPAPAPCoCoAPAPAPAPAPAPvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvkvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkAPAPDfAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkAPAPAPAPAPAPAPAPAPAPAPAPAPvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkAPAPAPAPAPAPAPAPAPAPAPAPAPAPvlvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPvlvlvlvlvlvlvlvlvlvlvlBmBnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIAPAPAPAPAPAPAPvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevIvIvIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIAPAPAPAPAPAPAPvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIAPAPAPAPAPAPDsDuvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaevIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIAPAPAPAPutDtDuvlvlvlvlBmBnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlAPAPAPututDtDsDsDuvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDzvkDzvkCpCqCqCpvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlAPAPutututututDtDsBnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvmDpDpvnutututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvDvvkvkvkvkDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvmvnututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvmDpvnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDzvkDzvkCpCqCqCpvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvmvnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIDxDxDxDxvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvIvIDyvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvIvIvIDyDyDyDyDyDCvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIDyDyDyDyDCDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIDyDyDyDCDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIDyvIvIvIDyDyDyDyDyDCDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlBmBnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaafafafDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDDDDDDDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDetCtCtCtCDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFDFDFDGDHDHDHDHDHDHDHDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkvkvkDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkvkvkvkvkDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkvkvkvkvkDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvkvkvkvkDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDKDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDKDKDKDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmDpvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDKDKDKDKDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDKDKDKDKDKDKDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDKDKDKDKDKDKDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDKDKDKDKDKDKDKDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututututwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmDpvnutututututwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUwUwUuu -aaaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututwUwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmututututututwUwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvIvIvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututwUwUwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututututwUwUwUwUuu -aaaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmDpvnutututututwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnututututututuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmDpDpvnututuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmDpDpuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaa -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaa -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvIvIvIvIDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaeaa -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvIvkvkvIvIDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaeaa -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvIvIvkvkvIDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIDLDLDLDLvIvIvIDLvIvIvIvIvIDLvIvIvIDLDLDLDLvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaeaa -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvIvkvkvIDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIDLDLDLDLvIvIvIDLDLDLDLDLDLDLvIvIvIDLDLDLDLvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaeaeaa -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvIvIvkvIDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIDLDLDLDLvIvIDLDLDLDLDLDLDLDLDLvIvIDLDLDLDLvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlaeaeaeaeaa -aaaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvIvIvIDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIDLDLDLDLvIvIDLDLDLDLDLDLDLDLDLvIvIDLDLDLDLvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvlvlvlvlvlaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvkvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlvlaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvlaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvkvkvkvkvkvkvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvkvkvkvkvkvkvkvkvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaa -aaaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIvIvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIvIvIvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIDLDLDLDLDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIDMDMDMvIvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDJDJDJDJDKDKDJDJDJDJDJDJDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIDMDMDMvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIDLDLDLDLDLDLDLDLDLvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIDNDMDODMDPvIDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDJDJDJDJDJDJDKDKDJDJDJDJDJDJDJDJDJvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDNDMDODMDPvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkaeaeaeaeaeaeaevkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvIvIDLDLDLDLDLDLDLvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDCDyDyDyDyDyDyaeaeaeaeaeDQDyDyDyDQDyDyDyDQDyDyDyDQDyDyDyDRDSDTDSDRDyDyDyDQDyDyDyDQDyDyDyDQDyDyDyDQDyDyDyDQDyDyDyDQDyDyDyDQDyDyDyDQDyDJDJDJDKDKDJDJDJDyDQDyDyvkDQvkvkvkDQvkvkvkDQvkvkvkDQvkvkvkDQvkvkvkDRDSDTDSDRvkvkvkDQvkvkvkDQvkvkvkDQaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaevkvkvkvkvkvkvkaeaeaeaeaeaeaeaevIvIvIvIvIvIvIvIvIvIvIvIvIvIvIaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyaeaeaeaeaeaeaeaeaeaeaeaeaeaeDyDyDyDeDyDyDyaeaeaeaeaeDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDMDMDMDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDMDMDMDQDQDQDQDQDQDQDQDQDQDQDQDQDQaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaevIvIvIvIaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDUDMDVDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDUDMDVDQDQDQDQDQDQDQDQDQDQDQDQDQDQaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaaaaaaaaaaaaaaabababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDQDXDXDXDQDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDQDYDYDZDZDYDYDQDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDWDQDXDXDXDQDWDWDWDWDWDWDWDWDWDWDWDWDWababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababab +aaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacadadadabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaeaeaeababababababababab +aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiajajajahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafahahahalalalalalalalalalalalalalalalalalalalahahahahalalalalalalalahahahahalalahahahahamajajajananananalalalalalalalalalalahahahahahahahahahahahahalalalalahahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafafalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahalalalalalalalamajajajaoapaqanalalalalalalalalalalalahahahahahahahahahahalalalalalalahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalamajajajarasatanalalalalalalalalalalalalalahahahahahahalalalalalalalalalahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalauavavavawaxayanalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajananananalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafafalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafafalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa +aaafafafafafafalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafaAafafaa +aaafafafafafafalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakaBafafafafaAaAafafaa +aaafafafafafafalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaBaBaBafafaAaAaAaAaAafaa +aaafafafafafafafalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaCaDaDaDaEaAaAaAaAaAaAafaa +aaafafafafafafafafalalalalalalalafafalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaHaAaAaAaAaCaEafaa +aaafafafafafafafafafalalalalafafafafafalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaIalazajajajalaIalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaCaJaDaDaDaHaAaAaAaCaJaKaLaM +aaafafafafafafafafafafafafafafafafafalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaCaJaDaDaDaDaKaLaLaLaJaDaDaDaM +aaafafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaOaOaOaNaNaPaPaPaPaQaQaQaPaPalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM +aaafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalafafafafafafalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaRaSaTaUaVaNaWaXaYaZaZaZbabbaPaPaPaPalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM +aaafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNbcbdbebebfbgaObhbibibibibibibjaPbkblaPbmbmbmazajajajalalalalalalalalalalalalalalalalalbnbnbobpbobnbnalalalalalalalalalalalalalalalalalalahahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM +aaafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaObqbebrbsbtbubvbwbxbybzbybAbBbCbDbEbFbGbmbmbmazajajajalalalalalalalalalalalalbHbIbJbIbHbnbKbLbMbNbObnbPbQbRbQbPalalalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM +aaafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaObSbTbUbVbWbXaObYbZbicacbcccbcdaQcecfaQbmbmbmazajajajalalalalalalalalalalalbHbHcgchcicjckbNclcmcnbNcocpcqcrcsbPbPalalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDaDaDaDaDaDaDaM +aaafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalalalctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNcucucvcvcvcvaNcwcxcyaQczcAcBcCcDcDcDcDcEcEcEcFajajajalalalalalalalalalalbHbHcGcGcHcIcJcKcLcMcNcOcPcKcQcRcRcScTbPbPalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDaDaDaDaDaDcUcUaM +aaafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalalalctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNcvcvcvcVcWcXcYcZbZdacDcDcDcDcDcDdbdcdddedfdfdgajajajalalalalalalalalalalbIdhdidjdkcIdlcKdmdndodpdqcKdrcRcRdsdtdubQalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDaDaDaDaDcUcUcUcUaM +aaafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalalalctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNdvdwcvdxdydzcYdAbZdBcDdCdDdEdFdGdHdIdJdKdKdKdLajajajalalalalalalalalalalbJdMcIdNcIdOdPbIdQdRdRdRdSbQdTdUcRdVdWdXbRalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUaM +aaafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaNaNdYdZcYcYeaebeccDedeeeecDeedbcDcDefegcEehajajajalalalalalalalalalalbIeiejekelemeneoepeqereqeseteuevewexeyezbQalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUaM +aaafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmbmaQeAeBaQeCeDeEeFbheGbieHeIeIeJeKeeeLcDeMeMeMeMeNajajajalalalalalalalalalalbHeOePeQeReSeTbIeUeVeWeXeYbQeZfafbfcfdfebPalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUaM +aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfffgfhfifjfkflfmfnfmfofpfqfrfsftfufvfwcDeMeMeMeMeNajajajajalalalalalalalbHbHbHfxfxfxfyfzfAfxcKbofBbocKfCfDfEfFfCfCfCbPbPalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM +aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfGaPfHfIaPfJfKfLbYbieGbieHeIfMfNfOeefPcDeMeMeMeMeNajajajajajajajajajajfQbIfRfSbIfTfUfVcIfWfXbIfYfZgabQgbgcgcgdgegfgcggbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajaPaPghaPgigiaPgjgkglgmcDgneeeegoeedbcDeMeMeMeMgpajajajajajajajajajajfQgqgrgsgtgucIgvelelgwgxgygzgAgBgCgDgDgEgFgFgGgHbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIgJgKgLgKgMgIgNgOgPgOcDgQgRgSgTgUgVcDgWgWgWgWgXajajajajajajajajajajgYbHgZhabHhbhchdhehfhgfxhhhihjfChkhlhmhnhohphqhrbPalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIgIhshthuhvhwhxhyhzhyhAgIgIgIgIgIgIgIalalalalamajajajajajalalalalalalbHhBhBhBhBhBhChChChChChDhihEhFhFhFhFhFhGhGhGhFhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIhHhIhyhJhKhLhMhNhOhPhQhRhShShTgIalalalalalamajajajajalalalalalalalalhBhUhVhWhBhXhYhZiaibhDhihEhFicidieifigihiiijhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIikhIhyiliminioipiqirisisitiuivgIalalalalalamajajajalalalalalalalalalhBiwixiyhBiziAiAiBhCiCiDiEhFiFiGiGiGiHiHiGiIhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIiJiKiLhJhyiMiNiOiPiQiRiSiTiUiVgIalalalalalamajajajalalalalalalalalalhBhBiWhBhBiXiYiZjahChDhijbhFiHiHjciiiiiHiHiGhGalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIgIjdjejfjggIgIjhgIgIjijjjkjkgIgIalalalalalamajajajalalalalalalalalaljljmjnjojphChCjqhChCjrhijshGjtiHjujvjwiGiHiHhGalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIgIgIgIjxgIjyjzjygIgIgIgIgIgIalalalalalalamajajajalalalalalalalalaljljAjBjCjDjEjFjGjHjIfYhijJhGjKiHjLiHiGiGiHiHhGaljMjMalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalajajajjNjOjOjOjPjOjOjQjRjRjRjRjRjRjRjRjRjRjRjRjRjSjRjRjRjTjTjTjTjTjTjTjTjTjUjVjWjXjYjZkakbkakckakdkekfkgkhkikhkhkjiHiHhGalaljMalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajajajajajajamajajajajajajajajajajajajajajajajajajajajamajajajalalalalalalalalaljlkkjBkljpkmknkokpkqkrkskthGkuiGjuiHiHiHiHiHhFalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalaljMalalalalajajajajajajajajajajajamajajajajajajajajajajajajajajajajajajajajamajajajalalalalalalalalaljlkvkwkxjpkykzkAkBkBjIkCkDhFhFkEkFkGkHkIkJkKhFalaIalaljMalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalalalalalalkLalalalalalalalalalalalalalalalalalalalalamajajajalalalalalalalalalkMkNkNkNkNkNkNkNkMkOkPkQkRkShFhGkThGhGhFhFhFhFalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalkUkUkUkUkVkVkWkXkWkYkYkYkYkZkZkYkYkYkYalalalalalalalalalamajajajalalalalalalalalalkMlalblclbldlelflglhliljlkfYjIlllmlnlolplqlrlsltjMalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUkUlulvlwlxlylzlAlBlClDlElFlElGlHlElIkYkYalalalalalalalalamlJlJlKalalalalalalalalalkMlLlMlMlMlMlNlOlPlQlRlSlTlUlVlWlXlYlZmambmcmdmejMjMjMalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUmflxlxlxmgmhlzmimjlCmkmlmmmnmomnmnmpmqkYalalalalalalalalmrmsmtmumualalalalalalalalmvmwmxmxmxmxmymzmvhhmAmBmCfYjImDmEmFmGkBmHmIkBmJaljMjMalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUlulxmKlxmLlxlzmMmNlCmOlEmPlEmQlElElEmRkYalalalalalalalalmSmTmUmVmsalalalalalalalalmvmWmXmWmXmWmWmYkMmZfYnakRnbncndnendndkBkBkBkBalalaljMjMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUnflxngnhninjlznknllClEnmnnnonpnononqnrkYalalalalalalalalmSnsntnumsalalalalalalalalkMnvnwnxnynzmWnAkMkBjInBkDncncnCnDnEnFnGncalalalaIalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajaIalkUnHnIlxlxnJnKnLnMnNlClElElElEnOlElElEnPkYalalalalalalalmumrmsnQmumumualalalalalalalkMnRnSnTnUnVmWnWkNnXfYiDnYnZoanEobocndndncalalalalalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalodkUkUkUkVkVoeofnLogohlCkZkZkZlCoilCkZkZojkYmumumsmsmumsmsmuokolomonoomumsmsmumsmsmumukMkNmvopmvkNmvmvkNoqfYnakRndornEosnEotouncalalalalalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajovowoxoyozoAoBoCoDoEoFoGoHoIoJoJoKoLoMoJoNoOoJoPoQoRoRoSoRoToRoUoVoWoXoYoZoRoRpaoToRoRoPpbpclhpdpepcpfpcpgphphpipjndpknEosplndndncncncalalalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajpmpnpopppqprpsptpupvpwpxpypvpvpzpvpApvpvpBpvpCpDpEpFpGpGpGpHpGpIpJpKpLpGpGpGpFpGpHpGpMpNgylUlUpOpPpPpQpPpPpPkapRpSndpTnEosplndpUpVpWncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajpXodpYpZodqaqbqcpsqdqeqfqgqhqiqjpsqcqkqlqmqnqoqpqqqrqqqsqqqqqtquqvqwqxqyqqqqqrqzqqqqqqqpqAqBqBqCqBqBqBqBqDfYqEqFqGndqHqIqJqKqLqMqNqOncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalododododqPqPqcpsqPqPqPqPqPqPqPpsqcqPqPodododmumumsmsmumsmsmuqQqRntqSqTmumsmsmumsmsmumukBqUqVqWqXqYqZrarbfYrcrdrerfrgnErhrindpUrjpWncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajaIalodrkrlrmrnrorprqrrrsqPrtrurvrprorwrxryrzodalalalalalalalmurAmurBmsmumualalalalalalalkBrCrDrDrDrDrDrDrDrDrErFrGndndndrHndndndrIncncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalowrJrKrLqPqcrMqPrNrOqPrPrQqPrRqcqPrSrTrUowalalalalalalalalrVrWmUmVmsalalalalalalalalalrCrXrYrZrZsasbscsdsesfsgshsisjskslsmsnsorCalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalodqPqPqPqPqcpsqPqPqPqPqPqPqPpsqcqPqPqPqPodalalalalalalaIalrVspsqsrmsalaIalalalalalalalssstsusvswswswswswswsxswswswswswswsyszstssalalalaljMalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalodsArlrmsBsCsDsEsFsGqPsHsIsJsKsCsLrxrysModalalalalalalalalrAmusNmsmualalalalalalalalalsOsPstsQsRsSsTsTsTsTsTsTsUsUsUsVsRsWstsXsOalalalaljMalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalododsYsZqPowowqPtatbqPtctdqPowowqPtetfododalalalalalalalaltgthlJlJalalalalalalalalalalssstsRsQsRtitjtjtjtjtjtjtktktktlsRsWsRstssalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalodowododalalododowodowododalalododowodalalalalalalalalaltgajajajalalalalalalalalalalrCrCtmtnsRtitjtjtjtotptqtktktktlsRtrtsrCrCalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaagagaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFttttttaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFtuttttttaFaFaFaFaFaFaFaFaFaFaFtvtwtxtytztAtAtAtBtCtDtEtEtEtFtytGtHtvaFaFaFaFaFaFaFaFaFaFaFaFagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagtItItItItJtKtLtLtLtLtLtLtLtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalaltgajajajajalalalalalalalalalalsOsttOsRtitjtjtjtktktktktktktlsRtPstsOalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalalalalalalalalalalalalalalalalalalalalalalaltgajajajajalalalalalalalalalalsssRsRsRtQtRtRtRtStStStStStStTsRsRsRssalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalalalalalalalalalalalalalalalalalalalalaltgajajajajalalalalalalalalalalrCtUtVsRsRsRsRsRsRsRsRsRsRsRsRsRsRtWrCalalaljMalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalalalalalalalalalalalalalalalalalalalaltgajajajajalalalalalalalalalalalrCrCsttXtYtZsRsRsRsRsRuatYubstrCrCalalalaljMalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafucucaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalmuudajajalalalalalalaluemuuealalalalalalalalalufmualtgalajajajalalalalalalalalalalalalrCsssOssrCtXuguhuitXrCsssOssrCalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalujukulululululululululumujukulululululululululumujaltgalajajajalalalalalalalalalalalalalalalalrCrCsssOssrCrCalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuououpupupupupuououqueunururuouououououruruqalaltgajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalaljMalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafucaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururuououourururuqalajazajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalaljMjMalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajajazajajajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafucucucaAaAaAaAaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajajazalajajajalajajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafucucucucaAaAaAaAusutaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajaluuuvuwuwuwuvuvuvuvuvuvuvuvuvuxajajajajajajajajalalalalaljMjMjMalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAusutaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqalalalajajajajalalalalalalalalaltgalalalalajajajajajajalaljMjMalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAaAusutaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqalalalajajajalalalalalalalalalaltgalalalalalalajajajajajalalalalalalalalalalalalalalalalalalalalalalalalaluyuyafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaltgalalalalalalalalajajajalalalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyafafafafafafafafafafafafafafagafafafafafafafafafafafafafafucucucucucaAaAaAaAaAaAaAaAaAusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalaIalaluAuBuBalalaIalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyafafafafafafafafafafafafagafafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalalaluCuDuEuFuCalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyafafafafafafafagafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAusutaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalaluGuGuGuHuHuIuHuJuJuJuJuJuJuJuKuLuMuDuDuDuFuNuFuDuDuFuDuOuDuFuDalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyafafafafagafafafafafafafafafafafucucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalaluGuGuPuQuRuSuTuUuVuWuXuYuZvauJvbvcvduDvevfvgvhvivjuOvkvkvkvlvmuDuDalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvnvovovovovovovovpucucucucucucucucucucaAaAaAvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupuouououpupupuqueunuourururururururuouqalalalajajajalalalaluGvrvsvtuRvuvvvwuVvxvyvzvAvBuJuDvCuFuDvDvEvFvGvHvIuOvkvkvkvJvKuOuDalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupuouououououpupuqueunuouourururururuououqalalalajajajalalalaluGvNvOvNuRuRvPuRuVuVuVvQuVuVuVvRvSvTuOvUvVvWvXvYvZuOuOuOuOwauOuOuDalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalwbwcwdwdwdwdwdwdwdwdwdwewbwcwdwdwdwdwdwdwdwdwdwewbalalajajajalalalaluFwfwgwhwiwjwkwlwmwnwowpwowqwrwowswowtwuwvwwwxwowywzwwwowAwBwCwDuFalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalmuwEalalalalalalalalalwEmuwEalalalalalalalalalwEmualalajajajalalalaluNwFwGwHwIwJwKwLwMwNwOwPwQwQwRwQwSwQwTwUwQwVwQwQwQwWwXwYwZxawFwFuNalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalaluFxbxcxdxexexfxexexgxcxhxixjuFuFxkuFuFuDxlxmxnwFxoxoxpxqxoxrxnxsxtxualalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalxexexvxwxxxyxzxAxBxyxCxDxExexexFxGxHxIxJxoxoxKxLxKxoxMxNxOxoxPxLxQxoxoalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalxexexRxSxTxUxexVxWxXxexYxZyaybxexeycydyexoxoyfygyhyiyjxOykxOylymynyoypxoxoalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalxeyqyrysyryrxexeytxexeyuyvysywyxxeyyyzyAxoyByCyDyEyFyGxOykxOyHyIyJyKyKyLxoalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalxexexexexeyMysyryNyOyPyQyRyrysySxexexexexexoxoyTxOyKyUyVyWyXyYxOyZzazbzcyByBxoxoxoaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajalalalxezdzezfzgzhyrziysyszjysysziyrzkzlzfzezmxeznzozpzqyKzrzsztxOykxOzuzvzwyKxKzxzyxOxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajalalalalxezzzzzzzAzByszCzDzEzFzGzHzIzJzKzLzzzzzzxezMzNzOzPzQzRzSzTxOykxOzUzVzWzXxKxOxOzYxLuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajalalalalalalxezzzzzzzZAayrysyryrAbyryrysAcAdzlzzzzzzxeAeAfAfzqAgxOxOxOxOAhAiAiAjAiAiAkAiAlzYxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajajalalalalalalalxeAmAmAmAnAoyrysApAqArAsyrysAcAtAuAvAvAvxeAwAxAxAyzaAzAAAAABACADyKyKAEAFyBAGAHAIxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajajalalalalalalalalalxezzzzzzAJAKyrysyryrALyryrysAcAMANzzzzzzxoAOAPAQAyAgxOxOxOARASATyXyXyXyXAUyXAVzYxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWAXaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajalalalalalalalalalalalxezzAYzzAZzBysBaBbBcBdzEBeBfBgzKBhzzzzzzxoBiyKBjBkBlBmBnBoARyKxOBpBqBrBsxKBtxOzYxLuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajalalalalalalalalalalalalalxeBuBvzfBwBxyrziysysysysysziAcByBzzfBvBAxoBBBCyKAyyKBDBEBFARyKxOBGBHBIyKxKxOBJBKxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalalalalalalalalalalalalalxexexexexeBLysyrysyryryrysyrBgBMxexexexexoxoxoBNBOyKBPAABQBRBSyXBTyVBUBVyBBWxoxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalalalalalalalalalalalalalalalxeBXyrysBYBZCaCbCcCdCaCeCfCgChCiCjCkClClxoCmCnCoCpyKyGARCqxOyHyKyKCrCsCtxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalCvCwCwCvalalalalalalalalalalalalalalalalalalxexeCxyrxeCyCzCAAmCBCCCDxeyrCExexeClCluexoxoCFCGyBxKxKCHyBCIxKxKyBCsCJxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalCKCwCwCLAXAXAXalalalalalalalalalalalalalalalalxexeCMxeCNzzzzAmzzzzCNxeCOxexeCPbmbmueCQxoxoCRyBCSxOCTCUCVCWxOBWCtxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +AWAXAXAXAXCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXCKCwCwCXCuAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXalxexexeCYzzzzAmzzAYCZxexexealCQCQCQCQCQalxoxoxoDaxODbAHDcxODdxoxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafAXAXAXCuCuCuAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXDeCwCwCXCuCuCuCuAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXalalxeDfzzzzAmzzzzDgxealalalalalalalalalalalxoxOzYzYDhzYzYDixouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafAXAXAXAXCuCuAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXCuDeCwCwCXAXAXCuCuCuCuCuCuCuCuCuCuCuCuCuCuCuCuCuAXAXAXxeDjDjDjxexexexexealalalalalalalalalaluyxoxKxLxKxoxKxLxKxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXCuCuCuCuCKCwCwCLAXAXAXAXAXAXAXAXAXCuCuCuAXCuCuCuCuCuCuCuAXAXAXalalalalalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNAXAXAXAXAXAXAXAXAXCuCuAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXCuCuAXAXAXCKCwCwCLAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXAXAXAXCKCwCwCLAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuCuCuCuAXAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXCuCuCuAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXAXAXAXtNCvCwCwCvtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuCuCuCuAXAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNajajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpAXAXAXAXAXAXAXCuCuCuCuCuCuCuAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXCuAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajajtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXCuCuAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXCuCuAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXCuCuCuAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXCuAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalAXAXAXCuCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalAXAXAXAXAXCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalAXAXAXAXAXCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalAXAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalAXAXAXAXAXCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalAXAXAXAXAXAXCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXCuCuAXAXAXAXAXAXtNtNtNtNtNAXAXAXDlAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuCuAXAXAXAXAXAXAXAXAXAXAXAXDlAXAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuAXAXAXAXAXAXAXAXAXDlAXCuCuCuCuCuAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuCuCuAXAXAXAXAXDlAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpajajajajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXCuCuAXAXAXAXDlAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpajajajajajajajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXDlAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpajajajajajajajajajajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpajajajajajajajajajajajajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpajajajajajajttajajajajajvpvpvpvpvpvpvpajajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpajajajajajajajajajttajajajvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpAXAXCuCuCuAXAXvpvpvpvpajajajajajajvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnvpajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNDmtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpCvDoDoDpDpDpDoDoDqCvajajajajvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnDnajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpajajajCwCwCwCwCwCwCwCwCwCwajajvpvpvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDcUcUcUcUcUcUaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajCwCwCwCwCwCwCwCwCwCwajvpvpvpvpvpvpvpvpvpvpvpDkvpDnDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpCvDrDsDsDtDtDtDsDsCvvpvpvpvpvpvpvpvpvpvpvpvpDkvpDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUaDaDaDDuDvDvDvutaDaDaDaDcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvMvMvMvMvMvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDcUcUcUcUaDaDDuDwvqvqvqusDvutaDaDaDaDcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUaDaDaHvqvMvMvqvqvqusDvutaDaDaDaDcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUaDaDaDaHvqvqvMvMvMvqvqvqusutaDaDaDaDcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUaDaDaDDuDwvqvqvMvMvMvMvMvqvqusDvutaDaDcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqaCaLaJaDaDaDcUcUcUaDaDDuDwvqvqvMvMvpvpvpvMvqvqvqvqaGaDaDaDcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqaCaLaLaLaJaDaDaDaDaDcUcUcUaDaDaHvqvqvMvMvpvpvpvpvMvMvMvMvqusutaDaDaDcUaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqaLaLaLaJaDaDaDaDaDaDaDaDaDcUcUcUcUaDaKaEvqvMvMvMvpvpvpvpvMvMvMvMvqusutaDaDaDaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMAXAXaDaDaDaDaDaDaDaDaDaDaDaDaDaDcUcUcUaDaDaKaEvqvMvMvMvMvpvpvpvpvMvMvMvqusutaDaDaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMAXAXAXAXAXaDaDaDaDDuDvDvDvDvDvDvutaDaDcUcUcUaDaDaDaKaEvqvqvMvMvMvMvMvMvMvMvMvqvqaGaDaDaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXaDaDDuDvDwvqvqvqvqvqvqaGaDaDaDcUcUcUaDaDaDaKaEvqvqvMvMvMvMvMvMvqvqvqvqaGaDaDaM +aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXAXvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXDvDvDwvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUaDaDaDaKaLaEvqvqvqvqvqvqvqaCaLaLaJaDaDaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUaDaDaDaDaKaLaLaLaLaLaLaLaJaDaDaDaDaDaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvpvpvpvpvpDkvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXAXAXAXAXAXDlAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDaDaDcUcUcUaM +aaafafafvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxAXAXAXCuCuCuAXAXAXAXCuCuDyCuCuCuAXAXAXAXAXAXAXAXAXvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxAXAXAXAXAXAXCuCuCuCuCuDyCuCuCuCuCuCuCuCuCuAXAXAXvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxAXAXAXAXAXAXAXAXAXAXDlAXAXAXAXAXCuCuAXAXAXAXAXAXvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvpvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpAXAXDlAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMAXAXAXAXAXAXaLaEvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMAXAXAXAXaDaKaEvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADAvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqAXAXAXaDaDaKaLaLaEvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADAvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDBvpDBvpCvCwCwCvvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqAXAXaDaDaDaDaDaKaLaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADAvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqusDvDvutaDaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADAvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxDxvpvpvpvpDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADAvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqusDvutaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADAvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADAvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDxDBvpDBvpCvCwCwCvvpvpvpDxDxDxDxDxDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADAvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADAvMvMDzDzDzDzvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvMvMDAvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADAvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvMvMvMDADADADADADEvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDADADADADEDADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDADADADEDADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDAvMvMvMDADADADADADEDADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaagagagDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDFDFDFDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkttttttttDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDGDGDGDGDGDGDHDHDHDHDHDHDHDHDHDHDHDHDItLtLtLtLtLtLtLtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqusDvutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusDvutaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM +aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDcUcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusaDaDaDaDaDaDcUcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDcUcUcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDcUcUcUcUaM +aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusDvutaDaDaDaDaDcUcUcUaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaDaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaDaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusutaDaDaDaDaDaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusDvDvutaDaDaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqusDvDvaM +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafaa +aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvMvMDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvpvpvMvMDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLvMvMvMDLvMvMvMvMvMDLvMvMvMDLDLDLDLvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMvMDLDLDLDLDLDLDLvMvMvMDLDLDLDLvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMDLDLDLDLDLDLDLDLDLvMvMDLDLDLDLvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvMvMDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMDLDLDLDLDLDLDLDLDLvMvMDLDLDLDLvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvpvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafaa +aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafaa +aaafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafaa +aaafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafaa +aaafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMDADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafaa +aaafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMDADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafafafaa +aaafafafafafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDMDMDMvMvMDADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDKDKDJDJDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDMDMDMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafafafafafaa +aaafafafafafafafafafafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADAvMDNDMDODMDPvMDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDNDMDODMDPvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpafafafafafafafvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMDLDLDLDLDLDLDLvMvMvMvMvMvMvMafafafafafafafafafafafafafafafafafafafafafaa +aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADAafafafafafDQDADADADQDADADADQDADADADQDADADADRDSDTDSDRDADADADQDADADADQDADADADQDADADADQDADADADQDADADADQDADADADQDADADADQDADJDJDJDKDKDJDJDJDADQDADAvpDQvpvpvpDQvpvpvpDQvpvpvpDQvpvpvpDQvpvpvpDRDSDUDSDRvpvpvpDQvpvpvpDQvpvpvpDQafafafafafafafafafafafafafagafafafvpvpvpvpvpvpvpafafafafafafafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafafafafafafafafafafafafafafafafafaa +aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafDADADADADADADADADADADADAafafafafafafafafafafafafafafDADADADkDADADAafafafafafDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDMDMDMDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDMDMDMDQDQDQDQDQDQDQDQDQDQDQDQDQDQafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafvMvMvMvMafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaa +aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDVDMDWDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDVDMDWDQDQDQDQDQDQDQDQDQDQDQDQDQDQafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaa +aaaaaaaaaaaaaaaaabababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDYDYDYDQDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDZDZDZDZDZDZDQDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDYDYDYDQDXDXDXDXDXDXDXDXDXDXDXDXDXababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababab "} diff --git a/maps/southern_cross/southern_cross-4.dmm b/maps/southern_cross/southern_cross-4.dmm index d33a418ccb2..9b74eacd8c0 100644 --- a/maps/southern_cross/southern_cross-4.dmm +++ b/maps/southern_cross/southern_cross-4.dmm @@ -124,10 +124,10 @@ "ct" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) "cu" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoarcheology/isolation_a) "cv" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/cave) -"cw" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"cx" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"cy" = (/obj/structure/table/steel,/obj/item/weapon/cell/high,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"cz" = (/obj/structure/table/steel,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"cw" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"cx" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall/checkpoint) +"cy" = (/obj/structure/showcase/sign{pixel_y = -5},/turf/simulated/wall/dungeon,/area/surface/cave/unexplored/deep) +"cz" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/floor/water{outdoors = 0},/area/surface/cave/explored/deep) "cA" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoarcheology/medical) "cB" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) "cC" = (/obj/machinery/sleep_console,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) @@ -151,9 +151,9 @@ "cU" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) "cV" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) "cW" = (/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) -"cX" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (WEST)"; icon_state = "warning_dust"; dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"cY" = (/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"cZ" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"cX" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"cY" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"cZ" = (/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "da" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) "db" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) "dc" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) @@ -172,8 +172,8 @@ "dp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/obj/machinery/light,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) "dq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_one"; dir = 1; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) "dr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Isolation Cell 1"; dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_a) -"ds" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (WEST)"; icon_state = "warning_dust"; dir = 8},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"dt" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"ds" = (/turf/simulated/floor/water{outdoors = 0},/area/surface/cave/explored/deep) +"dt" = (/obj/machinery/door/airlock/voidcraft{name = "Wilderness Containment"},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "du" = (/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) "dv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) "dw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoarcheology/medical) @@ -211,9 +211,9 @@ "ec" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_b) "ed" = (/obj/machinery/artifact_analyser,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_b) "ee" = (/obj/machinery/door/blast/regular{id = "xenoarch_cell2"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_b) -"ef" = (/obj/machinery/mining/brace,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"eg" = (/obj/machinery/mining/drill,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"eh" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"ef" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall/checkpoint) +"eg" = (/obj/structure/showcase/sign{pixel_y = -5},/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall/checkpoint) +"eh" = (/obj/item/weapon/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "ei" = (/obj/item/weapon/banner/nt,/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/surface/cave/explored/normal) "ej" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall,/area/surface/outpost/research/xenoarcheology/medical) "ek" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/neutral,/area/surface/outpost/research/xenoarcheology) @@ -229,7 +229,7 @@ "eu" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_b) "ev" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_b) "ew" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_b) -"ex" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"ex" = (/obj/machinery/light/small{dir = 1},/obj/item/weapon/banner/virgov,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) "ey" = (/turf/simulated/floor/plating{tag = "icon-asteroidplating2"; icon_state = "asteroidplating2"},/area/surface/outpost/research/xenoarcheology) "ez" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoarcheology) "eA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoarch Airlock 1"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoarcheology) @@ -324,10 +324,10 @@ "gl" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/obj/machinery/light,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_c) "gm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_one"; dir = 1; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_c) "gn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Isolation Cell 3"; dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoarcheology/isolation_c) -"go" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (WEST)"; icon_state = "warning_dust"; dir = 8},/obj/machinery/light/small,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"gp" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/heavyduty{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"gq" = (/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) -"gr" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"go" = (/obj/item/stack/flag/green,/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/surface/cave/explored/deep) +"gp" = (/obj/structure/table/steel,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"gq" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/item/weapon/cell/high,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"gr" = (/obj/item/stack/flag/red{amount = 1},/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/surface/cave/explored/deep) "gs" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/plating{tag = "icon-asteroidplating2"; icon_state = "asteroidplating2"},/area/surface/cave/explored/normal) "gt" = (/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-asteroidplating2"; icon_state = "asteroidplating2"},/area/surface/cave/explored/normal) "gu" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable/heavyduty{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoarcheology/smes) @@ -347,7 +347,7 @@ "gI" = (/turf/simulated/wall,/area/surface/outpost/research/xenoarcheology/analysis) "gJ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoarcheology/analysis) "gK" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoarcheology/emergencystorage) -"gL" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/structure/ore_box,/turf/simulated/floor/tiled{tag = "icon-asteroidfloor"; icon_state = "asteroidfloor"},/area/surface/outpost/mining_main/cave) +"gL" = (/turf/simulated/floor/water{outdoors = 0},/area/surface/cave/explored/normal) "gM" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating{tag = "icon-asteroidplating2"; icon_state = "asteroidplating2"},/area/surface/cave/explored/normal) "gN" = (/obj/structure/cable,/obj/machinery/power/port_gen/pacman,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoarcheology/smes) "gO" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoarcheology/smes) @@ -419,263 +419,282 @@ "ic" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/glasses/science,/obj/item/device/suit_cooling_unit,/obj/item/weapon/extinguisher,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoarcheology/emergencystorage) "id" = (/obj/structure/cable/ender{icon_state = "1-2"; id = "surface_cave"},/turf/simulated/floor/plating{tag = "icon-asteroidplating2"; icon_state = "asteroidplating2"},/area/surface/cave/explored/normal) "ie" = (/turf/simulated/wall/dungeon,/area/surface/cave/unexplored/normal) -"if" = (/obj/effect/step_trigger/teleporter/mine/from_mining,/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/space) +"if" = (/obj/item/stack/flag/green,/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/surface/cave/explored/normal) +"ig" = (/obj/item/stack/flag/red{amount = 1},/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/surface/cave/explored/normal) +"ii" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/obj/machinery/floodlight,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"il" = (/obj/structure/table/steel,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (NORTH)"; icon_state = "warning_dust"; dir = 1},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"im" = (/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"in" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (WEST)"; icon_state = "warning_dust"; dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"io" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"ip" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (WEST)"; icon_state = "warning_dust"; dir = 8},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iq" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"ir" = (/obj/machinery/mining/brace,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"is" = (/obj/machinery/mining/drill,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"it" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iu" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iv" = (/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (WEST)"; icon_state = "warning_dust"; dir = 8},/obj/machinery/light/small,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iw" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/heavyduty{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"ix" = (/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iy" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{tag = "icon-warning_dust (EAST)"; icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iz" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/structure/ore_box,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/cave) +"iA" = (/obj/effect/step_trigger/teleporter/mine/from_mining,/turf/simulated/mineral/floor/ignore_mapgen/sif,/area/surface/cave/explored/normal) +"iB" = (/obj/effect/step_trigger/teleporter/mine/from_mining,/turf/simulated/floor/water{outdoors = 0},/area/surface/cave/explored/normal) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacababacacacabababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacabacabababababababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacababababacacacacacacacacacacacacabababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacababababababababacacacacacacacacacacacabababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacababababababababababababacacacacacacacacacacababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababacacacacacacacacacabababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacababababababababababababababababacacacacacacacacacacacababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababacacacacacacababacacacabababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababababacacacacacacacababacacacacababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacabababababababababababababababababababacacacacacacacacabababacacacacababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababacacacabababababababababababababababababacacacacacabacacacababababacacacacacacababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacababababababababacacababababababababababababababababacacacacababacacacabababababacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacababababababababababababacacababababababababababababababacacacacacababacacacababababababababacacacacacacacababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababababababababababababacacacacabababacacacababababababababababacacacacacacacabababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacababababababababababababababababababababababababababababababacacacacacabababacacacababababababababababababacacacacacacacacababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababacacacacacabababacacacabababababababababababababababacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacababababababababababababababababababababababababababababababababacacacacababababacacacabababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababacacacacabababacacacacababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababacacacacabababacacacacabababababababababababababababababababababacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacabababababababababababababababababacacabacacababababacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacababababababababababababababababababacacacacababababababababacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacabababababababababababababababababababacacacababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacababababababababababababababababababacacacacacababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababacacacabababababababababababababababababababacacacacabacabababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacacacabababababababababababababababababababacacacababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacacababababababababababababababababababababacacacabababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacacababababababababababababababababababababacacababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababacacabababababababababababababababababababacacacababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababacacabababababababababababababababababababacacabababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabacacababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacabababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabacacabababababababababababababababababababababababababababababababababababababababababababababababababababaa -aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabacacababababababababababababababababababababababababababababababababababababababababababababababababababaa -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeafafafaeaeaeafafafaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeafafaeaeafafaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeafagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeafafaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeafafafafaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeafafafafaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeafafafaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeafafafaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeafafafafafafafafafafafafafafaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafagagagagafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeahaiaiajajaiahafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeafafafafafahakaiajalakahafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeafafafafafafahamanaoamamahafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeapaqapapapaqarapasatauavawaxavavaxayayayayayafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeapapazaAaBaCaDaEapaFaGaHavaIaJaKaLaMaNaOaPaQayayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeapaRaSaTaUaTaVaWapanaXamavaYaZbabbbcbdbebfbgbhayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeapbiaTbjbkblaTbmbnbobpbqbrbsbtbubububvbwbxbybzayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeapbAaTbBbCbDbEbFbGbHbIbJbKbLbMbNbObNaNbPbQbRbSayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeapbTbUbVbWbXbYbZcacbcccdavcebMcfcgchaNayayayayayafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeapapapapapapapapapcicjckavclcmcncncocpcqcrcsctcuafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaecvcwcxcyczcwcvafafafaecAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcuafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaecXcYcYcYcYcYcZafafafaecAdadbdccEdddedfandgdhdiaxdjdkdkdldmdndodpdqdrcuafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedscYcYcYcYcYdtafafaeaecAdudvdwdxdydzdAamandBandCdDdEdFdGdHdIcucucucucudJafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedscYcYcYcYcYdtafafafaecAdKdLdMdNdOdPdQcIdRdSdTaxdUdVdWdXdYdZeaebecedeedJafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedsefegefcYehdtafafafeicAdNdNcAejekelemeneodSdTbKepbNbNeqereseteueveweedJafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedscYcYcYcYexdtafafafeyanezeAaneBeBeCeDeEeFdSdTaxeGeHeIeJeKeLeMeNeOePeedJafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedsefegefcYexdtafafafeyeQeReSeTeUeVeWeXeYeZfafbfcfdfefffgfhfifjfjfjfjfjdJafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedscYcYcYcYexdtafafafeyamfkflamfmfnfofpfqfrfsftaxfudkdkfvfwfxfyfzfAfBfCafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedsefegefcYcYdtafafafeifDfDfDfDfEfFfGfHfDfIfJfKfLfMfNfOfPfQesfRfSfTfUfCafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaedscYcYcYcYcYdtafafafaffDfVfWfXfYfZgagbgcgdgegdavgfggghgibNgjgkglgmgnfCafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegocYcYgpgqgqgrgsgtgtgtgugvgwgwgxgygzgAgdgBgCgDgEgFgGgFgFgHgIgJgKgKgKgKafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaecvgLgLcvgLgLcvgMafafaffDgNgwgOgPgQgRgSgdgTgUgVgdgWgXgYgZhahbhchdhehfgKaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafaffDhggwgOhhhihjhkgdhlhmhngdhohphqhrhshthuhvhwhxgKaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafaffDhygwhzhAhBhChDgdhEhFhGgdhHhIhJhKhLhMhLhdhNhOgKaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafaffDfDhPhQhRhShThUfDgEgEgEgJhVhWhXhYhZiaibhdicgKgKaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafafaefDfDfDfDfDfDfDfDaeaeaegJgJgFgJgJgFgJgJgKgKgKaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeidafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaead -adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadieifififadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxcwcwcwcxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyczczczaaaaaaaaaaaaaaaaaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcxcXcZcYcxababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcxcZcZcZcxababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsacabababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababefdtegdtefabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacdsdsdsacacababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacehcZcZcZexacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsacacababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacaccZcZcZacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsabacababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacgoabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababgoacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsacacababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsacacababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsacabababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacabababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacabababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsabababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacababababababababababababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsabababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsabababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababgoacacacgoababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabacacacacababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababacacacacabababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababacacacacabababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababacacacacababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacababababacacacacababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababgoacacgoabacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacababgoacacacabababababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacgoabababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacacacacacacacacacacacabacabababababababababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacababababacacacacacacacacacacacacabababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacababababababababacacacacacacacacacacacabababababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacababababababababababababacacacacacacacacacacababababababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababacacacacacacacacacabababababababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacababababababababababababababababacacacacacacacacacacacababababababababababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababacacacacacacababacacacabababababababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababababacacacacacacacababacacacacababababababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacacabababababababababababababababababababacacacacgoacacacabababacacacacababababababababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababacacacabababababababababababababababababacacacacacabacacacababababacacacacacacababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacababababababababacacababababababababababababababababacacacacababacacacabababababacacacacacacacababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacababababababababababababacacababababababababababababababacacacacacababacacacababababababababacacacacacacacababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababababababababababababacacacacabababacacacababababababababababacacacacacacacabacgoababababacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacababababababababababababababababababababababababababababababacacacacacabababacacacababababababababababababacacacacacacacacababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababacacacacacabababacacacabababababababababababababababacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacacababababababababababababababababababababababababababababababababacacacacababababacacacabababababababababababababababababacacgoacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababacacacacabababacacacacababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababacacacacabababacacacacabababababababababababababababababababababacacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacabababababababababababababababababacacabacacababababacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacababababababababababababababababababacacacacababababababababacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacabababababababababababababababababababacacacababababababababababababacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababacacacacabababacacacacacababababababababababababababababababacacacacacababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababacacacabababababababababababababababababababacacacacabacabababababababababababababababababacacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacacacabababababababababababababababababababacacacababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacacababababababababababababababababababababacacacabababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsabacababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacacababababababababababababababababababababacacababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsacacababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababacacabababababababababababababababababababacacacababababababababababababababababababababababababababababababababacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsacabababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacababacacabababababababababababababababababababacacabababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacabacacababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacababababababababababababababababababacacacabababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacababababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacabacacabababababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacgoacacabababababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacabababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacacababababababababababababababacacacababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacabababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacacababababababababababababababacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabacacababababababababababababababababababababababababababababababababababababababababdsdsdsababababababababaa +aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacacacacababababababababababababababacacababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacacabacacabababababababababababababababababababababababababababababababababababababacgrdsdsdsababababababababaa +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafigaeaeaeaeaeaeaeaeaeaeafafafafafigaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeigafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeafafafaeaeaeafafafaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeafafaeaeafafaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeafagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeafafaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafifaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeifafafafafaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeafafafafaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeafafafafaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafifaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafgLgLgLafaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeafafafaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafgLgLgLafafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafifaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafgLgLgLafafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeafafaeaeafgLgLgLafafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeafafafaeaeafafafafafaeaeaeaegLgLgLafafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeafafaeaeaeaeaegLgLgLafaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeafafafaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafifaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLafaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLafaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafifaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafifaeaeaeafafafafafafafafafafafafafafaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeifafifaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeafifaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafifaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeafifafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafifaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeahaiaiajajaiahafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeafafafafafahakaiajalakahafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeafafafafafafahamanaoamamahafafafafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLafaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeaeaeapaqapapapaqarapasatauavawaxavavaxayayayayayafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLafaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeapapazaAaBaCaDaEapaFaGaHavaIaJaKaLaMaNaOaPaQayayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLafafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeapaRaSaTaUaTaVaWapanaXamavaYaZbabbbcbdbebfbgbhayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLafafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafaeapbiaTbjbkblaTbmbnbobpbqbrbsbtbubububvbwbxbybzayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeafaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeapbAaTbBbCbDbEbFbGbHbIbJbKbLbMbNbObNaNbPbQbRbSayafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeapbTbUbVbWbXbYbZcacbcccdavcebMcfcgchaNayayayayayafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafaeapapapapapapapapapcicjckavclcmcncncocpcqcrcsctcuafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaecviigqgpiliicvafafafaecAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcuafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeinimimimimimioafafafaecAdadbdccEdddedfandgdhdiaxdjdkdkdldmdndodpdqdrcuafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipimimimimimiqafafaeaecAdudvdwdxdydzdAamandBandCdDdEdFdGdHdIcucucucucudJafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipimimimimimiqafafafaecAdKdLdMdNdOdPdQcIdRdSdTaxdUdVdWdXdYdZeaebecedeedJafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipirisirimitiqafafafeicAdNdNcAejekelemeneodSdTbKepbNbNeqereseteueveweedJafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipimimimimiuiqafafafeyanezeAaneBeBeCeDeEeFdSdTaxeGeHeIeJeKeLeMeNeOePeedJafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipirisirimiuiqafafafeyeQeReSeTeUeVeWeXeYeZfafbfcfdfefffgfhfifjfjfjfjfjdJafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipimimimimiuiqafafafeyamfkflamfmfnfofpfqfrfsftaxfudkdkfvfwfxfyfzfAfBfCafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipirisirimimiqafafafeifDfDfDfDfEfFfGfHfDfIfJfKfLfMfNfOfPfQesfRfSfTfUfCafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeipimimimimimiqafafafaffDfVfWfXfYfZgagbgcgdgegdavgfggghgibNgjgkglgmgnfCafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeivimimiwixixiygsgtgtgtgugvgwgwgxgygzgAgdgBgCgDgEgFgGgFgFgHgIgJgKgKgKgKafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaecvizizcvizizcvgMafafaffDgNgwgOgPgQgRgSgdgTgUgVgdgWgXgYgZhahbhchdhehfgKaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafaffDhggwgOhhhihjhkgdhlhmhngdhohphqhrhshthuhvhwhxgKaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafaffDhygwhzhAhBhChDgdhEhFhGgdhHhIhJhKhLhMhLhdhNhOgKaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafaffDfDhPhQhRhShThUfDgEgEgEgJhVhWhXhYhZiaibhdicgKgKaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafgLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafafaefDfDfDfDfDfDfDfDaeaeaegJgJgFgJgJgFgJgJgKgKgKaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegMafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeidafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgLaeaeaeaeaeaeaeaead +adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadieiAiAiAadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadiBiBiBadadadadadadadadad "} diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm index 3a39d6b82f8..fdd9527ea94 100644 --- a/maps/southern_cross/southern_cross-6.dmm +++ b/maps/southern_cross/southern_cross-6.dmm @@ -577,7 +577,7 @@ "le" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/main_hall) "lf" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "lg" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; dir = 8; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/command) -"lh" = (/turf/simulated/shuttle/wall/no_join{icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/centcom/evac) +"lh" = (/turf/simulated/shuttle/wall/hard_corner,/area/centcom/evac) "li" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "lj" = (/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) "lk" = (/obj/machinery/igniter,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) @@ -1813,7 +1813,7 @@ "IS" = (/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) "IT" = (/obj/item/weapon/ore,/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station) "IU" = (/obj/structure/table/rack,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava/tactical,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) -"IV" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) +"IV" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/pinpointer/shuttle/merc,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "IW" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "IX" = (/obj/structure/table/rack,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "IY" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership/elite_squad) @@ -1921,7 +1921,7 @@ "KW" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "KX" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "KY" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/skipjack_station) -"KZ" = (/obj/item/weapon/storage/box/vox,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station) +"KZ" = (/obj/item/weapon/storage/box,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station) "La" = (/obj/item/clothing/mask/gas/swat{desc = "A close-fitting mask clearly not made for a human face."; name = "\improper alien mask"},/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station) "Lb" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Lc" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) @@ -2084,7 +2084,7 @@ "Od" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Oe" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/material/minihoe,/obj/item/weapon/beartrap,/obj/structure/table/steel,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Of" = (/obj/machinery/vending/hydroseeds,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"Og" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor/skipjack,/area/skipjack_station/start) +"Og" = (/obj/structure/table/rack,/obj/item/weapon/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/weapon/tank/oxygen,/obj/item/weapon/pinpointer/shuttle/heist,/obj/item/weapon/pinpointer/shuttle/heist,/turf/simulated/shuttle/floor/skipjack,/area/skipjack_station/start) "Oh" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Oi" = (/obj/machinery/washing_machine,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Oj" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2107,6 +2107,7 @@ "OA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OC" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/floor/skipjack,/area/skipjack_station/start) +"OD" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start) "OE" = (/obj/item/robot_parts/head,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "OG" = (/obj/structure/flight_right{tag = "icon-right (WEST)"; icon_state = "right"; dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) @@ -2190,7 +2191,7 @@ "Qg" = (/obj/machinery/atmospherics/portables_connector{tag = "icon-map_connector (EAST)"; icon_state = "map_connector"; dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qh" = (/obj/structure/table/steel,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/obj/machinery/atmospherics/pipe/manifold/visible,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qi" = (/obj/machinery/atmospherics/unary/freezer{tag = "icon-freezer_0 (WEST)"; icon_state = "freezer_0"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) -"Qj" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start) +"Qj" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/centcom/evac) "Qk" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs/legcuffs,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) "Ql" = (/obj/structure/table/standard,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) "Qm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) @@ -2334,21 +2335,21 @@ aaaaaaaaaaaaaaaajgjojojojojPjojojQjQjQjQjQjojgjojojojojgaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgjgjgjgkikikikikikijgjgjgjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPmtjqjqjqjqjqjqjqmuqsmvjSjSjSmwmMmLjSmNmUqskjkjlekIkIkIjeaaaaaaaaaaaaiWjsjUjVjWjXjsiTiViViVjkjYjZjZjujujjaaaaiXjajdjmjmjmjmkajdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkbkckckckciYkdkekfkekekekgkekdiYkckckckckhiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPmVmXmWninhnjmtjqnCqsnDjSjSjSjSjSjSjSjSnEqskjkjjekIkIkIjeaaaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjujujujujujjaaaaiXjajdjmjmjmjmjmjLjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkkklklklklkmkeknkokpknkqkoknkekmklklklklkriYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPpPqslZqsqsnDjSjSnRnQocobodjSoeqskjkjjekIkIkIjejeaaaaaaaaaaiWjsjUjVjVjXjskyiViViVkzjukAjujukBjjaaaaiXjajdjmjmkCkCkCkDjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkEklklklkliYkeknkokpknkqkoknkeiYkFklklklkGiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPokpRolpPpPjSjSjSjSjSjSjSjSomqskjkjlekIkIkIonjeaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjujujujujujjaaaaiXjajdjljmjmjmjnjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYiYiYiYiYiYiYkeknkokpknkqkoknkeiYiYiYiYiYiYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPokpRolpPpPjSjSjSjSjSjSjSjSomqskjkjlekIkIkIonjeaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjujujujujujjaaaaiXjajdjljmjmjmjnjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalhiYiYiYiYiYiYkeknkokpknkqkoknkeiYiYiYiYiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPozpRoloApPqsoBpPjSoMoLpsprpPpPkjkjlekIkIkIpGjeaaaaaaaaaaiWjsjUjVkJjXjsiTiViViVjkjZjZjZjujujjaaaaiXjajdkKjmjmjmkKjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMiYkeknkokpknkqkoknkeiYkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpRpRolpIpHpJjqpKjSjSjSjSpLpMqskjkjlekIkIkIonjeaaaaaaaaaaiWjskOkPkPkQjsiTiViViVjkjZkRjujujujjaaaaiXjajdjdkSkSkSjdjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMkTkUknknknknknknknkVkWkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgjglajgjgjgjgjglblblblblblbjgjgjgjgjglcjgjgaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPpNpRolpQpOqqqpqDqrqFqEqOqNqPqskjkjlekIkIkIjejeaaaaaaaaaaiWjsjsjsjsjsjsiWiViViVjjjujujujujujjaaaaiXjajakXkYkYkYkZjajaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMiYkekekekeknkekekekeiYkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgliljljljjglklllllllllllllllllkjglmlmlmlnjgaaaaaaaaaaaaaaaaaaaaaaaaaapPqQsRsRsRqRozpRolpIqSpJjqqTmtqTmtqTmtqTpPlelejekIkIkIjejejejejejejejeiWiWiWiTiTiTiWlfiTlfiWiWiWiWiWiWiWiWiWiWlglglglglglglglglglglglglgiWaaaaaaaaaaaaaaaaaalhiYiYiYiYiYiYiYiYiYiYiYiYiYkeknkeiYiYiYiYiYiYiYiYiYiYiYiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgliljljljjglklllllllllllllllllkjglmlmlmlnjgaaaaaaaaaaaaaaaaaaaaaaaaaapPqQsRsRsRqRozpRolpIqSpJjqqTmtqTmtqTmtqTpPlelejekIkIkIjejejejejejejejeiWiWiWiTiTiTiWlfiTlfiWiWiWiWiWiWiWiWiWiWlglglglglglglglglglglglglgiWaaaaaaaaaaaaaaaaaaQjiYiYiYiYiYiYiYiYiYiYiYiYiYkeknkeiYiYiYiYiYiYiYiYiYiYiYiYiYQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgliljljlElFlllllllllllllllllllllFlGlmlmlHjgaaaaaaaaaaaaaaaaaaaaaaaaaapPqUsRqVsRrcozpRoljqqpjqqpjqqpjqqpjqqpjqrdkIkIkIkIkIkIjekIkIkIkIkIkIkIiWiWiWiViViViViViViViViViViViWiWiWiViViSlrlslsltltltlslslslslslsluiWaaaaaaaaaaaaaaaaaakLlvkllvlwlxlylzlAlBlAlAlAiYlBlClBiYkllDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgliljlTlElFlllllllllllllllllllllFlGlUlmlVjgaaaaaaaaaaaaaaaaaaaaaaaaaapPtLsRresRrcozpRolqpjqqpjqqpjqqpjqqpjqqpqskIkIkIkIkIkIjekIkIkIkIkIkIkIiWiWlJiViViViViViViViViViViVlJiWiWiViViTlKlLlMlMlNlMlOlPlslQlRlslsiWaaaaaaaaaaaaaaaaaakLklklkllBlSlSlSlSlBlSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgmqljljlElFlllllllllllllllllllllFlGlmlmmrjgaaaaaaaaaaaaaaaaaaaaaaaaaapPrfsRsRsIrcozpRoljqqpjqqpjqpIrhrgqqqpjqrdkIkIkIkIkIkIjekIkIkIkIkIkIkIiTiViViViVmcmdmemfmgmdmhiViViViViWiViVmimjmkmkmkmkmkmkmkmlmkmmmnltiWaaaaaaaaaaaaaaaaaakLlvklklmolSlSlSlSmplSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgmIljlTlElFlllllllllllllllllllllFlGlUlmmJjgjejejejejejejeaaaajejerijepPrjsRrcrcqRozpRoloArkrmrlqppQrornpJjqqppPlelejekIkIkIjekIkIkIkIkIkIkIiTiViViVmxmdmdmymdmymdmdmziViViViWiViViTlrmAmBmBmCmBmDmElsmFmGlslsiWaaaaaaaaaaaaaaaaaakLklklkllBmHlSlSmHlBlSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqKqLqBqMqMqBqLqKqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgmTljljlElFlllllllllllllllllllllFlGlmlmlmjgkIkIkIkIkIkIjejejejejhjhjhpPpPpRozozozpRpRpRrprprprppPpPpPpPpPrqpPpPkjkjjekIkIkIjekIkIkIkIkIkIkIiTiViVmcmdmdmdmOmPmOmdmdmdmhiViViWiVmQiWlKlslsltltltlslslslslslsluiWaaaaaaaaaaaaaaaaaakLlvkllvlwmRlSlSmSlBlAlAlAiYkeknkeiYkllDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBrararbqMqMrbraraqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgnbljncljndllllllnenflllllllllllFlmlmlmlmngkIkIkIkIkIkIjerrlerGkIkIkIkIrHpRpRpRpRpRpRpRrIrIrIrIpPjTjTjTjTjTrJpPkjkjjekIkIkIjejejejejejemYjeiWiViVmdmdmdmOmZmZmZmOmdmdmdiViViWiViViWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiTiSlhiYiYiYlBiYiYmpmpiYiYiYlBiYiYkeknkeiYiYlBiYiYiYnanaiYiYlBiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqMqMqBqBqBqBrCqMrDrEqMrFqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgnbljncljndllllllnenflllllllllllFlmlmlmlmngkIkIkIkIkIkIjerrlerGkIkIkIkIrHpRpRpRpRpRpRpRrIrIrIrIpPjTjTjTjTjTrJpPkjkjjekIkIkIjejejejejejemYjeiWiViVmdmdmdmOmZmZmZmOmdmdmdiViViWiViViWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiTiSQjlhiYiYlBiYiYmpmpiYiYiYlBiYiYkeknkeiYiYlBiYiYiYnanaiYiYlBiYlhQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqMqMqBqBqBqBrCqMrDrEqMrFqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgljljnvnwnxnynynynznAnBlllllllllFlmlmlmlmjgkIkIkIkIkIkIrRrrrSrGkIkIkIkIqspRpRpRpRpRqGpRrIrIrIrIpPrTpPrUpPjTjTpPkjkjjekIkIkIkIlekIkIjekIkIkIlfiViVnknlmOmZnmnnnonpmOnqnriViVlfiViViViViViViViViViViViViViViViViViViViVjiiTiViViTiYnsknlBkekekekekekekekekdlBkekeknkekelBkdkekekentkekekekenulBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqKqLqBqMqMqBqLqKqBrLqMqMqMrMrNqBrOrPrOrPrOrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgnNljljnOndllllllnPnflllllllllllFlmlmlmlmngkIkIkIkIkIkIjerrlerGkIkIkIkIrHpRrWrVserWsrsfssrIrIrIpPsGpPsHpPsOpPpPkjkjlekIkIkIkInFkIkInGkIkIkIiTiViVnHmdmOnIiWnJiWnKmOmdnLiViViTiViViViViViViViViViViViViViViViViViViViVjiiUiViViUnMnsknnMknknknknknknknknknlCknknknknknlCknknknknknknknknknnulBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBrararbqMqMrbraraqBsbqMqMqMqMscqBsdrPsdrPsdrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgoaljljlElFlllllllllllllllllllllFlGlmlmlmjgkIkIkIkIkIkIjejejejekIkIkIjepPpPqsqsqsqssPpPqsqsqsqspPpPpPpPpPpPpPkjkjkjlekIkIkIkIlekIkIjekIkIkIlfiViVnSnlmOnTnUnVnWmZmOnqnXiViVlfiViViViViViVnYiViViViViViViViViViViViViVjiiWiViViWiYnsknlBkekekekekekekekekdlBkekeknkekelBkdkekekenZkekekekenulBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqBqBqBqMqMqBqBqBqBspspsqqMspspqBrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgojljlTlElFlllllllllllllllllllllFlGlUlmmJjglelelelejejejekjkjlekIkIkIjekjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjlekIkIkIjejelelejelemsleiWiViVmdmdmdmOofmOogmOmdmdmdiViViWiWiWiWiWiWiWiWohohiWiWiWiWiWiWiWiWiWiWiWiWiWiWiTiSlhiYiYiYlBiYiYlwlwiYiYiYlwiYiYkeknkeiYiYlBiYiYiYoioiiYiYlBiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBszsAszqBsBsBqMqMsCsDsEqBqMqMqMqMqMqMqBsFrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgojljlTlElFlllllllllllllllllllllFlGlUlmmJjglelelelejejejekjkjlekIkIkIjekjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjlekIkIkIjejelelejelemsleiWiViVmdmdmdmOofmOogmOmdmdmdiViViWiWiWiWiWiWiWiWohohiWiWiWiWiWiWiWiWiWiWiWiWiWiWiTiSQjlhiYiYlBiYiYlwlwiYiYiYlwiYiYkeknkeiYiYlBiYiYiYoioiiYiYlBiYlhQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBszsAszqBsBsBqMqMsCsDsEqBqMqMqMqMqMqMqBsFrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgoyljljlElFlllllllllllllllllllllFlGlmlmmrjgkjkjkjkjkjkjkjkjjesQkIkIkIsSjekjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjjejekIkIkIleoooplolololooqiTiViVormdmdmdmOmOmOmdmdmdosiViViWlulululululululululululululululululululululuiWaaaaaakLotototototototiYouovlwowiYkeknkeiYoxoxoxoxoxoxoxoxoxoxoxklkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBsMsMsMqBqMrPrPrPrPrPqMqMqMrPrPrPrPqMsNrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgoJljlTlElFlllllllllllllllllllllFlGlUlmoKjglelelelejelelelejejhkIkIkIjhjejejejejelelelelelelelelelelelelejelelelejejhkIkIkIlemKsTlolololooCiTiViViVoDmdmdoEmdoEmdmdoFiViViViWlulululululululululululululululululululululuiWaaaaaakLotototototototiYoGoHlwoIiYkeknkeiYoxoxoxoxoxoxoxoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtasMsMtbqMtctctctctcqMqMqMrPtdtdrPqMsNrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgoTljljlElFlllllllllllllllllllllFlGlmlmmJjgkIkIkIkIkIkIkIkIsUkIkIjhkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkInGkIkIkIkIjesVlololololooNiTiViViViVormdoOoPoQmdosiViViViViWlululululuoRoRoRoRoRoSoSoRoRoRoRoRlululululuiWaaaaaakLotototototototiYknknknkniYkeknkeiYoxoxoxoxoxoxoxoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtasMsMqBqMrPrPrPrPrPqMqMqMrPrPrPrPtrqBsdrPrOrPsdrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2357,7 +2358,7 @@ aaaaaaaaaaaaaajgjglajgjgjgjgjglblblblblblbjgjgjgjgjgjgjgjgkIkIkIkIkIkIkIkIsUkIkI aaaaaaaaaaaaaaaajgjojojgpCktpDpDpDpEpEpDpDpDkwpFjgaaaaaajelelelejejelelelejejhkIkIkIjhjelelelejejelelelesUlelelejejelelejelelelejejhkIkIkIjejejejejejejejeiWiWiWiWiWiWiWlfiTlfiWiWiWiWiWiWiWluluoRoRoRptpupvpwoRpxpnpypnpnpnpnpzpAoRluluiWaaaaaakLotototototototiYlwlwpBlwiYkeknkeiYlwlwlwlwlwlwlwlwlwlwlwlwlwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBaaaaaaaaaaaaaaaaaaqBqMtZqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgpCktpDpDpDpEpEpDpDpDkwpFjgaaaaaajekIkIkItejekjkjkjjejetftftfjejekjkjkjjekIkIkIkIkIkIkIkItgjekjkjkjkjkjkjjejekIkIkIjejeaaaaaaaaaaaaaaaapXpSpTpUpVpWpWpWpXpYpZqapZpYiWluluqbqcqdpnqeqeqeoRpnpnoRqfqgqhqiqjqkoRluluiWaaaaaakLotototototototiYqlqmqmqniYkeknkeqoknknknknknknknknknknknknlwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqMqMqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgpCktpDpEpEqCqCpEpEpDkwpFjgaaaaaajekIkIkIkIjekjkjkjkjjekIkIkIjekjkjkjkjjethtitikIkIkIkIkItgjekjkjkjkjkjkjkjlekIkIkIjeaaaaaaaaaaaaaaaaaapXqtquqvpXpWpWpWqwpYpZqxpZpYiWluluqyqcpnpnpnpnpnpypnpnoRoRoRoRoRoRoRoRluluiWaaaaaakLotototototototiYqlqzqmqniYlBlClBiYqAkoqAkoqAkoqAkoqAkoqAkolwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBuQuQqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgpCktpDpEpEqCqCpEpEpDkwpFjgaaaaaajejejekIkIlekjkjkjkjlekIkIkIlekjkjkjkjlekIkIkIkIkIkIkIkItjjelelejejejejejejejejejejeaaaaaaaaaaaaaaaaaapXpXpXpXpXpWpWpWqwpYpYpYpYpYiWluluoRoRpnpnpnqHpnoRpnpnpnqIqJlululululululuiWaaaaaalhiYiYiYiYiYiYiYiYiYiYlwiYiYkeknkeiYiYiYiYiYiYiYiYiYiYiYiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauXuYuYuXaaaaaaaauZuZuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgpCktpDpEpEqCqCpEpEpDkwpFjgaaaaaajejejekIkIlekjkjkjkjlekIkIkIlekjkjkjkjlekIkIkIkIkIkIkIkItjjelelejejejejejejejejejejeaaaaaaaaaaaaaaaaaapXpXpXpXpXpWpWpWqwpYpYpYpYpYiWluluoRoRpnpnpnqHpnoRpnpnpnqIqJlululululululuiWaaaaaaQjiYiYiYiYiYiYiYiYiYiYlwiYiYkeknkeiYiYiYiYiYiYiYiYiYiYiYiYiYQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauXuYuYuXaaaaaaaauZuZuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgpCktpDpDpDpEpEpDpDpDkwpFjgaaaaaajelojekIkIlekjkjkjlelekIkIkIlelekjkjkjlekIkItkkIkIkIkIkIjejetstststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpSpTpUpVpWpWpWpYpYpYpYqWpZiWlululuoRoRoRoRoRoRoRpxpnqXpnqJlululululululuiWaaaaaaaaaaaaaakLqYqYqYqYqYiYkdkekekeknkekekekdiYqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZuZuZuZvtvuvvuZaaaaaaaaaauZuZvwvxuZuZaaaauZuZuZuZvyvzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojgjgjgjgkikikikikikijgjgabjgaaaaaajelojelololekjkjkjlekIkIkIkIkIlekjkjkjlekIkIkIkIkIkIkIkIjetststststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXrsquqvpXpWpWpWpYpYpYpYpYpYiWluluoRoRrtrurvrtrwoRpnpnpnrxqJlululululululuiWaaaaaaaaaaaaaakLqYqYqYqYqYryrzknknknknknknknrArBqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuXvEvFuZvGvHvIvJvKuZuZaaaaaauZuZuXuYuYuXuZvtvvuXvLvMuZvyvNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojojojPjojorQrQrQrQrQjojgaaaaaaaaaajejejelololekjkjkjjekIkIkIkIkIjekjkjkjletJkIkIkIkIkIkIkIjetststststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpXpXpXpXpWpWpWqwpYpYpYpYpYiWluluqbqcpnpnpnpnpnpypnpnoRoRoRoRoRoRoRoRluluiWaaaaaaaaaaaaaakLqYqYqYqYqYiYkeknrKrKrKrKrKknkeiYqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawdwewfwfwgwfwfwhwiwjuZuZvtvuvvuZuZwkwfwfwluZwmwnwowfwpuZvyvNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2370,8 +2371,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUuBubuBtUubububububuCufufuDubububububububtUkIkI aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUuaubuatUubububububuCubububububtUububububtUkIkIkIkIkIukvCvUvTvTxzxzytulululululululululyLululuRuStVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiWlulululululululululululululululululululululuiWaaaaaaaaaaaaaaaaiYttqmqmqmtutulBkdkeknkekdlBtvtwtxtytytziYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyzyAwJyBwfwfwfwfyCwfwfwfwJwJyDyEyFyGyHyIyJwJwJwJwJyKwJwJwJwfuZvyvNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUuCubuCtUububvavbvctUubvdubububtUtUtUtUtUtUjezflezfjetVtVukukukuktVtVuIulvevfululululzxtVvgvhulvitVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWaaaaaaaaaaaaaaaalBqmqmqmqmqmqmtSkeknknknketSqmqmqmqmqmqmlBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZyMyNuZyOyPyQyRySwfyTwfwfwJwJwJwJwJwJwJwJwJwfwJwfyUwfyVwJwpuZvywMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUububububububtUuCuCtUugufubububvAvBvBvBvBtUjekIkIkIjetVzyzzzzzzzzzytVulululululzAzBultVtVtVtVtVtVtVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYtWqmqmtXtYqmlBkeknknknkelBqmqmqmqmqmqmiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZyZzauZuZuZuZuZuZuZuXzbwfwfwfwfwXwfwfwfwfuZuZxuwfuXuZzczduZuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUubvOvOvOububuCvPvPuCufufubububvQvBvBvBvBvRkIkIkIkIkIvSululzCzDululvVululvWvXulzEzFultVvYvZwawbwctVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalhuuqmqmtvqmqmiYiYlBuvlBiYiYuwuxqmuyuzuAlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZxewfuZuXzgzhzizjzkwHzlwJwfzmuXuZuZuZwfznuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUubwqwrwsububwtububwtububububwuufvBvBvBvBuClIkIkIkIlIukululzCzDululukulululululxSzGulyLululululultVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalhuJqmqmtXtYqmiYuKuLuMuNuOiYlwlwuPlwlwlwlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZuZuZwfzmwfwfzpuZzqzrzsztyWwVzvwJwJwfzwwfxtwfwfwfuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUubvOvOvOububuCvPvPuCufufubububvQvBvBvBvBvRkIkIkIkIkIvSululzCzDululvVululvWvXulzEzFultVvYvZwawbwctVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQjuuqmqmtvqmqmiYiYlBuvlBiYiYuwuxqmuyuzuAQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZxewfuZuXzgzhzizjzkwHzlwJwfzmuXuZuZuZwfznuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUubwqwrwsububwtububwtububububwuufvBvBvBvBuClIkIkIkIlIukululzCzDululukulululululxSzGulyLululululultVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQjuJqmqmtXtYqmiYuKuLuMuNuOiYlwlwuPlwlwlwQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZuZuZwfzmwfwfzpuZzqzrzsztyWwVzvwJwJwfzwwfxtwfwfwfuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUubvOvOvOububwtububwtubububububwNvBvBvBvBvRkIkIkIkIkIvSululzCzDululvVululvWvXulululzHtVtVtVyLtVtVtVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYuTqmqmqmqmqmiYuMuUuMuUuMiYuVqmqmqmuWlwiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazKzLzMzNuZwfwfwhzOzPuZzQzRzSzezUxkzVwJwJwfzwwfwfwfwfwfuZvyvzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUububububububtUuCuCtUuCuCwZuCuCuCxaxaxavBtUkIkIkIkIkItVzIululululzHtVzIzHzJxzxzxzxzzTtVxbxcxcxcxdtVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYiYvjvkvlvmvniYvovpvqvrvsiYuVqmqmqmuWiYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAlwfwfwfAmwfwfAnAoApuZuZAqArAsuZuZAtAuAvwfuZAwAxAywfwpuZvyvNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUuCubuCtUububububugtUubububububtUtUuCuCuCtUlolololokItVzWululululzXxnzWzXtVukukzYukuktVxoulululxptVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYiYiYiYiYiYiYvDvDvDvDvDiYiYiYiYiYiYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuXADAEuZAFwfAGAHAIuZuZaaaaaauZuZuXAJAKuXuZAqAsuZALAMuZvyvNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2480,13 +2481,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaPkOXOcOcMtPlMtMtMtPmPnPoMtMtMtPpMtPqPrPsPkaaaaaaaaaaaaaaIdIdabIdIdIdaaaaaaaaaaaaPtPuMBPvMpMBMBOnMpOoOpOpOqMpMpMpMpOrMpPwMpMSOrMpMpPxPxMpPyPzPAMpMpaaaaaaaaaaaaaaIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaMtMtPBPCPCMtPDPEPDPFPGPHPIPFPJPKPLMtPMPNPOMtMtaaaaaaaaaaaaIdIdabIdIdaaaaaaaaaaaaaaMpMpPPPQMpMBMBNPMpPRMBMBPRMpPSPTMpMBMpMpMpPUOpPVOpPWPXMpMpMpMpMpaaaaaaaaaaaaaaaaIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaMtMtPYPYMtMtPDPDPDPZPGQaPIPZPLPLQbMtMtPYPYMtMtaaaaaaaaaaaaIdIdabIdIdaaaaaaaaaaaaaaaaMpMpMpMpNyMBMBMpMpMpQcMpMpNZNZQdMBNPMpQeQfOpOpQgQhQiMpMDMEMFaaaaaaaaaaaaaaaaaaaaIdIdabaaaa -aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaMtQjQjMtMtQkQlPDQmQnNtQnQmPLPLQoMtMtQjQjMtaaaaaaaaaaaaaaIdIdabIdaaaaaaaaaaaaaaaaaaaaaaMpMpMpMBMBMBMpNENZMpQpNZNZQqQrQsMpOpOpOpOpQtQuQvMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa +aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaMtODODMtMtQkQlPDQmQnNtQnQmPLPLQoMtMtODODMtaaaaaaaaaaaaaaIdIdabIdaaaaaaaaaaaaaaaaaaaaaaMpMpMpMBMBMBMpNENZMpQpNZNZQqQrQsMpOpOpOpOpQtQuQvMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtPDQwPDMtMtQxMtMtQyPLQzMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpMpMpMpQAQBMpMpMSMpMpQCQDMpQEOpOpOpQFOpQGMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtPDPDQHMtQIQJQKMtPLPLQLMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpMpMpaaaaaaMpMpMpMpQMQNOpQOQPQQQRMpQSMENGaaaaaaaaaaaaaaaaaaBrBrIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtMtQTPDMtQUQJQVMtQWQXMtMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpQYQZRaMpMpMpMpMpMpMpaaaaaaaaaaaaaaaaBrBraaIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtMtMtMtMtRbRcRdMtMtMtMtMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdBrBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBrBraaaaIdOxaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaaaaaMtMtPYPYPYPYPYMtMtaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaBrBraaaaIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBrBraaaaaaaaONaaaa -aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaIdIdIdaaaaaaaaaaaaaaaaaaMtQjQjQjQjQjMtaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaaaBrBrIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdaaaaaaaaaaONaaaa +aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaIdIdIdaaaaaaaaaaaaaaaaaaMtODODODODODMtaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaaaBrBrIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdaaaaaaaaaaONaaaa aaaaabababababababReabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdaaaaaaaaONaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaONaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdabIdaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdIdaaaaaaaaaaONaaaa diff --git a/maps/southern_cross/southern_cross-7.dmm b/maps/southern_cross/southern_cross-7.dmm index 3fcdacecb5e..3c39d63acf7 100644 --- a/maps/southern_cross/southern_cross-7.dmm +++ b/maps/southern_cross/southern_cross-7.dmm @@ -1,12 +1,12 @@ "aa" = (/turf/space,/area/space) -"ab" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north,/area/space) +"ab" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/north,/area/space) "ac" = (/turf/space/transit/north,/area/space) "ad" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space) "ae" = (/turf/space/transit/north,/area/shuttle/escape_pod1/transit) "af" = (/turf/space/transit/north,/area/shuttle/escape_pod2/transit) -"ag" = (/turf/space,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north,/area/space) -"ah" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east,/area/space) -"ai" = (/turf/space,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east,/area/space) +"ag" = (/turf/space,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/north,/area/space) +"ah" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/east,/area/space) +"ai" = (/turf/space,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/east,/area/space) "aj" = (/turf/space/transit/east,/area/space) "ak" = (/turf/space/transit/north,/area/shuttle/escape/transit) "al" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east,/area/space) @@ -14,8 +14,8 @@ "an" = (/turf/space/transit/east,/area/shuttle/escape_pod5/transit) "ao" = (/turf/unsimulated/wall,/area/space) "ap" = (/turf/unsimulated/wall/planetary/sif/alt,/area/space) -"aq" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/moving/east,/area/space) -"ar" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/east,/area/space) +"aq" = (/obj/effect/step_trigger/teleporter/landmark{landmark_id = "fall_sif"},/turf/simulated/sky/moving/east,/area/space) +"ar" = (/obj/effect/step_trigger/teleporter/landmark{landmark_id = "fall_sif"},/turf/simulated/sky/east,/area/space) "as" = (/turf/simulated/sky/moving/east,/area/space) "at" = (/turf/simulated/sky/east,/area/space) "au" = (/turf/space/transit/east,/area/shuttle/escape_pod4/transit) @@ -28,7 +28,7 @@ "aB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/simulated/sky/east,/area/space) "aC" = (/turf/space/transit/east,/area/shuttle/escape_pod7/transit) "aD" = (/turf/space/transit/east,/area/shuttle/escape_pod8/transit) -"aE" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"aE" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space,/area/space) "aF" = (/turf/simulated/shuttle/wall,/area/shuttle/arrival/pre_game) "aG" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "arrivals_shuttle"; pixel_x = 0; pixel_y = 25; req_one_access = list(13); tag_door = "arrivals_shuttle_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/shuttle/arrival/pre_game) "aH" = (/obj/structure/showcase{desc = "So that's how the shuttle moves on its own."; icon = 'icons/mob/AI.dmi'; icon_state = "ai-red"; name = "Arrivals Announcement Computer"},/turf/simulated/shuttle/floor{tag = "icon-floor_red"; icon_state = "floor_red"},/area/shuttle/arrival/pre_game) @@ -80,18 +80,15 @@ "bB" = (/turf/space/transit/east,/area/shuttle/large_escape_pod2/transit) "bC" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/arrival/pre_game) "bD" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/arrival/pre_game) -"bE" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/moving/north,/area/space) -"bF" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/north,/area/space) "bG" = (/turf/simulated/sky/moving/north,/area/space) "bH" = (/turf/simulated/sky/north,/area/space) "bI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/simulated/sky/moving/north,/area/space) "bJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/simulated/sky/north,/area/space) "bK" = (/turf/simulated/sky/moving/north,/area/skipjack_station/sky_transit) "bL" = (/turf/simulated/sky/north,/area/skipjack_station/sky) -"bM" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/moving/west,/area/space) -"bN" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/west,/area/space) -"bO" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/moving/south,/area/space) -"bP" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/sky/south,/area/space) +"bM" = (/obj/effect/step_trigger/teleporter/landmark{landmark_id = "fall_sif"},/turf/simulated/sky/moving/west,/area/space) +"bN" = (/obj/effect/step_trigger/teleporter/landmark{landmark_id = "fall_sif"},/turf/simulated/sky/west,/area/space) +"bO" = (/turf/space/transit/north,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/south,/area/space) "bQ" = (/turf/simulated/sky/moving/west,/area/space) "bR" = (/turf/simulated/sky/west,/area/space) "bS" = (/turf/simulated/sky/moving/south,/area/space) @@ -123,7 +120,6 @@ "cs" = (/turf/simulated/sky/moving/north,/area/shuttle/shuttle2/sky_transit) "ct" = (/turf/simulated/sky/moving/south,/area/shuttle/shuttle1/sky_transit) "cu" = (/turf/simulated/sky/south,/area/shuttle/shuttle1/sky) -"cv" = (/turf/space/transit/north,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/south,/area/space) "cw" = (/turf/space/transit/north,/turf/space/transit/south,/area/space) "cx" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/north,/area/space) "cy" = (/turf/space/transit/north,/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/south,/area/space) @@ -229,42 +225,42 @@ ahajajajajajajalboboboboboboboalajajajajajajahajajajalalalalalalalalalalalalalaj ahajajajajajajalboboboboboboboalajajajajajajahajajalalbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabaFbCaFbDbDbDaFbCaFabacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalalalalalalalalalajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabababaFbCbCbCaFabababacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacabababababababacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEapbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajalalbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajajalalalalalalalalalalalalalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahahahahahahahahahahahahahahahahahahahahahahahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbIbIbIbIbIbIbGbIbIbIbGbGbGbIbIbIbGbIbIbIbIbIbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbJbJbJbJbJbHbJbJbJbHbHbHbJbJbJbHbJbJbJbJbJbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahahahahahahahahahahahahahahahahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapbEbGbGbGbGbGbGbGbIbKbKbKbKbIbGbIbKbIbIbIbIbIbKbIbGbIbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbJbHbJbLbJbJbJbJbJbLbJbHbJbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapbEbGbGbGbGbGbGbGbIbKbKbKbKbIbIbIbKbKbKbKbKbKbKbIbIbIbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbJbJbJbLbLbLbLbLbLbLbJbJbJbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapbEbGbGbGbGbGbGbGbIbKbKbKbKbIbIbKbKbKbKbKbKbKbKbKbIbIbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbJbJbLbLbLbLbLbLbLbLbLbJbJbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMapbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNapbObObObObObObObObObObObObObObObObObObObObOapbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPapapbEbGbGbGbGbGbGbGbIbKbKbKbKbIbIbKbKbKbKbKbKbKbKbKbIbIbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbJbJbLbLbLbLbLbLbLbLbLbJbJbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbUbUbUbSbUbUbUbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbVbVbVbTbVbVbVbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbUbWbUbSbUbWbUbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbVbXbVbTbVbXbVbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbUbWbUbSbUbWbUbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbVbXbVbTbVbXbVbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbUbWbUbUbUbWbUbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbVbXbVbVbVbXbVbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbYbYbYbYbYbYbYbYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbZbZbZbZbZbZbZbZbRbRbRbRbRbRbRbRbNapbObSbSbSbSbUbUbUbWbWbWbWbWbUbUbUbSbSbSbSbOapbPbTbTbTbTbVbVbVbXbXbXbXbXbVbVbVbTbTbTbTbPapapbEbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbQbYbYbYbYcacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbRbZbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObSbSbSbUbUbWbWbWbWbWbWbWbWbWbUbUbSbSbSbOapbPbTbTbTbVbVbXbXbXbXbXbXbXbXbXbVbVbTbTbTbPapapbEbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYcacacacabYbYbYcacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZcbcbcbcbbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSbOapbPbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTbPapapbEbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSbOapbPbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTbPapapbEbGbGbGbGbGbGbGbIbIbIbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbIbIbIbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbJbJbJbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbJbJbJbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSbOapbPbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbRbNapbObSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSbOapbPbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbNapbObSbSbSbUbUbWbWbWbWbWbWbWbWbWbUbUbSbSbSbOapbPbTbTbTbVbVbXbXbXbXbXbXbXbXbXbVbVbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbNapbObSbSbSbSbUbUbWbWbWbWbWbWbWbUbUbSbSbSbSbOapbPbTbTbTbTbVbVbXbXbXbXbXbXbXbVbVbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbIbIbIbKbKbKbKbKbKbKbKbKbIbIbIbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbJbJbJbLbLbLbLbLbLbLbLbLbJbJbJbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbNapbObSbSbSbSbSbUbUbWbWbWbWbWbUbUbSbSbSbSbSbOapbPbTbTbTbTbTbVbVbXbXbXbXbXbVbVbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbNapbObSbSbSbSbSbSbUbUbUbUbUbUbUbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbVbVbVbVbVbVbVbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbIbIbIbIbIbIbIbIbIbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbJbJbJbJbJbJbJbJbJbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbOapbPbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbPapapbEbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbEapbFbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYcacacacabYbYbYcacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZcbcbcbcbbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapbObObObObObObObObObObObObObObObObObObObObOapbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPbPapapbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEbEapbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckapcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajalalbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajajalalalalalalalalalalalalalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahahahahahahahahahahahahahahahahahahahahahahahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGcqcqcqcqcqcqbGcqcqcqbGbGbGcqcqcqbGcqcqcqcqcqcqbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHcpcpcpcpcpcpbHcpcpcpbHbHbHcpcpcpbHcpcpcpcpcpcpbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahahahahahahahahahahahahahahahahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbIbKbKbKbKcqbGcqbKcqcqcqcqcqbKcqbGcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpbHcpbLcpcpcpcpcpbLcpbHcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqcqbKbKbKbKbKbKbKcqcqcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpcpbLbLbLbLbLbLbLcpcpcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqbKbKbKbKbKbKbKbKbKcqcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpbLbLbLbLbLbLbLbLbLcpcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMapbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNapclclclclclclclclclclclclclclclclclclclclclapcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmapapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqbKbKbKbKbKbKbKbKbKcqcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpbLbLbLbLbLbLbLbLbLcpcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbUbUbUbSbUbUbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVbVbVbTbVbVbVbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbUbWbUbSbUbWbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVbXbVbTbVbXbVbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbUbWbUbSbUbWbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVbXbVbTbVbXbVbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbUbWbUbUbUbWbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVbXbVbVbVbXbVbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbYbYbYbYbYbYbYbYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbZbZbZbZbZbZbZbZbRbRbRbRbRbRbRbRbNapclbSbSbSbSbUbUbUbWbWbWbWbWbUbUbUbSbSbSbSclapcmbTbTbTbTbVbVbVbXbXbXbXbXbVbVbVbTbTbTbTcmapapckbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbQbYbYbYbYcacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbRbZbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbUbWbWbWbWbWbWbWbWbWbUbUbSbSbSclapcmbTbTbTbVbVbXbXbXbXbXbXbXbXbXbVbVbTbTbTcmapapckbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYcacacacabYbYbYcacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZcbcbcbcbbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbIbIbIbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbIbIbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbJbJbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbJbJbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbNapclbSbSbSbUbUbWbWbWbWbWbWbWbWbWbUbUbSbSbSclapcmbTbTbTbVbVbXbXbXbXbXbXbXbXbXbVbVbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbNapclbSbSbSbSbUbUbWbWbWbWbWbWbWbUbUbSbSbSbSclapcmbTbTbTbTbVbVbXbXbXbXbXbXbXbVbVbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbIbIbKbKbKbKbKbKbKbKbKbIbIbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbJbJbLbLbLbLbLbLbLbLbLbJbJbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbNapclbSbSbSbSbSbUbUbWbWbWbWbWbUbUbSbSbSbSbSclapcmbTbTbTbTbTbVbVbXbXbXbXbXbVbVbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbNapclbSbSbSbSbSbSbUbUbUbUbUbUbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVbVbVbVbVbVbVbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbIbIbIbIbIbIbIbIbIbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbJbJbJbJbJbJbJbJbJbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYcacacacabYbYbYcacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZcbcbcbcbbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclclclclclclclclclclclclclclclclclclclclclapcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmapapckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckapcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbQbYbYbYbYcacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbRbZbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbYbYbYbYbYbYbYbYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbZbZbZbZbZbZbZbZbRbRbRbRbRbRbRbRbNapaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapaoababababababababababababababababababababagaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababababababababababababababababaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -358,34 +354,35 @@ aaaoapclclclclclclclclclclclclclclclclclclclclclclclclclapcmcmcmcmcmcmcmcmcmcmcm aaaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaa aaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababaa -aacvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcxcxacacaccxcxcxcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcycycycycycycycwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczaaaaaaaaaaczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcxcxaccxcxcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcycycBcBcBcBcBcycycwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaacCcCcCcCcCaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczaaaaaaczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcxcxcxcAcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aacvcwcwcwcwcwcwcycycBcBcBcBcBcBcBcycycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcAcAcAcAcAcAcAcxcxacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcBcycycycBcBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCcCaaaaaacCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaczczczczczaaaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcxcAcAcAcAcAcxcxacacacacacacacabaa -aacvcwcwcwcwcwcwcycBcBcycycwcycycBcBcycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaacCcCaaaaaaaaaacCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacaccxcxcxcxcxcxcxacacacacacacacacabaa -aacvcwcwcwcwcwcwcycycycycwcwcwcycycycycwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcncncncncncncncncncncncncncncnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aacvcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcvaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababaa -aacvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvcvaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aabObObObObObObObObObObObObObObObObObObObObObObObObOaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcxcxacacaccxcxcxcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcycycycycycycycwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczaaaaaaaaaaczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcxcxaccxcxcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcycycBcBcBcBcBcycycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaacCcCcCcCcCaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczaaaaaaczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcxcxcxcAcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aabOcwcwcwcwcwcwcycycBcBcBcBcBcBcBcycycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcAcAcAcAcAcAcAcxcxacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcBcycycycBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCaaaaaacCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaczczczczczaaaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcxcAcAcAcAcAcxcxacacacacacacacabaa +aabOcwcwcwcwcwcwcycBcBcycycwcycycBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCaaaaaaaaaacCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacaccxcxcxcxcxcxcxacacacacacacacacabaa +aabOcwcwcwcwcwcwcycycycycwcwcwcycycycycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcncncncncncncncncncncncncncncnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababaa +aabObObObObObObObObObObObObObObObObObObObObObObObObOaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + diff --git a/maps/southern_cross/southern_cross-8.dmm b/maps/southern_cross/southern_cross-8.dmm index 2c501dd6355..13380f6c75b 100644 --- a/maps/southern_cross/southern_cross-8.dmm +++ b/maps/southern_cross/southern_cross-8.dmm @@ -1,309 +1,331 @@ "aa" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/wilderness/mountains) -"ab" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outpost/wall) -"ac" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall) -"ad" = (/obj/effect/step_trigger/teleporter/wild/from_wild,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"ae" = (/obj/effect/step_trigger/teleporter/wild/from_wild,/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"af" = (/obj/effect/step_trigger/teleporter/wild/from_wild,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"ag" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outpost/wall) -"ah" = (/turf/simulated/mineral/sif,/area/surface/outside/wilderness/mountains) -"ai" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/wilderness/mountains) -"aj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"ak" = (/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"al" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) +"ab" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outside/wilderness/mountains) +"ac" = (/turf/simulated/mineral/sif,/area/surface/outside/wilderness/mountains) +"ad" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/wilderness/mountains) +"ae" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/deep) +"af" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outpost/wall) +"ag" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/deep) +"ah" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/wilderness/deep) +"ai" = (/turf/simulated/floor/outdoors/dirt,/area/surface/outside/wilderness/deep) +"aj" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/deep) +"ak" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/deep) +"al" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/river/svartan) "am" = (/turf/simulated/floor/water,/area/surface/outside/river/svartan) "an" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"ao" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/normal) -"ap" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/normal) -"aq" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall) -"ar" = (/obj/machinery/door/airlock/voidcraft{name = "Wilderness Containment"},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"as" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outpost/wall) -"at" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outside/wilderness/normal) -"au" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/normal) -"av" = (/obj/item/weapon/banner/virgov,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"aw" = (/obj/item/weapon/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"ax" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/wilderness) -"ay" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/normal) -"az" = (/turf/simulated/floor/wood,/area/surface/outside/path/wilderness) -"aA" = (/turf/simulated/floor/outdoors/dirt,/area/surface/outside/path/wilderness) -"aB" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/wilderness/normal) -"aC" = (/turf/simulated/wall/wood,/area/surface/outside/path/wilderness) -"aD" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"aE" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aF" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"aG" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aH" = (/turf/simulated/floor/outdoors/dirt,/area/surface/outside/wilderness/normal) -"aI" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"aJ" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aK" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/river/svartan) -"aL" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/deep) -"aM" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"aN" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"aO" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aP" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/deep) -"aQ" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/path/wilderness) -"aR" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aS" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west/small,/turf/simulated/floor/water,/area/surface/outside/river/svartan) -"aT" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aU" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aV" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east/small,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) -"aW" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/deep) -"aX" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/deep) -"aY" = (/turf/simulated/floor/outdoors/dirt,/area/surface/outside/wilderness/deep) +"ao" = (/turf/simulated/floor/outdoors/dirt,/area/surface/outside/path/wilderness) +"ap" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/wilderness/normal) +"aq" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/path/wilderness) +"ar" = (/turf/simulated/floor/wood,/area/surface/outside/path/wilderness) +"as" = (/turf/simulated/wall/wood,/area/surface/outside/path/wilderness) +"at" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/normal) +"au" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/svartan) +"av" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/svartan) +"aw" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/svartan) +"ax" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west/small,/turf/simulated/floor/water,/area/surface/outside/river/svartan) +"ay" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) +"az" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) +"aA" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) +"aB" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east/small,/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) +"aC" = (/obj/structure/showcase/sign{desc = "This appears to be a sign warning people that the other side is extremely hazardous."; icon_state = "wilderness2"; pixel_y = -5},/turf/simulated/wall/wood,/area/surface/outside/path/wilderness) +"aD" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/wilderness/normal) +"aE" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) +"aF" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water/deep,/area/surface/outside/river/svartan) +"aG" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/normal) +"aH" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/wilderness/normal) +"aI" = (/turf/simulated/floor/outdoors/dirt,/area/surface/outside/wilderness/normal) +"aJ" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/wilderness/deep) +"aK" = (/turf/simulated/floor/water,/area/surface/outside/ocean) +"aL" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/ocean) +"aM" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/wilderness/normal) +"aN" = (/turf/simulated/floor/water/deep,/area/surface/outside/ocean) +"aO" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/wilderness/normal) +"aP" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/wilderness/normal) +"aQ" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/ocean) +"aR" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/ocean) +"aS" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/shuttle/shuttle2/mining) +"aT" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/shuttle2/mining) +"aU" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/shuttle1/mining) +"aV" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/shuttle/shuttle1/mining) +"aW" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/wilderness) +"aX" = (/turf/simulated/wall/log_sif,/area/surface/outside/path/wilderness) +"aY" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"aZ" = (/obj/structure/simple_door/sifwood,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"ba" = (/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bb" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/wilderness) +"bc" = (/obj/structure/table/steel,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bd" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"be" = (/obj/structure/closet,/obj/random/maintenance/clean,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bf" = (/obj/structure/closet/crate,/obj/random/powercell,/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bg" = (/obj/random/junk,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_1"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_1_door"},/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bh" = (/obj/machinery/space_heater,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bi" = (/obj/item/weapon/banner/virgov,/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bj" = (/obj/machinery/space_heater,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_2"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_2_door"},/turf/simulated/floor/plating/external,/area/surface/outside/path/wilderness) +"bk" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/wilderness/mountains) +"bl" = (/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bm" = (/obj/item/weapon/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bn" = (/obj/item/weapon/banner/virgov,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bo" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall/checkpoint) +"bp" = (/obj/machinery/door/airlock/voidcraft{name = "Wilderness Containment"},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bq" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall/checkpoint) +"br" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bs" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bt" = (/obj/effect/step_trigger/teleporter/wild/from_wild,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall/checkpoint) +"bu" = (/obj/effect/step_trigger/teleporter/wild/from_wild,/turf/simulated/floor/water,/area/surface/outside/ocean) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababacadadadacabababababababababababababababababababababababababababababababababacaeaeafafaeaeacabababababababababababababababababababagagababababacadadadacababababagabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahacacacacacacacacacacacacacacajakalacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacamamananamamacacacacacacacacacacacacacacacacacacacacacacacacacacacajakalacacacacacacacacacahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahacacacacacacacacacacacacakakakacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacamamananamamacacacacacacacacacacacacacacacacacacacacacacacacacacacakakakacacacacacahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahaoacapapapacapapapaqaracaraqapapasatapapasatapapasatapapasatapapasatapapasatapapasatapapasatapamamamananamamamapacapapapacapapapacapapapacapapapacapapapacapapapaqaracaraqapapapacapapapapapapapapapapapapahahahahapapapapapauapahahahahahahahapapapapahahahahahahapapapapapapapapahahahahahahahahahahapapapapapapapapapahahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahapaoaoaoaoaoapapapapapapapavakakakawapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapawakakakavapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoahahahahahahahahaiahahaoaoaoaoaoaoaoaoaoaoaoaoapapaoaoaoaoaoapapapaoapapaxakakakaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapaxakakakaxapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahahaa -aaahahahahahahahahahahahahahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapaoaoaoaoapapapapaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahahaa -aaahahahahahahahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapaoaoaoaoapapapaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamamamapapapapapapapapapapapapapapapapapapapapapapapapaxaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahaa -aaahahahahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamanananamamamapapapapapapapapapapapapapapapapapapapapapapapapaxaxaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahaa -aaahahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamanananazazazaAapapapapapapapapapapapapapapapapapapapapapapapaxaxaxapapaxaxapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahaa -aaahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaoaoaoapapaoaoaoaoapaxaxaxapaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamanananazazazaAaAapapapapapapapapapapapapapapapapapapapapapapaxaxapapapapaxaxapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahahaa -aaahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamamapaAaAaAapapapapapapapapapapapapapapapapapapapapaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamananamamapapaAaAaAapapapapapapapapapapapapapapapapapaxaxaxaxapapapapapapapaBapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamananamamapapapaAaAapapapapapapapapapapapapapapapapapaxaxaxapapaBapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamananamamamapapaAaAaAapapapapapapapapapapapapapapapaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamananamamamapapapaAaAaAapapapapapapapapaxaxaxaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxaxaxapapapapapapapapapapapaxaxaxapaxaxaxaxaxaAaAapaAaAaAaAaAapapapaCaDaDaEaDaDaCapapapaAaAaAaAapapapapapaxaxaxaxaxaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxaxapapapapapapapapaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaAaAaAaAaAaAaAazazazazazazazaAaAaAaAaAaAaAapapapaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaxaxaxaxaxapapapaxaxaxaxaxapaxaxaxapapapapaxaxaxaxapapapaAaAaAaAazazazazazazazaAaAaAaAaAaAaAaAaxaxaxaxaAapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaxaxaxaxaxaxaxaxaxapapapapapapapapapapapapapapapapapapapapapaCaFaFaGaFaFaCapapapapapaAaAaAaxaxapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapaxaxaxaxapapapapapapapapapapapapapapapapapapapapapapapapamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaBaoaoaHaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaBaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaBaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaoapapapapapapapapapapapapapapapapapapapapamamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapamamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapamamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapaoaoapapapapapapapapapapapapapapamamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapamamanananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapamamanananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapamamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapamamananamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapamamananananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapamamamanananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapapamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapamamanananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapamamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapapapapapapamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaoaoapapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapaoaoapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamanamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamanamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaaiaiaiayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayaIaIaJaJaIaIaIauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauauaiaiaiaiaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamamaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahahahahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamamaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaHapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapahamamaK -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamaoaoaoaoapaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamaK -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamamaoaoaoapapapaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauaHapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamaK -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamamapapaoaoaoapapaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamanaK -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamananamamamamapapaoaoaoapaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamamananaK -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamananamamamamapaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauaHapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamamamanananaK -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamamaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamamamanananamaK -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamamaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamamamanamanamamamaK -aaahahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamanamamamaoaoaoaoapaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapauapaHaHapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamanananananamamamamamaK -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamananamamamaoaoaoapapaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamamamamamanananananananamamamamahaa -aaahahaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamananamamaoaoaoaoapapaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapapauapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapamamamamamamamamamamamamanananananananamamamamamahahaa -aKamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamanamamamaoaoaoaoapapaoaoaoapapapapapapapapapapapapapapapapapapapapapapapapapauapaAaAapapapapapapapapapapapapapapamamamamamapapapapapapapapapamamamamamamamamamamamamamanananananamamamamamamamaLahahahaa -aKamamamamamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamamaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapapauapaAaAapapapapapapapapapapapapapamamamamamamamamamamamamamamamamamamananananananamanananananamamamamamamamaLaLaLaLahahahaa -aKanananananananamamamamamamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamananamamamaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapapauaCazazaCamamamamapamamamamamamamamamananamamamamamamamamamamamanananananananananamananamamamamamamaLaLaLaLaLaLaLaLahahahaa -aKanananananananananananananananamamamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamanamamamamaoaoaoaoaoaoaoaoaoaoapapapapapapapapapapapapapapapapapapapapapaIaMazazaNamamamamamamamamamamamamamanananananananananananananananananananananananamamamamamamaLaLaLaLaLaLaLaLaLaLahahahahaa -aKamamamamamamamananananananananananananananananamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamanananamamamaoaoaoapaoaoaoaoaoaoapapapapapapapapapapapapapapapapapamamamaIaMazazaNamamamamamamamananananananananananananananananananananananamamamamamamamamamamaLaLaLaLaLaLaLaLaLaLaLaLaLahahahahaa -aKamamamamamamamamamamamamamamamamananananananananananananamamamamamamamaoaoamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamananamamamaoaoapaoaoaoaoaoaoaoapapapapapapapapapapapapamamamamamamamaIaMazazaOanananananamamananananananananamamamamamamamamamamamamamamamamamamamamamaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahaPamamamamamamamamamamamamamamamamamamananananananananananananamamamamamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaQazazaCayaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamananamamamamamapapaoaoaoaoaoaoaoapapapapapapapapapamamamamamamamananaJaRazazaOanananananamamamamamamamamamamamamamamamamamamamamamamamamaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamamamanananananananamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaMazazaNaIamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamananamamamamamamamamaoaoaoaoaoaoapapamamamamamamamamamananananananaJaRazazaOamamamamamamamamamamamamamamamaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamananananananananananananananananamamamamamamamamamamaMazaSamaIamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamanananamamamamamamamamamamamamamamamamananamamananananananananamaIaMazazaNamamamamamamamamamamaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamananananananananananananananananananananaTazazaUaJananananananananananamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamamamamamamamamamamamamamanananamamanananamamamamamamaIaMazazaNamamamamamamaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamamamamanananananananananaVazaUaJanananananananananananamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamamamamamamanananananananananamamamamamamamamamamamaWaCazazaCaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamamamamamamaMazazaNaIamamamamamamamamanananananananamamamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamanananananananananamamamamamamamamamaLaLaLaLaWaLaAaAaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamaMazazaNaIamamamamamamamamamamananananananananananananamamamamamamamamamaoaoamamamaoaoaoaoamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamaoamamamamamamamamamamamanananananananamamamamamamamamamamaLaLaLaLaLaLaLaLaWaLaAaAaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamaPaCazazaCaXamamamamamamamamamamamamananananananananananananananananamamamamamamamamamamamamamamamamamamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamamamamamamamamamanananamamamamamananamamamamamamamamamamaPaPaPaLaLaLaLaLaLaLaLaLaLaWaLaLaAaAaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPamamamamamamamamananananananananananananananananamamanananamamamamanananamamamamamamamamamamamamaoaoaoaoaoamamamamaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoamamamamamananananamamanananananamamamamamamamamamamamamamaPaLaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaWaLaLaAaAaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamamanananamamamamanananamamamanananananananananamamamamamamamamamamamamamamamamamamamamamamamamaoaoaoaoaoaoamamamamamanananananananananananamamamamamamamamamamaPaPaPaPaPaPaLaLaPaPaPaPaPaPaPaPaLaLaPaLaLaLaLaWaLaLaAaAaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamanananananananamamamamamanananananananananamamamamamamamamamamamamamamamamamamamananananananananananamamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamaPaPamamamamamamamamamamamamamamamamamamamamamamanananananananananananananananananamamamamamamamamanananananananananananamamamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaLaLaPaLaLaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamaPaPaPaPaPaPamamamamamamamamamamanananananananananananananananamamamamamamananananananananamamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaLaLaLaLaWaLaLaLaYaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamanananamanananamamamamamamamamamamamamamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaLaLaLaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaLaLaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamamamamamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaWaLaLaLaLaYaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPamamamamamaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaXaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaXaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaWaPaPaPaLaLaLaYaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaWaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaXaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaXaPaPaPaLaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaXaLaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaXaLaLaPaPaPaLaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaLaPaPaPaLaLaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaLaLaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaLaPaPaPaLaPaPaLaLaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahaa -aaahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaLaLaPaPaPaPaLaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaLaPaPaPaPaLaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaLaLaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaLaPaPaLaLaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaLaLaLaLaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaLaLaPaPaPaPaPaLaLaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaPaLaLaPaPaPaPaPaLaLaLaLaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaPaLaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaPaPaLaPaPaPaPaPaLaLaPaPaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaLaLaPaPaPaPaPaLaLaPaLaLaLaLaLaLaLaLaLaLahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLaLahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaLaLaLaLaLaLaLaLaLahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaLaLaLaLaLaLaLahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaLaLaLaLaLaPaPaPahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaLaLaPaPaPaLaPaPaPaPaPaPaLaLaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaLaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaLaLaPaPaPaPaLaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaLaPaPaPaPaPahahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaLaPaPaPaPaPaPaPaPahahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaLahahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaLahahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPaPaPaPaPaPaPahahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaLaPaPahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaLaPaPahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaaiaiaiaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaiaiaiaiaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahaa -aaahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahaa -aaahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahaa -aaahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahaa -aaahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahaa -aaahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahaa -aaahahahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahaiahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaPaPaPaiahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahahahahahahaPaPaPahahahahahahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaa -aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaababaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaeaeaeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacaeafaeaeaeafaeaeacacacacacacacacacacacacacacacacafaeaeaeafaeaeacacacacaeacacacacacacacacacaeaeaeaeaeaeaeaeaeacacacacaeaeafaeaeaeafaeaeacacacacacacacacacacacaeaeafafafafafaeaeacacacacacaeaeaeaeaeaeaeaeaeacacacacaeaeaeaeaeagaeacacacacacacacaeaeaeaeacacacacacacaeaeaeaeaeaeaeaeacacacacacacacacacacaeaeaeaeaeaeaeaeaeacacacacacacacacacacacacacacacaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacacacaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacacacadacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacaa +aaacacacacacacacacacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacacaa +aaacacacacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacaa +aaacacacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacaa +aaacacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahaeaeahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacaa +aaacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahaeaeaeaeahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacacaa +aaacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahaeaeaeaeaeaeaeahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahaeaeahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaiaiaeaeaeaeaeaeaeaeahahahahahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahaeaeaeaeaeaeaeaeaeaeaeahahahaeahahahahahaiaiaeaiaiaiaiaiaeaeaeaeaeaeaeaeaeaeaeaeaeaiaiaiaiaeaeaeaeaeahahahahahahahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahaeaeaeaeaeaeaeaeahahahahahahahahahahahahahahahaiaiaiaiaeaeaeaeaeaeaeaeaeaeaeaiaiaiaiaiaiaeaeaeahahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahahaeaeaeahahahahahaeahahahaeaeaeaeahahahahaeaeaeaiaiaeaeaeaeaeaeaeaeaeaeaeaiaiaiaiaiaiahahahahaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahahahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaiaiahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahaeaeaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaadadadagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagadadadadaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeajajaeaeacacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeajacacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajaeajaeaeaeajajajacacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeaeaeaeajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeajajaeaeajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeajaeaeaeajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajaeaeajajajajajajajajajajajajajacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeajajajajajajajajajajajajajajacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeajaeaeaeajajajajajajajajajajajajajajajajajajacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeajaeaeajajajajajajajajajajajajajajajajajajajacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajaeaeaeaeajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeajajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaiaiaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeajaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaiaiaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeajajajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeaeaeaeaeaeagaeaeaiaiaeaeaeaeaeaeaeajaeaeaeaeajaeaeaeaeaeajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeaeaeaeajaeaeaeaeaeaeaeaeagaeaeaiaiaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeaeaeajajajaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaiaiaeaeaeajajaeaeaeaeaeaeaeaeaeaeaeajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeajaeaeaeaeaeaeaeajaeaeajajaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeaeaeaeaeagaeaeaeaiaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeajaeaeaeajaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeajajaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeajaeaeaeaeajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajagaeaeaeaeaeaeaeajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajakaeaeaeaeaeaeajaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeaeaeaeakaeaeaeaeajajajaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeaeagaeaeaeaeaeajaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeaeagaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeagaeaeajajaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeagaeajaeaeaeajaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagajajaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajagaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajagajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacaa +aaacacahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacaa +aaacacacahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacaa +aaacacahahahaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacaa +alamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacaa +alamamamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacaa +alanananananananamamamamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +alanananananananananananananananamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaiaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +alamamamamamamamananananananananananananananananamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +alamamamamamamamamamamamamamamamamananananananananananananamamamamamamamaeaeamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaoaoaoaeaeagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacapamamamamamamamamamamamamamamamamamamananananananananananananamamamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaoaqararasagaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacapatatatatatatatatatamamamamamamamamamamamamamamamamamamanananananananamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeauararavawamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajakaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacapapatatatatatatatatatatatatatatatamamamamamamamamamamamamamananananananananananananananananamamamamamamamamamamauaraxamawamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacaa +aaacacacapapatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamananananananananananananananananananananayararazaAananananananananananamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacapapatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamamamamamanananananananananaBarazaAanananananananananananamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajakaiajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacapapatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamamamamamamamauararavaAanamamamamamamamanananananananamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajaeajajajajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacapatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamauararavawamamamamamamamamamamananananananananananananamamamamamamamamamaeaeamamamaeaeaeaeamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamatasararaCaDamamamamamamamamamamamamananananananananananananananananamamamamamamamamamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajakajaoaoajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataoatataDatatatatatatatamamamamamamamamananananananananananananananananamamanananamamamamanananamamamamamamamamamamamamaeaeaeaeaeamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajaeajajajajajajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataoaoataDatatatatatatatatatatamamamamamamamamamamamamamamamamamanananamamamamanananamamamanananananananananamamamamamamamamamamamamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajakajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataoataDatatatatatatatatatatatatamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamanananananananamamamamamanananananananananamamamamamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajakajaoaoajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataoataDatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamatatamamamamamamamamamamamamamamamamamamamamamamanananananananananananananananananamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajajajakajaoaoajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamatatatatatatamamamamamamamamamamanananananananananananananananamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajajajajamamawasararasajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamamanananamanananamamananamamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeaeaeaeaeaeajajajajajajajajajajajajajajajajamamamamamawauararavamamamamajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamamamamamamamananananamamamamamamamamamamamamaeaeaeaeaeaeaeaeaeajajaeajajajajajajajajajajajajamamamamamamanananaAaEararavananamamamamamajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamananananananamamamamamamamamamaeaeaeaeaeaeaeajajaeajajajajajajajajajajamamamamamamamamananananaAaEararaFananananamamamamamamajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaeajajajajajajajajajacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamanananananamamamamamamamamamaeaeaeaeaeaeaeajajajajajajajamamamamamamamamamananananananaAaEararaFanananananananamamamamamamamamamamajajajajajajajajajajajajajajajajajajajajajajajaeaeaeajajajajajaeaeaeacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamanananananamamamamamamamamamamamamamajajajamamamamamamamamamamamamananananamamanaAaEararaFananananananananananamamamamamamamamamajajajajajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamananananamamamamamamamamamamamamamamamamamamamamamamamananananananamamamamawauararavamamamamamamanananananamananananamamamamamajajajajajajajajajajajajajajajajajajaeajaeaeaeaeaeaeajajaeacacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamanananananamamamamamamamamamamamamamamananananananananamamamamamamamawauararavamamamamamamamamamamanananananananananamamamamajajajajajajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeacacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamanananananamamamamananananananananananananamamamamamamamamamaGaHaCararasaGaGaGaGaGaGamamamamamamamamananananananamamamamamamamamamajajajajajajajajajajajaeaeaeaeaeaeaeaeaeaeacacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamanananamamamanananananananamamamamamamamamamamamamaGaGaGaGaGaHaGaoaoaGaGaGaGaGaGaGaGaGamamamamamamamamamamanananananananamamamamamamajajajajajaeajajaeaeaeajajaeaeaeaeajaeacacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamamamamamamamamamamamaGaGaGaGaGaGaGaGaGaHaGaoaoaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamamamananananananananamamamamamamajajajajaeaeaeaeaeajaeaeaeaeaeacacacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamamamamamamamamamamaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaoaoaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamanananananananamamamamamamaeaeaeaeajaeaeaeaeaeaeaeaeacacacacacacacaa +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatamamamamamamamaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaoaoaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamamanananananananamamamamaeaeaeaeaeaeaeaeaeaeaeacacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaoaoaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamamamanananananamamamamaeaeaeaeajaeaeaeaeajacacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamamananananamamamaeaeaeaeajajaeaeaeajacacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamananananamamamajaeaeaeaeaeaeaeahacacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaIaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamanananamamamajaeaeaeahaeahahahacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamananamamamaeahahahahahahahacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamananamamamahaJaJaJahahahacacacacacacaa +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatataGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaIaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamananamamamaJaJaJahahacacacacaKaKaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamananamamamaJaJaJahacacacaKaKaKaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGamamamamamamamamamaJaJaJacaKaKaKaKaKaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapamamamamanamamamaJaJaKaKaKaKaKaKaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaIaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMamamanananamamamaKaKaKaKaKaKaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMamamananamamaKaKaKaKaKaKaKaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMamamananaKaKaKaKaKaKaKaKaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMamamaKaKaKaNaNaKaKaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMamaKaKaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaKaKaKaKaKaKaKaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatataGaGatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatataGaGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatataGatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatataGaGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaL +aaadadadaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaHaHaHaDaDaHaHaHaHaHaDaDaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaOaOaOaPaPaPaPaQaQaQaQaQaQaQaQaRaRaRaRaRaRaRaRaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaL +aaacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMaMaKaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaKaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatataGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatataGaGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatataGaGatatatataGaGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGaGataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaGaGapapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatataGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaGapaGaGaGaGapaGaGaGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGataGaGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaSaTaGaGaGaGaGaSaSaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaSaSaSaGaGaGaSaTaSaGaGaGaGaGaUaUaUaUaUaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaGaGaTaTaSaSaSaSaTaSaSaGaGapaGaVaVaUaUaUaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaGaGaTaTaSaSaSaSaTaSaTaGaGaGaGaVaVaVaUaVaVaUaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatataGatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaTaSaSaTaTaTaSaSaTaGaGaGaGaVaUaVaVaUaUaUaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatataGaGaGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaSaTaTaTaTaTaTaTaSaGaGaGaGaUaUaUaVaVaVaUaGaGapapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaSaSaTaTaTaTaSaSaSapaGaGaGaUaUaUaUaUaVaVaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatatatatatataGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaTaSaSaSaSaSaTaGaGaGaGaGaVaUaUaUaUaUaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaTaSaSaSaTaTaTaGaGaGaGaVaVaVaVaUaUaVaVaVaGaGapapaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatataGaGatatatataGaGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaGaGapaGaGaSaSaTaSaSaTaTaGapapaGaUaUaVaVaVaVaVaUaUaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaTaTaTaTaTaSaSaGaGapaGaUaUaUaVaVaVaVaUaUaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaTaSaSaSaTaTaSaGaGaGaGaUaVaVaVaUaUaVaVaUaGaGapaGaGapaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaSaSaTaTaTaTaTaGaGaGaGaVaVaUaUaUaUaUaVaVaGaGaGapaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaTaTaTaTaTaGaGaGaGaGaVaUaUaGaGaGaUaUaUaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGataGaGataGaGaGataGaGaGaGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaGaGaGaGaGaGaGaGaVaUaGaWaGaGaGaUaUaGaGaGaGapapaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatataGataGaGaGaGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaGaGaGaGaGaGaGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaGaGaGaGaGaGapapapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapapaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGaGaGaGaGaGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaWaWaWaWaGaWaGaWaWaWaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaWaWaWaWaWapaMaMaWaWarararaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaGaWaWaWaWaWaWarararaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaGaGaGaGaGaWaWaWaWaWaWaWaWaWaGaGaGaWaWaWaWaGaGaGaGaGaGaGaGaGaGaXaYaXaZaXaYaXaGaWaWaWaGaWaWaWaWaWaWaWaGaWaWaWaWaWaWaWaGaGaWaWaWaWaGaGaGaHaWaWaWaWaWaWaWaWaWaWaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaXbababababaaXaGaGaGaGaGaGaGaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWbbaWaGaGaWaWaWaWaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatataGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaXbcbdbababeaXaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaMaMaMaKaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaKaKaKaKaKaKaL +aaacacacacacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaXbcbabababfaXaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaMaMaMaKaKaKaKaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaKaKaKaKaKaKaKaL +aaacacacacacacacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatataGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaWaWaWaWaWaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaXbgbhbibabjaXaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaMaMaMaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaL +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGataGaGaGaGaGaGaGacacacacacacacbkaWblblblaWbkacacacaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaXaXaXaXaXaXaXaGaGaGacacacacacacacacacacaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGacacacacacacacacaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaL +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacatatatatatatatatatatatatatatatacacacacadacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatacacacacacacacacacacacacacacacacacacbmblblblbnacacacacacacacacacacacacacacacaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaGaGaGadacacacacacacacacaGaGaGaGaGaGaGaGaGaGaGaGaGaGacacacacacacacacacacacacacacacacaKaKaKacacacacaKaKaKaKaKaKaKaKaKaKaKaKaKaKaKaL +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacatatatatatatatatatatatatatatatatatacacacacacacacacacacacacacacacacacacacacacacacacbobpbqbpboacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaKaKaKaKaKaKaKaKaKaKaKacacaKaL +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbqblblblbqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaKaKaKaKaKaKaKacacacacacacaa +aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbqbrblbsbqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaKaKaKacacacacacacacacaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqbtbtbtbqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabububuaaaaaaaaaaaaaaaaaa "} diff --git a/maps/southern_cross/southern_cross.dm b/maps/southern_cross/southern_cross.dm index 21f1964d659..29c4f295f23 100644 --- a/maps/southern_cross/southern_cross.dm +++ b/maps/southern_cross/southern_cross.dm @@ -15,11 +15,16 @@ #include "shuttles/ninja.dm" #include "shuttles/ert.dm" + #include "loadout/loadout_accessories.dm" + #include "loadout/loadout_head.dm" + #include "loadout/loadout_suit.dm" + #include "loadout/loadout_uniform.dm" + + #include "datums/supplypacks/munitions.dm" #include "items/encryptionkey_sc.dm" #include "items/headset_sc.dm" #include "items/clothing/sc_suit.dm" #include "items/clothing/sc_under.dm" - #include "items/clothing/sc_head.dm" #include "items/clothing/sc_accessory.dm" #include "job/outfits.dm" #include "structures/closets/engineering.dm" diff --git a/maps/southern_cross/southern_cross_areas.dm b/maps/southern_cross/southern_cross_areas.dm index e05493b7278..ffa2ca4d1a3 100644 --- a/maps/southern_cross/southern_cross_areas.dm +++ b/maps/southern_cross/southern_cross_areas.dm @@ -122,7 +122,7 @@ flags = RAD_SHIELDED /area/surface/cave - ambience = list('sound/ambience/ambimine.ogg', 'sound/ambience/song_game.ogg') + ambience = list('sound/ambience/ambimine.ogg', 'sound/ambience/song_game.ogg', 'sound/ambience/serspaceamb1.ogg') // The bottom half that connects to the outpost and is safer. /area/surface/cave/explored/normal @@ -346,6 +346,9 @@ icon_state = "red" requires_power = FALSE +/area/surface/outpost/wall/checkpoint + name = "Checkpoint" + //Mining Station /area/outpost/mining_station @@ -987,11 +990,11 @@ area/crew_quarters/heads/sc/hop/quarters icon_state = "SolarcontrolS" /area/maintenance/solars/foreportsolar - name = "Solar Maintenance - Fore Starboard" - icon_state = "SolarcontrolS" + name = "Solar Maintenance - Fore Port" + icon_state = "SolarcontrolP" /area/maintenance/solars/forestarboardsolar - name = "Solar Maintenance - Fore Port" + name = "Solar Maintenance - Fore Starboard" icon_state = "SolarcontrolS" /area/solar @@ -1102,7 +1105,7 @@ area/crew_quarters/heads/sc/hop/quarters icon_state = "south" /area/shuttle/shuttle1/mining - name = "mining site" + name = "wilderness site" icon_state = "shuttlered" /area/shuttle/shuttle1/planet @@ -1153,7 +1156,7 @@ area/crew_quarters/heads/sc/hop/quarters icon_state = "south" /area/shuttle/shuttle2/mining - name = "mining site" + name = "wilderness site" icon_state = "shuttlered" /area/shuttle/shuttle2/planet @@ -1300,6 +1303,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/skipjack_station/planet name = "planet" icon_state = "shuttlered" + dynamic_lighting = 1 base_turf = /turf/simulated/floor/outdoors/grass/sif/planetuse /area/skipjack_station/orbit @@ -1402,6 +1406,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod1/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/escape_pod1/centcom icon_state = "shuttle" @@ -1415,6 +1420,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod2/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/escape_pod2/centcom icon_state = "shuttle" @@ -1428,6 +1434,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod3/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/escape_pod3/centcom icon_state = "shuttle" @@ -1441,6 +1448,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod4/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/escape_pod4/centcom icon_state = "shuttle" @@ -1454,6 +1462,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod5/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/escape_pod5/centcom icon_state = "shuttle" @@ -1467,6 +1476,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod6/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/escape_pod6/centcom icon_state = "shuttle" @@ -1480,6 +1490,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod7/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/reinforced/airless /area/shuttle/escape_pod7/centcom icon_state = "shuttle" @@ -1493,6 +1504,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/escape_pod8/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/reinforced/airless /area/shuttle/escape_pod8/centcom icon_state = "shuttle" @@ -1508,6 +1520,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/large_escape_pod1/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/large_escape_pod1/centcom icon_state = "shuttle" @@ -1521,6 +1534,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/large_escape_pod2/station icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless /area/shuttle/large_escape_pod2/centcom icon_state = "shuttle" @@ -1533,7 +1547,7 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/cryo/station icon_state = "shuttle2" - base_turf = /turf/simulated/mineral/floor/ignore_mapgen + base_turf = /turf/simulated/floor/airless /area/shuttle/cryo/centcom icon_state = "shuttle" diff --git a/maps/southern_cross/southern_cross_defines.dm b/maps/southern_cross/southern_cross_defines.dm index aaacaa8cf07..2fa51eef618 100644 --- a/maps/southern_cross/southern_cross_defines.dm +++ b/maps/southern_cross/southern_cross_defines.dm @@ -39,7 +39,27 @@ emergency_shuttle_called_message = "An emergency evacuation shuttle has been called. It will arrive at docks one and two in approximately %ETA%" emergency_shuttle_recall_message = "The emergency shuttle has been recalled." - station_networks = list() + // Networks that will show up as options in the camera monitor program + station_networks = list( + NETWORK_CARGO, + NETWORK_CIVILIAN, + NETWORK_COMMAND, + NETWORK_ENGINE, + NETWORK_ENGINEERING, + NETWORK_ENGINEERING_OUTPOST, + NETWORK_FIRST_DECK, + NETWORK_SECOND_DECK, + NETWORK_THIRD_DECK, + NETWORK_MAIN_OUTPOST, + NETWORK_MEDICAL, + NETWORK_MINE, + NETWORK_RESEARCH, + NETWORK_RESEARCH_OUTPOST, + NETWORK_ROBOTS, + NETWORK_PRISON, + NETWORK_SECURITY, + NETWORK_TELECOM + ) allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage") unit_test_exempt_areas = list(/area/ninja_dojo, /area/ninja_dojo/firstdeck, /area/ninja_dojo/arrivals_dock) @@ -114,19 +134,19 @@ /datum/map_z_level/southern_cross/surface z = Z_LEVEL_SURFACE - name = "Planet" + name = "Plains" flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks /datum/map_z_level/southern_cross/surface_mine z = Z_LEVEL_SURFACE_MINE - name = "Planet" + name = "Mountains" flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks /datum/map_z_level/southern_cross/surface_wild z = Z_LEVEL_SURFACE_WILD - name = "Wild" + name = "Wilderness" flags = MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks @@ -165,14 +185,14 @@ /obj/effect/step_trigger/teleporter/wild/to_wild/New() ..() teleport_x = src.x - teleport_y = world.maxy - 1 + teleport_y = 2 teleport_z = Z_LEVEL_SURFACE_WILD /obj/effect/step_trigger/teleporter/wild/from_wild/New() ..() teleport_x = src.x - teleport_y = 2 - teleport_z = Z_LEVEL_SURFACE + teleport_y = world.maxy - 1 + teleport_z = Z_LEVEL_SURFACE_MINE /obj/effect/step_trigger/teleporter/bridge/east_to_west/New() diff --git a/maps/southern_cross/southern_cross_jobs.dm b/maps/southern_cross/southern_cross_jobs.dm index ea34a2e6f4d..12166d14787 100644 --- a/maps/southern_cross/southern_cross_jobs.dm +++ b/maps/southern_cross/southern_cross_jobs.dm @@ -99,9 +99,11 @@ var/const/access_explorer = 43 access = list(access_explorer) minimal_access = list(access_explorer) outfit_type = /decl/hierarchy/outfit/job/explorer2 +/* alt_titles = list( "Explorer Technician" = /decl/hierarchy/outfit/job/explorer2/technician, "Explorer Medic" = /decl/hierarchy/outfit/job/explorer2/medic) +*/ /datum/job/sar title = "Search and Rescue" diff --git a/maps/southern_cross/southern_cross_presets.dm b/maps/southern_cross/southern_cross_presets.dm index 2bc8a0fe3cb..a21b1c02c05 100644 --- a/maps/southern_cross/southern_cross_presets.dm +++ b/maps/southern_cross/southern_cross_presets.dm @@ -4,24 +4,6 @@ var/const/NETWORK_FIRST_DECK = "First Deck" var/const/NETWORK_SUPPLY = "Supply" var/const/NETWORK_MAIN_OUTPOST = "Main Outpost" -/datum/map/southern_cross - // Networks that will show up as options in the camera monitor program - station_networks = list( - NETWORK_ENGINE, - NETWORK_THIRD_DECK, - NETWORK_SECOND_DECK, - NETWORK_FIRST_DECK, - NETWORK_ROBOTS, - NETWORK_SUPPLY, - NETWORK_COMMAND, - NETWORK_ENGINEERING, - NETWORK_MEDICAL, - NETWORK_MAIN_OUTPOST, - NETWORK_RESEARCH, - NETWORK_SECURITY, - NETWORK_THUNDER, - ) - // // Cameras // diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm index 7a314dea54b..43040e86577 100644 --- a/maps/southern_cross/structures/closets/misc.dm +++ b/maps/southern_cross/structures/closets/misc.dm @@ -12,7 +12,7 @@ /obj/structure/closet/secure_closet/guncabinet/rifle name = "rifle cabinet" - req_access = list(access_explorer) + req_one_access = list(access_explorer,access_brig) /obj/structure/closet/secure_closet/guncabinet/rifle/New() ..() @@ -26,6 +26,20 @@ new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) return +/obj/structure/closet/secure_closet/guncabinet/phase + name = "phase pistol cabinet" + req_one_access = list(access_explorer,access_brig) + +/obj/structure/closet/secure_closet/guncabinet/phase/New() + ..() + new /obj/item/weapon/gun/energy/phasegun(src) + new /obj/item/weapon/gun/energy/phasegun(src) + // One spare cell per gun + new /obj/item/weapon/cell/device/weapon(src) + new /obj/item/weapon/cell/device/weapon(src) + // One spare gun permit per locker + new /obj/item/clothing/accessory/permit/gun/planetside(src) + //Explorer Lockers /obj/structure/closet/secure_closet/explorer @@ -82,7 +96,7 @@ new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar(src) new /obj/item/clothing/shoes/boots/winter/explorer(src) - new /obj/item/device/radio/headset/headset_sar(src) + new /obj/item/device/radio/headset/sar(src) new /obj/item/weapon/cartridge/medical(src) new /obj/item/device/flashlight(src) new /obj/item/weapon/tank/emergency/oxygen/engi(src) @@ -97,6 +111,7 @@ new /obj/item/taperoll/medical(src) new /obj/item/device/gps(src) new /obj/item/device/geiger(src) + new /obj/item/bodybag/cryobag(src) return //Pilot Locker @@ -119,7 +134,7 @@ new /obj/item/clothing/mask/gas/half(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/gloves/fingerless(src) - new /obj/item/device/radio/headset/pilot(src) + new /obj/item/device/radio/headset/pilot/alt(src) new /obj/item/device/flashlight(src) new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) new /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle(src) diff --git a/maps/southern_cross/turfs/outdoors.dm b/maps/southern_cross/turfs/outdoors.dm index 484aeceb701..6c0e2b90350 100644 --- a/maps/southern_cross/turfs/outdoors.dm +++ b/maps/southern_cross/turfs/outdoors.dm @@ -158,4 +158,9 @@ /turf/simulated/mineral/floor/ignore_mapgen/vacuum oxygen = 0 nitrogen = 0 - temperature = TCMB \ No newline at end of file + temperature = TCMB + +// Step trigger to fall down to planet Sif +/obj/effect/step_trigger/teleporter/planetary_fall/sif/initialize() + planet = planet_sif + . = ..() diff --git a/maps/submaps/surface_submaps/mountains/BlastMine1.dmm b/maps/submaps/surface_submaps/mountains/BlastMine1.dmm new file mode 100644 index 00000000000..34094caf868 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/BlastMine1.dmm @@ -0,0 +1,35 @@ +"a" = (/turf/simulated/mineral,/area/submap/cave/BlastMine1) +"b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"c" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) +"d" = (/obj/structure/table/rack,/obj/item/weapon/syndie/c4explosive,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"f" = (/mob/living/simple_animal/hostile/savik{returns_home = 1},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"g" = (/obj/structure/table/rack,/obj/item/clothing/head/bomb_hood,/obj/item/clothing/suit/bomb_suit,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"h" = (/obj/item/device/gps/internal/poi{gps_tag = "Unidentified Signal"},/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) +"i" = (/mob/living/simple_animal/retaliate/diyaab,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"j" = (/obj/structure/table/reinforced,/obj/item/weapon/flame/lighter/zippo/c4detonator{detonator_mode = 1},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"k" = (/obj/structure/table/rack,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"l" = (/obj/machinery/floodlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"m" = (/turf/simulated/wall/sandstone,/area/submap/cave/BlastMine1) +"n" = (/obj/structure/girder/displaced,/obj/structure/sign/warning/bomb_range,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"o" = (/obj/structure/table,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"p" = (/obj/effect/decal/remains/human,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/BlastMine1) +"q" = (/obj/structure/sign/warning/bomb_range,/turf/simulated/wall/sandstone{damage = 20},/area/submap/cave/BlastMine1) + +(1,1,1) = {" +aaabbbaaaa +aabbbbaaaa +aacbbbbaaa +aadbbbbbbb +abdbbecbbb +abdbfbgbbb +abhbbbbbba +abdibbgjaa +bbkbilmaaa +bbkbbbbbba +banbbbbbbb +abbbbbbbbb +aaopbbqbbb +bbbbbbbbba +baabbbaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/CaveTrench.dmm b/maps/submaps/surface_submaps/mountains/CaveTrench.dmm index a12f7998680..c298931a864 100644 --- a/maps/submaps/surface_submaps/mountains/CaveTrench.dmm +++ b/maps/submaps/surface_submaps/mountains/CaveTrench.dmm @@ -3,13 +3,13 @@ "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/CaveTrench) "d" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "e" = (/turf/simulated/floor/outdoors/rocks,/area/submap/CaveTrench) -"f" = (/turf/simulated/floor/water,/area/submap/CaveTrench) -"g" = (/mob/living/simple_animal/hostile/malf_drone{desc = "An automated combat drone with an aged apperance."},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) -"h" = (/mob/living/simple_animal/fish/trout{faction = "malf_drone"},/turf/simulated/floor/water,/area/submap/CaveTrench) +"f" = (/turf/simulated/floor/water{outdoors = 0},/area/submap/CaveTrench) +"g" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) +"h" = (/mob/living/simple_animal/fish/trout{faction = "malf_drone"},/turf/simulated/floor/water{outdoors = 0},/area/submap/CaveTrench) "i" = (/obj/effect/decal/remains/human,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "j" = (/turf/simulated/wall,/area/submap/CaveTrench) "k" = (/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) -"l" = (/mob/living/simple_animal/fish/trout,/turf/simulated/floor/water,/area/submap/CaveTrench) +"l" = (/mob/living/simple_animal/fish/trout,/turf/simulated/floor/water{outdoors = 0},/area/submap/CaveTrench) "m" = (/turf/simulated/wall/wood,/area/submap/CaveTrench) "n" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lantern,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "o" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/projectile/shotgun/pump,/turf/simulated/floor/holofloor/wood,/area/submap/CaveTrench) @@ -33,7 +33,7 @@ "G" = (/obj/structure/table/steel,/obj/item/robot_parts/l_leg,/obj/item/robot_parts/head,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "H" = (/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CaveTrench) "I" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/shuttle/plating,/area/submap/CaveTrench) -"J" = (/obj/machinery/drone_fabricator,/turf/simulated/shuttle/plating,/area/submap/CaveTrench) +"J" = (/obj/machinery/drone_fabricator{fabricator_tag = "Unknown"},/turf/simulated/shuttle/plating,/area/submap/CaveTrench) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/mountains/Cavelake.dmm b/maps/submaps/surface_submaps/mountains/Cavelake.dmm index 3d1b4a468ef..8ead9f2ef50 100644 --- a/maps/submaps/surface_submaps/mountains/Cavelake.dmm +++ b/maps/submaps/surface_submaps/mountains/Cavelake.dmm @@ -10,7 +10,9 @@ "j" = (/obj/machinery/crystal,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) "k" = (/mob/living/simple_animal/fish/trout,/turf/simulated/floor/water,/area/submap/Cavelake) "l" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) -"m" = (/obj/effect/decal/remains/mouse,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) +"m" = (/obj/random/mob/sif,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) +"n" = (/obj/item/clothing/mask/snorkel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) +"o" = (/obj/effect/decal/remains/mouse,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Cavelake) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -30,11 +32,11 @@ acddddcccjddddddddffhhhhhhhhhhhhhhhhhfca acdddcccccdddddddddffhhhhhhhhhhhhhhhhfca acdddccccccddddddddffhhhhhhhhhhhhhhhhfca acdddjcccccddddddddffhhhhhhhhhhhhhhhkfca -accddddcclddddddddddfhhhhhhhhhhhhhhhhfca +accddddcclmdddddddddfhhhhhhhhhhhhhhhhfca accdddddddddddddddddfhhhhhhhhhhhhhhhhfca accdddddddddddddddddfhhhhhhhhhhhhhhhhfca accdddddddddddddddddffhhhhhhhhhhhhhhhfca -acdddddddddddddddddddfhhhhhihhhhhhhhhfca +acddddddddnddddddddddfhhhhhihhhhhhhhhfca acddddffffffffffffdddffhhhhhhhhhhhhhhfca acdffffhhhhhhhhhffdddfhhhhhhhhhhhhhhffca acfhhhhhkhhhhhhhhfdddfhhhhhhhhhhhhffccca @@ -43,7 +45,7 @@ acdffhhhhhhhhhhhhfddddfhhhhhhhhhfdddcbba acddffhhhhhkhhhhhffdddfhhhhhhhfffdddccba acdddfffhhhhhhhhhhffdddffffffffddddcccba acddgdddffffhhhhhhhfdddddffddddddddcccba -acdddmdddddfffffffffdddddddddddddddcccba +acdddodddddfffffffffdddddddddddddddcccba acdddddddddddddddddddddddddddddddddccbba accddddddddddddddddddddddddddddddddccbba abccdddddddddddddddddddddddddddddddcbbba diff --git a/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm b/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm new file mode 100644 index 00000000000..64ff13e24ec --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm @@ -0,0 +1,133 @@ +"aa" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"ab" = (/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"ac" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"ad" = (/obj/effect/spider/stickyweb,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"ae" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/shuttle/wall/no_join,/area/submap/CrashedMedShuttle) +"af" = (/obj/structure/grille,/obj/structure/shuttle/window,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"ag" = (/turf/simulated/shuttle/wall,/area/submap/CrashedMedShuttle) +"ah" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"ai" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aj" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/sign/warning/airlock{pixel_x = 32},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"ak" = (/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"al" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"am" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"an" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/blood/oil,/obj/structure/loot_pile/surface/bones,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"ao" = (/obj/item/weapon/circuitboard/broken,/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"ap" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"aq" = (/obj/effect/decal/cleanable/liquid_fuel,/mob/living/simple_animal/hostile/giant_spider/webslinger{returns_home = 1},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ar" = (/obj/structure/closet/crate/medical,/obj/random/medical,/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"as" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"at" = (/obj/item/weapon/material/shard,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"au" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"av" = (/obj/random/mob/spider/mutant,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aw" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ax" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ay" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"az" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/item/weapon/firstaid_arm_assembly,/mob/living/simple_animal/hostile/giant_spider/frost{returns_home = 1},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aA" = (/obj/item/stack/rods,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"aB" = (/obj/structure/lattice,/obj/item/stack/rods,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aC" = (/obj/effect/decal/cleanable/blood/oil,/obj/item/weapon/firstaid_arm_assembly,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aD" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aE" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aF" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aG" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aH" = (/obj/machinery/recharge_station,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aI" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aJ" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aK" = (/obj/structure/table/standard,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aL" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"aM" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aN" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aO" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aP" = (/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aQ" = (/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aR" = (/turf/simulated/shuttle/wall/no_join,/area/submap/CrashedMedShuttle) +"aS" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/loot_pile/surface/bones,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aT" = (/obj/machinery/light,/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aU" = (/obj/structure/table/standard,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"aV" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aW" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"aX" = (/obj/machinery/computer,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) +"aY" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) +"aZ" = (/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"ba" = (/obj/random/mob/spider/mutant,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bb" = (/obj/effect/spider/cocoon,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bc" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bd" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"be" = (/obj/effect/spider/stickyweb,/obj/structure/girder/displaced,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bf" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_x = -32},/obj/structure/lattice,/obj/item/device/gps/internal/poi,/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bg" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood/drip,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bh" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bi" = (/obj/effect/decal/mecha_wreckage/odysseus,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bj" = (/obj/item/weapon/material/shard,/obj/effect/spider/stickyweb,/obj/item/weapon/beartrap{anchored = 1; deployed = 1; icon_state = "beartrap1"},/obj/random/trash,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bk" = (/obj/effect/decal/cleanable/blood/oil,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bl" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bm" = (/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bn" = (/mob/living/simple_animal/hostile/giant_spider/webslinger{returns_home = 1},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bo" = (/obj/effect/spider/cocoon,/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bp" = (/obj/structure{anchored = 1; density = 1; desc = "Once an artificial intelligence; now merely a brick of inert metal and circuits."; icon = 'icons/mob/AI.dmi'; icon_state = "ai-empty"; name = "V.I.T.A"},/turf/simulated/shuttle/floor/yellow,/area/submap/CrashedMedShuttle) +"bq" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"br" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bs" = (/obj/effect/decal/cleanable/blood/drip,/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/webslinger,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bt" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bu" = (/obj/effect/decal/remains/tajaran,/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bv" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bw" = (/obj/item/weapon/material/shard,/obj/structure/loot_pile/maint/technical,/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bx" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"by" = (/obj/item/weapon/circuitboard/broken,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bz" = (/obj/structure/girder,/turf/template_noop,/area/submap/CrashedMedShuttle) +"bA" = (/obj/structure/girder/displaced,/turf/template_noop,/area/submap/CrashedMedShuttle) +"bB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (WEST)"; icon_state = "propulsion_r"; dir = 8},/turf/simulated/floor/outdoors/rocks,/area/submap/CrashedMedShuttle) +"bC" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CrashedMedShuttle) +"bD" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"bE" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"bF" = (/obj/random/medical/pillbottle,/mob/living/simple_animal/hostile/giant_spider/webslinger{returns_home = 1},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bG" = (/obj/structure/table/standard,/obj/item/device/defib_kit/loaded,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bH" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bI" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bJ" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bK" = (/obj/structure/table/standard,/obj/item/weapon/surgical/retractor,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bL" = (/obj/item/weapon/material/shard,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"bM" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"bN" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/spider/cocoon,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bO" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/medical_wall/anesthetics{pixel_x = 32},/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bP" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bQ" = (/obj/effect/spider/cocoon,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bR" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/obj/item/weapon/surgical/surgicaldrill,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bS" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"bT" = (/obj/structure/table/standard,/obj/item/device/reagent_scanner/adv,/turf/simulated/shuttle/floor/purple,/area/submap/CrashedMedShuttle) +"bU" = (/obj/machinery/iv_drip,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bV" = (/mob/living/simple_animal/hostile/giant_spider/carrier,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bW" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bX" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bY" = (/obj/structure/table/standard,/obj/item/weapon/storage/backpack/medic,/obj/random/medical/lite,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"bZ" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/obj/random/medical,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ca" = (/obj/structure/girder,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"cb" = (/obj/structure/frame,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"cc" = (/obj/structure/table/standard,/obj/structure/sign/periodic{pixel_y = -32},/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/scalpel,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"cd" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood/splatter,/obj/structure/loot_pile/surface/bones,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ce" = (/obj/structure/table/standard,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/FixOVein,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"cf" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/obj/random/mob/spider/mutant,/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) +"cg" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/medical/emt,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ch" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/obj/effect/spider/stickyweb,/obj/machinery/light,/turf/simulated/shuttle/floor/white,/area/submap/CrashedMedShuttle) +"ci" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null},/turf/simulated/shuttle/plating,/area/submap/CrashedMedShuttle) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaabaaaaabacadaeafagagagaaaaaaabaa +aaaaaaababaaaaahabaiadajagakalamagagagaaaaaa +aaaaaaaaaaaaaaabanagaoapagaqakakarasagagaaaa +aaaaaaaaahaaabatauagavakawaxayavakazakafabaa +aaababaaaAabaBaCaDafakaEagaFaGaHaIaJaKaLabaa +aaabaaaaaMaNacaOaPawakaQaRagagagagagagagabaa +aaaaaaaaababaSaTaUafaVaWaXaYafabaZbabbabaaaa +aaaaaabcbdbeagagagagbfababbgbhaZaVbiababaaaa +aaaaaaabbjbkakblbmafbnbobpbqbrbsbtbuabaaaaaa +aaaaabbvbwbxakakakbyakakagbzbzbAagagagagaaaa +aAabbBbCbDbEbFakakafaQavagbGbHbIbJakbKbLabaa +aaabagagbMbxbNakbOagbPbQbyakakakavbRambSabaa +aaaaabagagbTbUbVbWagadaoagbXakbYambZcacaaaaa +aaaaaaabagcbcccdceagcfajagcgchamagcacaabaaaa +aaaaaaabagagagagagaeciciaeafagagcaabababaaaa +aaaaaaaaababababaaababaaaaaaababaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/IceCave1A.dmm b/maps/submaps/surface_submaps/mountains/IceCave1A.dmm new file mode 100644 index 00000000000..f5778778f99 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/IceCave1A.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/wall/solidrock{block_tele = 0},/area/submap/cave/IceCave1A) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1A) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1A) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1A) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1A) +"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1A) +"g" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1A) +"h" = (/obj/random/firstaid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1A) +"i" = (/obj/random/ammo,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1A) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aacccccdccccccccddaabbbbbbbbbbaaaefggaaa +aaccccccccccccccddaaabbbbbbbbaaagfffghaa +aaccccccccccccccaaaaaaaaaaaaaaaafffffiaa +aaccccccccccdcccaaaaaaaaaaaaaaaffffffeaa +aadccccccccccccdaaaaaaccccdccggffffffaaa +aaccccccccccccccaaaaaacccccccffffgefgaaa +aaccccccccccccccffffffdccccccgggaaaaaaaa +aacccccccccdccccffggffccdcccdgggaaaaaaab +aaccdcccccccccccaaaaaaddaaaaaaaaaaabbbbb +aaccccdccccccccdaaaaaaddageffffaaaabbbbb +aaccccccdcccccccaaggffgdagfffffaabbbbbbb +aaccccccccccccccaafffffgaaafafgaabbbbbbb +aaaaaadddddddddfffffgfffffffaffaabbbbbbb +aaaaaagggfffgddddggggggffgffaffaabbbbbbb +aagggfffffffffccaaaaaaaafffgagfaabbbbbbb +aagfffffffffffccaaaaaaaaggggaffaabbbbbbb +aaaggfaaaaaaaaccaaaaaaagfffffffaabbbbbbb +aaaaffaaaaaaaaccaaaaaaaffffffaaaabbbbbbb +aaaaffgaaaaaaaccccccddafffffgaaaabbbbbbb +aaaaaffgaaaaaaccccccddaagfaaaaabbbbbbbbb +aaaagfffaaaaaaaaddccffgfffaaaaabbbbbbbbb +aaaggafffaaaaaaaddccffffffaabbbbbbbbbbbb +faaaaafffgaaaaaaaaaaaafffgaabbbbbbbbbbbb +ffaaaagffaaaaaaaaaaaaaggggaabbbbbbbbbbbb +fffffffffaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +ffffffffaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/IceCave1B.dmm b/maps/submaps/surface_submaps/mountains/IceCave1B.dmm new file mode 100644 index 00000000000..27346dee749 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/IceCave1B.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/wall/solidrock{block_tele = 0},/area/submap/cave/IceCave1B) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1B) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1B) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1B) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1B) +"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1B) +"g" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1B) +"h" = (/obj/random/firstaid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1B) +"i" = (/obj/random/ammo,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1B) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aaccccccccccccccddaabbbbbbbbbbaaaefggaaa +aaccdcccccccccccddaaabbbbbbbbaaagfffghaa +aacccccccccdccccaaaaaaaaaaaaaaaafffffiaa +aaccccccccccccccaaaaaaaaaaaaaaaffffffeaa +aaccdcccccccccccaaaaaacccccccggffffffaaa +aacccccccccccccdaaaaaacccccccffffgefgaaa +aaccccccccccccccffffffdccccccgggaaaaaaaa +aacccdccccccccccffggffcccccccgggaaaaaaab +aacccccccccccccdaaaaaaddaaaaaaaaaaabbbbb +aacccccdccccccccaaaaaaddageffffaaaabbbbb +aacccccccccdccccaaggffgdagfffffaabbbbbbb +aacdccccccccccccaafffffgaaafafgaabbbbbbb +aaaaaadddddddddfffffgfffffffaffaabbbbbbb +aaaaaagggfffgddddggggggffgffaffaabbbbbbb +aagggfffffffffccaaaaaaaafffgagfaabbbbbbb +aagfffffffffffccaaaaaaaaggggaffaabbbbbbb +aaaggfaaaaaaaaccaaaaaaagfffffffaabbbbbbb +aaaaffaaaaaaaaccaaaaaaaffffffaaaabbbbbbb +aaaaffgaaaaaaaccccccddafffffgaaaabbbbbbb +aaaaaffgaaaaaaccccccddaagfaaaaabbbbbbbbb +aaaagfffaaaaaaaaddccffgfffaaaaabbbbbbbbb +aaaggafffaaaaaaaddccffffffaabbbbbbbbbbbb +faaaaafffgaaaaaaaaaaaafffgaabbbbbbbbbbbb +ffaaaagffaaaaaaaaaaaaaggggaabbbbbbbbbbbb +fffffffffaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +ffffffffaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/IceCave1C.dmm b/maps/submaps/surface_submaps/mountains/IceCave1C.dmm new file mode 100644 index 00000000000..e8760952351 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/IceCave1C.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/wall/solidrock{block_tele = 0},/area/submap/cave/IceCave1C) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1C) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1C) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1C) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1C) +"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1C) +"g" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1C) +"h" = (/obj/random/firstaid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1C) +"i" = (/obj/random/ammo,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1C) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aaccccccccccccccddaabbbbbbbbbbaaaefggaaa +aacdccccccccccccddaaabbbbbbbbaaagfffghaa +aacccccccccccccdaaaaaaaaaaaaaaaafffffiaa +aaccccccccccccccaaaaaaaaaaaaaaaffffffeaa +aacccccccccccdccaaaaaadcccccdgfffffffaaa +aaccccdcccccccccaaaaaacccccddggffgefgaaa +aaccccccccccccccfffffgcdcccccfffaaaaaaaa +aacccccdccccccccffggffccccdddgggaaaaaaab +aaccccccccdcccccaaaaaaddaaaaaaaaaaabbbbb +aaccdcccccccccccaaaaaaddageffffaaaabbbbb +aadcccccccccccccaaggffgdagfffffaabbbbbbb +aaccccccccccccdcaafffffgaaafafgaabbbbbbb +aaaaaadddddddddfffffgfffffffaffaabbbbbbb +aaaaaagggfffgddddggggggffgffaffaabbbbbbb +aagggfffffffffccaaaaaaaafffgagfaabbbbbbb +aagfffffffffffccaaaaaaaaggggaffaabbbbbbb +aaaggfaaaaaaaaccaaaaaaagfffffffaabbbbbbb +aaaaffaaaaaaaaccaaaaaaaffffffaaaabbbbbbb +aaaaffgaaaaaaaccccccddafffffgaaaabbbbbbb +aaaaaffgaaaaaaccccccddaagfaaaaabbbbbbbbb +aaaagfffaaaaaaaaddccffgfffaaaaabbbbbbbbb +aaaggafffaaaaaaaddccffffffaabbbbbbbbbbbb +faaaaafffgaaaaaaaaaaaafffgaabbbbbbbbbbbb +ffaaaagffaaaaaaaaaaaaaggggaabbbbbbbbbbbb +fffffffffaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +ffffffffaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/Rockb1.dmm b/maps/submaps/surface_submaps/mountains/Rockb1.dmm index 3880ecaa086..b9d9a4ef96f 100644 --- a/maps/submaps/surface_submaps/mountains/Rockb1.dmm +++ b/maps/submaps/surface_submaps/mountains/Rockb1.dmm @@ -1,10 +1,10 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/Rockb1) "c" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/Rockb1) -"d" = (/turf/simulated/mineral/ignore_mapgen/sif,/area/submap/Rockb1) +"d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rockb1) "e" = (/turf/simulated/wall/r_wall,/area/submap/Rockb1) "f" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/lino,/area/submap/Rockb1) -"g" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/gun/projectile/pistol,/obj/item/ammo_magazine/m9mm/compact,/obj/item/ammo_magazine/m9mm/compact,/turf/simulated/floor/lino,/area/submap/Rockb1) +"g" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/gun/projectile/pistol,/obj/item/ammo_magazine/m9mm/compact,/turf/simulated/floor/lino,/area/submap/Rockb1) "h" = (/obj/structure/bookcase,/turf/simulated/floor/lino,/area/submap/Rockb1) "i" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/submap/Rockb1) "j" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled,/area/submap/Rockb1) @@ -24,22 +24,25 @@ "x" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5},/turf/simulated/floor/tiled,/area/submap/Rockb1) "y" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockb1) "z" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"A" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockb1) -"B" = (/obj/machinery/power/apc{operating = 0; pixel_x = 31},/turf/simulated/floor/tiled,/area/submap/Rockb1) -"C" = (/obj/machinery/door/airlock,/turf/space,/area/submap/Rockb1) -"D" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/hydro,/area/submap/Rockb1) -"E" = (/obj/structure/toilet{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/hydro,/area/submap/Rockb1) -"F" = (/obj/structure/table/standard,/obj/item/weapon/pickaxe/drill,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"G" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"H" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/excavation,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"I" = (/obj/structure/table/standard,/obj/item/stack/material/cyborg/steel,/obj/item/stack/material/cyborg/glass,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"J" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"K" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"L" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled,/area/submap/Rockb1) -"M" = (/turf/simulated/floor/plating,/area/submap/Rockb1) -"N" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5},/turf/simulated/floor/plating,/area/submap/Rockb1) -"O" = (/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor/plating,/area/submap/Rockb1) -"P" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/submap/Rockb1) +"A" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockb1) +"B" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockb1) +"C" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockb1) +"D" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; operating = 0; pixel_x = 24},/turf/simulated/floor/tiled,/area/submap/Rockb1) +"E" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockb1) +"F" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/hydro,/area/submap/Rockb1) +"G" = (/obj/structure/toilet{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/hydro,/area/submap/Rockb1) +"H" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor/plating,/area/submap/Rockb1) +"I" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{dir = 8},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/submap/Rockb1) +"J" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/excavation,/turf/simulated/floor/tiled,/area/submap/Rockb1) +"K" = (/obj/structure/table/standard,/obj/item/weapon/pickaxe/drill,/turf/simulated/floor/tiled,/area/submap/Rockb1) +"L" = (/obj/structure/table/standard,/obj/fiftyspawner/glass,/obj/fiftyspawner/steel,/turf/simulated/floor/tiled,/area/submap/Rockb1) +"M" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/tiled,/area/submap/Rockb1) +"N" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockb1) +"O" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled,/area/submap/Rockb1) +"P" = (/turf/simulated/floor/plating,/area/submap/Rockb1) +"Q" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5},/turf/simulated/floor/plating,/area/submap/Rockb1) +"R" = (/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor/plating,/area/submap/Rockb1) +"S" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/submap/Rockb1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaa @@ -53,10 +56,10 @@ abcddepqrestmetumvedcccba abcddeeewemtteweeeeecccba accddemtxmmtttttxyzycccba abdddeweeeeeeeweeeeecccba -abdddettABetAmtCDEedcccba -abdddeFGHmetIJKeeeedcccba -abcddeeeeeeLeeeeddddcccba -abccddddddeMNOPedddccccba +abdddeABCDetEmtwFGedcccba +abdddeHIJKetLMNeeeedcccba +abcddeeeeeeOeeeeddddcccba +abccddddddePQRSedddccccba abccddddddeeeeeedccccccba abcccccccddddddddddccccba abbcccccccccccccccccccbba diff --git a/maps/submaps/surface_submaps/mountains/Scave1.dmm b/maps/submaps/surface_submaps/mountains/Scave1.dmm index 075cf84f004..0e45423d3b8 100644 --- a/maps/submaps/surface_submaps/mountains/Scave1.dmm +++ b/maps/submaps/surface_submaps/mountains/Scave1.dmm @@ -4,16 +4,17 @@ "d" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "e" = (/obj/effect/spider/spiderling/frost,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) "f" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"g" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"h" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"i" = (/mob/living/simple_animal/hostile/giant_spider/frost,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"j" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"k" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"l" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"m" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"n" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"o" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/frost,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) -"p" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"g" = (/obj/random/mob/spider/mutant,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"h" = (/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c100,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"i" = (/obj/random/mob/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"j" = (/obj/item/weapon/grenade/spawnergrenade/spider,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"k" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"l" = (/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"m" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"n" = (/obj/item/device/flashlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"o" = (/mob/living/simple_animal/hostile/giant_spider/frost,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"p" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) +"q" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/Scave1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -22,24 +23,24 @@ aabbbbbbaabbbbbaaaaaaabbbbbaaa abbbbbbbbbbbbbbbbbbbbbbbbbbaaa aabbbbbbcbbbbbbbbbbbbbbbdbbbaa aabbbbdeddbbbcccbbbbbdddeddbaa -aadbbfddddcbbdedbbbbbddddddbaa -aadbbgfbbdddddddbccedddbdedbba -aabbbbbbbddcdddddddddddbhibbaa -aabbbbbbdddbbbjcddddddbbbbbbaa -aabbbbbcdidbbbbbbcdiddcbbbbaaa -aabbbbbcddcbbbbbbbddddcbbbaaaa -aabbbbbbidcbbbbbbbdiddcbbbaaaa -aabbbbbbdddbbbbbbkddddcbbbaaaa -aabbbbbbdcdbbbbbblddddcbbbaaaa -aabbbbbbdddbbbbbbcddidcbbbaaaa -aadbbbbbddibbbbbbbccdddbbbaaaa -aamdbbbbddbbbbbbbbbicddbbbaaaa +aadbbfddddcbbdedbbbbbdgddddbaa +aadbbhfbbiddddddbccedddbdedbba +aabbbbbbbddcdddddddddddbjgbbaa +aabbbbbbdddbbbkcddddddbbbbbbaa +aabbbbbcdddbbbbbbcddddcbbbbaaa +aabbbbbcddcbbbbbbbdiddcbbbaaaa +aabbbbbbgdcbbbbbbbddddcbbbaaaa +aabbbbbbdddbbbbbblddddcbbbaaaa +aabbbbbbdcdbbbbbbmddgdcbbbaaaa +aabbbbbbdddbbbbbbcddddcbbbaaaa +aadbbbbbdddbbbbbbbccdddbbbaaaa +aandbbbbddbbbbbbbbbocddbbbaaaa aaddbbbbdddbbbbbbbbbbddbbdaaaa -aadddnddedddbbbbbbbbdedbbdaaaa -aaddnncddddddobcdddddcbbbdaaaa -aapdbbbbbdddddddddddcbbbbdaaaa +aadddpddedddbbbbbbbbdedbbdaaaa +aaddppcdddgddcbcdddddcbbbdaaaa +aaqdbbbbbdddddddddddcbbbbdaaaa aabbbbbbbbcdddcdddddcbbbbbaaaa -aabbbbbbbbbbbbbbbibbbbbbbbaaaa +aabbbbbbbbbbbbbbbgbbbbbbbbaaaa aabbbbbbbbbbbbbbbbbbbbbbbbaaaa aaaaabbbbabbbbbbbaabbbbbbaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm b/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm new file mode 100644 index 00000000000..7d2dac4f133 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/simulated/mineral,/area/submap/cave/SupplyDrop1) +"b" = (/turf/template_noop,/area/template_noop) +"c" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/SupplyDrop1) +"d" = (/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) +"e" = (/obj/structure/droppod_door{dir = 1},/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) +"f" = (/turf/simulated/floor/reinforced,/area/submap/cave/SupplyDrop1) +"g" = (/obj/structure/droppod_door{dir = 8},/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) +"h" = (/obj/structure/closet/crate,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/storage/box/flare,/obj/item/stack/marker_beacon/ten,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/item/trash/tastybread,/obj/item/trash/tastybread,/obj/item/trash/sosjerky,/obj/item/trash/sosjerky,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/weapon/flame/lighter/random,/obj/item/device/gps,/turf/simulated/floor/reinforced,/area/submap/cave/SupplyDrop1) +"i" = (/obj/structure/droppod_door{dir = 4},/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) +"j" = (/obj/structure/droppod_door,/turf/simulated/wall/titanium,/area/submap/cave/SupplyDrop1) + +(1,1,1) = {" +aabbbccccb +aacccaaccb +acccccaccb +acccdedccb +cccddfddcc +cccgfhficc +bccddfddac +bbcadjdcac +bbaaacccac +bbcccccccc +"} diff --git a/maps/submaps/surface_submaps/mountains/SwordCave.dmm b/maps/submaps/surface_submaps/mountains/SwordCave.dmm new file mode 100644 index 00000000000..8c15e58da88 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/SwordCave.dmm @@ -0,0 +1,55 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/mineral,/area/submap/cave/swordcave) +"c" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) +"d" = (/obj/machinery/crystal,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) +"e" = (/turf/simulated/floor/water,/area/submap/cave/swordcave) +"f" = (/turf/simulated/floor/water/deep,/area/submap/cave/swordcave) +"g" = (/obj/structure/ghost_pod/manual/cursedblade,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) +"h" = (/mob/living/simple_animal/hostile/faithless/cult,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) +"i" = (/obj/item/device/gps/explorer,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) +"j" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) +"k" = (/mob/living/simple_animal/hostile/scarybat/cult,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/swordcave) + +(1,1,1) = {" +aaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaa +aaaaabbbbbbbbbbbcccdccccbbbbbbbbbbbbaaaaa +aaaabbbbbbcccccccccccccccccccccbbbbbbaaaa +aaabbbbbbcccccccccccccccccccccccdbbbbbaaa +aabbbbccccccceeeeeeeeeeeeeccccccccbbbbbaa +aabbbccccccceeeeeeeeeeeeeeeccccccccbbbbaa +aabbbcdcccceeeffffffffffffeeeccccccbbbbaa +aabbbccccceefeeeeeeefeeeeeeeeecccccbbbbaa +aabbbccccceefeeccceeeeeeeefffeeccccbbbaaa +aabbbcccceeffeecccccecccceefffeecccbbbaaa +aabbbcccceeffeeeccgcccchcceeffeecccbbbaaa +aabbbcccdeeffeeccijcdccccceefeeccdcbbbaaa +abbbccccceefffeeeccccccceeefeeccccccbbaaa +abbbcccccceefffeeeccccceeeffeeccccccbbbaa +abbbcdccccceefffeeeeeeeeffffeeccccccbbbaa +abbcccckcccceeffffeeeeefffffeeccccccbbbaa +abbcccccccccceeffffffffffffeeccccdccbbbaa +abbccccccccccceeffeeeeeefffeecccccccbbbaa +abbbccccdcccccceefeeeeeeeeeeckccccccbbbaa +abbbcccccccccccceeecccdceeecccccccccbbaaa +abbbcccccccccccccecccccccceccccdckccbbaaa +abbbcccccccccckcccccccccccccccccccccbbaaa +abbbbcccccckccccccccccccccckccccccccbbaaa +abbbbbcccccccccccccccckccccccccckcccbbaaa +aabbbbbccccccccccccccccccccccccccccbbbaaa +aabbbbbccccccccccccdccccccccccccccbbbbaaa +aabbbbbcccccdccccccccccccccccccccbbbbbaaa +aabbbbbccccccccccckccccccccdcccccbbbbaaaa +aabbbbbbbccccccccccccccccccccccccbbbbaaaa +aaabbbbbbbcccccccccccccccdccccccbbbbaaaaa +aaaabbbbbbcckcccccdcccccccccccccbbbbaaaaa +aaaaabbbbbcccccccccccccccccccccbbbbbaaaaa +aaaaabbbbbccccccccccccccccccccbbbbbaaaaaa +aaaaaabbbbbcccdccccccccccccccbbbbbaaaaaaa +aaaaaaabbbbbcccccccckccccckcbbbbbbaaaaaaa +aaaaaaabbbbbbcccccccccccccccbbbbbaaaaaaaa +aaaaaaabbbbbbbbbbbbccccccccccbbbaaaaaaaaa +aaaaaaaaabbbbbbbbbbbccccccccccbaaaaaaaaaa +aaaaaaaaaaabbbbbbbbbbccccccccccaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaacccdccccaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaccccccaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/backup/IceCave1.dmm b/maps/submaps/surface_submaps/mountains/backup/IceCave1.dmm new file mode 100644 index 00000000000..5f78f87858e --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/backup/IceCave1.dmm @@ -0,0 +1,37 @@ +"a" = (/turf/simulated/wall/dungeon/rock{block_tele = 0},/area/submap/cave/IceCave1) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"e" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"f" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aacccccdccccccccddaabbbbbbbbbbaaaeeffaaa +aaccccccccccccccddaaabbbbbbbbaaaeeeefeaa +aaccccccccccccccaaaaaaaaaaaaaaaaeeeeeeaa +aaccccccccccdcccaaaaaaaaaaaaaaaeeeeeeeaa +aadccccccccccccdaaaaaaccccdccffeeeeeeaaa +aaccccccccccccccaaaaaaccccccceeeeeeefaaa +aacccccccccccccceeeeeedccccccfffaaaaaaaa +aacccccccccdcccceeeeeeccdcccdfffaaaaaaab +aaccdcccccccccccaaaaaaddaaaaaaaaaaabbbbb +aaccccdccccccccdaaaaaaddafeeeeeaaaabbbbb +aaccccccdcccccccaaffeefdafeeeeeaabbbbbbb +aaccccccccccccccaaeeeeefaaaeaefaabbbbbbb +aaaaaadddddddddeeeeefeeeeeeeaeeaabbbbbbb +aaaaaafffeeeeddddffffffeefeeaeeaabbbbbbb +aafffeeeeeeeeeccaaaaaaaaeeefafeaabbbbbbb +aafeeeeeeeeeeeccaaaaaaaaffffaeeaabbbbbbb +aaaffeaaaaaaaaccaaaaaaaeeeeeeeeaabbbbbbb +aaaaeeaaaaaaaaccaaaaaaaeeeeeeaaaabbbbbbb +aaaaeefaaaaaaaccccccddaeeeeeeaaaabbbbbbb +aaaaaeefaaaaaaccccccddaafeaaaaabbbbbbbbb +aaaafeeeaaaaaaaaddcceeeeeeaaaaabbbbbbbbb +aaaffaeeeaaaaaaaddcceeeeeeaabbbbbbbbbbbb +eaaaaaeeefaaaaaaaaaaaaeeefaabbbbbbbbbbbb +eeaaaafeeaaaaaaaaaaaaaffffaabbbbbbbbbbbb +eeeeeeeeeaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +eeeeeeeeaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/backup/IceCave1A.dmm b/maps/submaps/surface_submaps/mountains/backup/IceCave1A.dmm new file mode 100644 index 00000000000..4bc4a5c69ab --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/backup/IceCave1A.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/wall/solidrock{block_tele = 0},/area/submap/cave/IceCave1) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"g" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"h" = (/obj/random/firstaid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"i" = (/obj/random/ammo,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aacccccdccccccccddaabbbbbbbbbbaaaefggaaa +aaccccccccccccccddaaabbbbbbbbaaagfffghaa +aaccccccccccccccaaaaaaaaaaaaaaaafffffiaa +aaccccccccccdcccaaaaaaaaaaaaaaaffffffeaa +aadccccccccccccdaaaaaaccccdccggffffffaaa +aaccccccccccccccaaaaaacccccccffffgefgaaa +aaccccccccccccccffffffdccccccgggaaaaaaaa +aacccccccccdccccffggffccdcccdgggaaaaaaab +aaccdcccccccccccaaaaaaddaaaaaaaaaaabbbbb +aaccccdccccccccdaaaaaaddageffffaaaabbbbb +aaccccccdcccccccaaggffgdagfffffaabbbbbbb +aaccccccccccccccaafffffgaaafafgaabbbbbbb +aaaaaadddddddddfffffgfffffffaffaabbbbbbb +aaaaaagggfffgddddggggggffgffaffaabbbbbbb +aagggfffffffffccaaaaaaaafffgagfaabbbbbbb +aagfffffffffffccaaaaaaaaggggaffaabbbbbbb +aaaggfaaaaaaaaccaaaaaaagfffffffaabbbbbbb +aaaaffaaaaaaaaccaaaaaaaffffffaaaabbbbbbb +aaaaffgaaaaaaaccccccddafffffgaaaabbbbbbb +aaaaaffgaaaaaaccccccddaagfaaaaabbbbbbbbb +aaaagfffaaaaaaaaddccffgfffaaaaabbbbbbbbb +aaaggafffaaaaaaaddccffffffaabbbbbbbbbbbb +faaaaafffgaaaaaaaaaaaafffgaabbbbbbbbbbbb +ffaaaagffaaaaaaaaaaaaaggggaabbbbbbbbbbbb +fffffffffaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +ffffffffaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/backup/IceCave1B.dmm b/maps/submaps/surface_submaps/mountains/backup/IceCave1B.dmm new file mode 100644 index 00000000000..4bc4a5c69ab --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/backup/IceCave1B.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/wall/solidrock{block_tele = 0},/area/submap/cave/IceCave1) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"g" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"h" = (/obj/random/firstaid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"i" = (/obj/random/ammo,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aacccccdccccccccddaabbbbbbbbbbaaaefggaaa +aaccccccccccccccddaaabbbbbbbbaaagfffghaa +aaccccccccccccccaaaaaaaaaaaaaaaafffffiaa +aaccccccccccdcccaaaaaaaaaaaaaaaffffffeaa +aadccccccccccccdaaaaaaccccdccggffffffaaa +aaccccccccccccccaaaaaacccccccffffgefgaaa +aaccccccccccccccffffffdccccccgggaaaaaaaa +aacccccccccdccccffggffccdcccdgggaaaaaaab +aaccdcccccccccccaaaaaaddaaaaaaaaaaabbbbb +aaccccdccccccccdaaaaaaddageffffaaaabbbbb +aaccccccdcccccccaaggffgdagfffffaabbbbbbb +aaccccccccccccccaafffffgaaafafgaabbbbbbb +aaaaaadddddddddfffffgfffffffaffaabbbbbbb +aaaaaagggfffgddddggggggffgffaffaabbbbbbb +aagggfffffffffccaaaaaaaafffgagfaabbbbbbb +aagfffffffffffccaaaaaaaaggggaffaabbbbbbb +aaaggfaaaaaaaaccaaaaaaagfffffffaabbbbbbb +aaaaffaaaaaaaaccaaaaaaaffffffaaaabbbbbbb +aaaaffgaaaaaaaccccccddafffffgaaaabbbbbbb +aaaaaffgaaaaaaccccccddaagfaaaaabbbbbbbbb +aaaagfffaaaaaaaaddccffgfffaaaaabbbbbbbbb +aaaggafffaaaaaaaddccffffffaabbbbbbbbbbbb +faaaaafffgaaaaaaaaaaaafffgaabbbbbbbbbbbb +ffaaaagffaaaaaaaaaaaaaggggaabbbbbbbbbbbb +fffffffffaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +ffffffffaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/backup/IceCave1C.dmm b/maps/submaps/surface_submaps/mountains/backup/IceCave1C.dmm new file mode 100644 index 00000000000..4bc4a5c69ab --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/backup/IceCave1C.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/simulated/wall/solidrock{block_tele = 0},/area/submap/cave/IceCave1) +"b" = (/turf/template_noop,/area/submap/cave/IceCave1) +"c" = (/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"d" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/submap/cave/IceCave1) +"e" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"g" = (/obj/machinery/crystal/ice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"h" = (/obj/random/firstaid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) +"i" = (/obj/random/ammo,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/IceCave1) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbaaaaaaaaa +aaaaaaaaaaaaaaaaaaaabbbbbbbbbbaaaaaaaaaa +aacccccdccccccccddaabbbbbbbbbbaaaefggaaa +aaccccccccccccccddaaabbbbbbbbaaagfffghaa +aaccccccccccccccaaaaaaaaaaaaaaaafffffiaa +aaccccccccccdcccaaaaaaaaaaaaaaaffffffeaa +aadccccccccccccdaaaaaaccccdccggffffffaaa +aaccccccccccccccaaaaaacccccccffffgefgaaa +aaccccccccccccccffffffdccccccgggaaaaaaaa +aacccccccccdccccffggffccdcccdgggaaaaaaab +aaccdcccccccccccaaaaaaddaaaaaaaaaaabbbbb +aaccccdccccccccdaaaaaaddageffffaaaabbbbb +aaccccccdcccccccaaggffgdagfffffaabbbbbbb +aaccccccccccccccaafffffgaaafafgaabbbbbbb +aaaaaadddddddddfffffgfffffffaffaabbbbbbb +aaaaaagggfffgddddggggggffgffaffaabbbbbbb +aagggfffffffffccaaaaaaaafffgagfaabbbbbbb +aagfffffffffffccaaaaaaaaggggaffaabbbbbbb +aaaggfaaaaaaaaccaaaaaaagfffffffaabbbbbbb +aaaaffaaaaaaaaccaaaaaaaffffffaaaabbbbbbb +aaaaffgaaaaaaaccccccddafffffgaaaabbbbbbb +aaaaaffgaaaaaaccccccddaagfaaaaabbbbbbbbb +aaaagfffaaaaaaaaddccffgfffaaaaabbbbbbbbb +aaaggafffaaaaaaaddccffffffaabbbbbbbbbbbb +faaaaafffgaaaaaaaaaaaafffgaabbbbbbbbbbbb +ffaaaagffaaaaaaaaaaaaaggggaabbbbbbbbbbbb +fffffffffaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +ffffffffaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbb +"} diff --git a/maps/submaps/surface_submaps/mountains/backup/temple.dmm b/maps/submaps/surface_submaps/mountains/backup/temple.dmm new file mode 100644 index 00000000000..35a0478e3f8 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/backup/temple.dmm @@ -0,0 +1,69 @@ +"a" = (/turf/template_noop,/area/submap/AbandonedTemple) +"b" = (/turf/simulated/mineral/floor,/area/submap/AbandonedTemple) +"c" = (/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"d" = (/turf/simulated/wall/sandstone,/area/submap/AbandonedTemple) +"e" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"f" = (/obj/effect/decal/remains/mummy1,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"g" = (/turf/simulated/wall/sandstonediamond,/area/submap/AbandonedTemple) +"h" = (/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"i" = (/obj/item/weapon/ectoplasm,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"j" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/phoron,/obj/item/weapon/coin/platinum,/obj/item/weapon/coin/uranium,/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/phoron,/obj/item/weapon/coin/platinum,/obj/item/weapon/coin/uranium,/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/phoron,/obj/item/weapon/coin/platinum,/obj/item/weapon/coin/uranium,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"k" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"l" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"m" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"n" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"o" = (/obj/structure/loot_pile/maint/technical,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"p" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"q" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red,/obj/item/weapon/flame/lighter/zippo/royal,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"r" = (/obj/effect/rune,/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"s" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"t" = (/obj/machinery/artifact,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"u" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"v" = (/obj/structure/table/woodentable,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"w" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"x" = (/obj/effect/decal/cleanable/blood/xeno,/obj/effect/decal/remains/posi,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"y" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle/candleabra/everburn,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"z" = (/obj/structure/simple_door/gold,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"A" = (/obj/effect/decal/remains/posi,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"B" = (/obj/machinery/crystal{icon_state = "crystal3"; light_color = "#f44256"; light_power = 3},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/crystal1) +"C" = (/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"D" = (/obj/machinery/crystal{icon_state = "crystal3"; light_color = "#f44256"; light_power = 3},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"E" = (/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"F" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/remains/human,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"G" = (/obj/structure/table/woodentable,/obj/item/weapon/paper/alien{desc = ""; icon_state = "alienpaper_words"; info = "(On the screen of the tablet are several lines of characters written in a language you don't seem to recognize. At the end of each line is a set of numbers seperated by a colon. The screen flickers occasionally, as if damaged. Nothing about the tablet seems particularly interesting, but it does seem very, very old.)"},/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"H" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"I" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"J" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"K" = (/obj/structure/table/bench/wooden,/obj/effect/decal/remains/xeno,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"L" = (/obj/structure/simple_door/sandstone,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"M" = (/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/flame/candle/candleabra/everburn,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"N" = (/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/flame/candle/candleabra/everburn,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"O" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor,/area/submap/AbandonedTemple) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +aaabbbbbbbbbbbbbbbbbbaaaa +aaccccccccccccccccccccaaa +abcddddddddddddddddddcbaa +abcdefghihgjkgclmgnodcbaa +abcdpqgcrsgccgctcgccdcbaa +abcduvghchgppgwccgcxdcbaa +abcdpygzgggppgggzgncdcbaa +abcdppgccccccccccgccdcbaa +abcdppggggzggzggggcAdcbaa +abcdwcgBCccccccCDgcndcbaa +abcdcEgccwpFppcccgcldcbaa +abcdcczcccpGyHlcczwndcbaa +abcddsgccIIccIIccgnddcbaa +abcmddgccccccccccgddJcbaa +abbcmddccKIccIIcsddccbbaa +abbbccddDccwsccDddccbbbaa +abbbbccddddLLddddJcbbbbaa +abbbbbccmdMccNdsccbbbbbaa +abbbbbbbcdcwccdcbbbbbbbaa +aabbbbbbcddLLddcbbbbbbaaa +aaabbbbbsccccsccbbbbbaaaa +aaaabbbbbbbbObbbbbbbaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm b/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm index e977d9ba4d1..46ea1b90b93 100644 --- a/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm +++ b/maps/submaps/surface_submaps/mountains/crashed_ufo.dmm @@ -37,7 +37,7 @@ "aK" = (/obj/item/weapon/crowbar/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aL" = (/obj/item/stack/cable_coil/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aM" = (/obj/structure/table/alien,/obj/item/prop/alien/junk,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) -"aN" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/alien_vessel,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) +"aN" = (/obj/structure/table/alien,/obj/item/weapon/paper/alien{icon_state = "alienpaper_words"; info = "\[i]This tablet has a large collection of symbols that you've never seen before outside this ship. You have no hope of figuring out what any of the mean...\[/i]"},/obj/item/device/gps/internal/poi,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aO" = (/obj/structure/prop/alien/computer{tag = "icon-console-c (EAST)"; icon_state = "console-c"; dir = 4},/turf/simulated/shuttle/floor/alien,/area/submap/cave/crashed_ufo) "aP" = (/obj/structure/table/alien,/obj/item/clothing/accessory/medal/dungeon/alien_ufo,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) "aQ" = (/obj/structure/table/alien,/obj/item/weapon/weldingtool/alien,/turf/simulated/shuttle/floor/alienplating,/area/submap/cave/crashed_ufo) diff --git a/maps/submaps/surface_submaps/mountains/digsite.dmm b/maps/submaps/surface_submaps/mountains/digsite.dmm new file mode 100644 index 00000000000..928a1a85ec9 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/digsite.dmm @@ -0,0 +1,63 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/cave/digsite) +"c" = (/turf/simulated/wall/sandstone,/area/submap/cave/digsite) +"d" = (/obj/structure/boulder,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"e" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"f" = (/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"g" = (/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"h" = (/obj/item/weapon/ore,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"i" = (/obj/structure/bed/alien,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"j" = (/obj/structure/cult/talisman,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"k" = (/obj/machinery/artifact,/obj/structure/anomaly_container,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"l" = (/obj/structure/simple_door/sandstone,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"m" = (/obj/structure/loot_pile/surface/alien,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"n" = (/mob/living/simple_animal/tindalos,/turf/simulated/floor/tiled/kafel_full/yellow,/area/submap/cave/digsite) +"o" = (/obj/structure/closet/crate/secure/loot,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"p" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"q" = (/obj/effect/floor_decal/asteroid,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"r" = (/obj/structure/anomaly_container,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"s" = (/turf/simulated/wall,/area/submap/cave/digsite) +"t" = (/obj/item/frame/apc,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"u" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"v" = (/obj/structure/table/steel,/obj/item/weapon/storage/excavation,/obj/item/device/measuring_tape,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"w" = (/obj/machinery/power/port_gen/pacman/super,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"x" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"y" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"z" = (/obj/structure/table/steel,/obj/item/weapon/folder,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"A" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"B" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"C" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"D" = (/obj/structure/table/steel,/obj/random/tech_supply,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"E" = (/obj/structure/table/rack,/obj/item/weapon/shovel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"F" = (/obj/structure/boulder,/obj/effect/decal/mecha_wreckage/ripley,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"G" = (/obj/structure/boulder,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"H" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/plating/external,/area/submap/cave/digsite) +"I" = (/obj/structure/table/steel,/obj/item/weapon/wrench,/obj/item/weapon/storage/box/samplebags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"J" = (/obj/structure/table/steel,/obj/item/stack/flag/yellow,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"K" = (/obj/random/toolbox,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"L" = (/obj/structure/closet/crate,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"M" = (/obj/machinery/floodlight,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) +"N" = (/obj/structure/ore_box,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/digsite) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaa +aaabbbbbbbbbbbbbbbaa +aabccccccccdccccceea +abccffcfffghgcficcea +abcfffcffjggfcfffcea +abcfkflffggfffffmcea +abcfffcffffffgfffcea +abccffcffffffgnfccea +abbccccclccfhccggeea +abbbbboeffffepqeeeea +abbbbbbeeeeeeeeeeeea +abbbbbbpeeeeeqereeea +abbbbsteeuveeeerbeea +abbbbwxeyzAeqeBbbbea +abbbbCgeyDEeeeeFbbba +abeeGHgeqIJeeeqbbbba +aeeeKeeeeLMeeeNbbeaa +aaeeeeeeeeeeeeNeeeaa +aaaaaeeeeeeeeeeeeaaa +aaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/lost_explorer.dmm b/maps/submaps/surface_submaps/mountains/lost_explorer.dmm index 6ae89fea3ce..a7728ecdb97 100644 --- a/maps/submaps/surface_submaps/mountains/lost_explorer.dmm +++ b/maps/submaps/surface_submaps/mountains/lost_explorer.dmm @@ -4,7 +4,7 @@ "d" = (/obj/item/weapon/material/knife/tacknife/survival,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) "e" = (/obj/item/clothing/shoes/boots/winter/explorer,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) "f" = (/obj/item/clothing/under/explorer,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) -"g" = (/obj/item/clothing/suit/storage/hooded/explorer,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) +"g" = (/obj/item/clothing/suit/storage/hooded/explorer,/obj/item/weapon/cell/device,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) "h" = (/obj/item/device/gps/explorer,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) "i" = (/obj/item/device/flashlight/lantern,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/lost_explorer) diff --git a/maps/submaps/surface_submaps/mountains/mountains.dm b/maps/submaps/surface_submaps/mountains/mountains.dm index 6cb0e085c3f..c661b94bec5 100644 --- a/maps/submaps/surface_submaps/mountains/mountains.dm +++ b/maps/submaps/surface_submaps/mountains/mountains.dm @@ -14,6 +14,22 @@ #include "lost_explorer.dmm" #include "CaveTrench.dmm" #include "Cavelake.dmm" +#include "Rockb1.dmm" +#include "ritual.dmm" +#include "temple.dmm" +#include "CrashedMedShuttle1.dmm" +#include "digsite.dmm" +#include "vault1.dmm" +#include "vault2.dmm" +#include "vault3.dmm" +#include "vault4.dmm" +#include "vault5.dmm" +#include "IceCave1A.dmm" +#include "IceCave1B.dmm" +#include "IceCave1C.dmm" +#include "SwordCave.dmm" +#include "SupplyDrop1.dmm" +#include "BlastMine1.dmm" #endif // The 'mountains' is the mining z-level, and has a lot of caves. @@ -88,6 +104,86 @@ cost = 5 allow_duplicates = TRUE +/datum/map_template/surface/mountains/normal/Rockb1 + name = "Rocky Base 1" + desc = "Someones underground hidey hole" + mappath = 'maps/submaps/surface_submaps/mountains/Rockb1.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/corgiritual + name = "Dark Ritual" + desc = "Who put all these plushies here? What are they doing?" + mappath = 'maps/submaps/surface_submaps/mountains/ritual.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/abandonedtemple + name = "Abandoned Temple" + desc = "An ancient temple, long since abandoned. Perhaps alien in origin?" + mappath = 'maps/submaps/surface_submaps/mountains/temple.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/crashedmedshuttle + name = "Crashed Med Shuttle" + desc = "A medical response shuttle that went missing some time ago. So this is where they went." + mappath = 'maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/digsite + name = "Dig Site" + desc = "A small abandoned dig site." + mappath = 'maps/submaps/surface_submaps/mountains/digsite.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/vault1 + name = "Mine Vault 1" + desc = "A small vault with potential loot." + mappath = 'maps/submaps/surface_submaps/mountains/vault1.dmm' + cost = 5 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/normal/vault2 + name = "Mine Vault 2" + desc = "A small vault with potential loot." + mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' + cost = 5 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/normal/vault3 + name = "Mine Vault 3" + desc = "A small vault with potential loot. Also a horrible suprise." + mappath = 'maps/submaps/surface_submaps/mountains/vault3.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/IceCave1A + name = "Ice Cave 1A" + desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." + mappath = 'maps/submaps/surface_submaps/mountains/IceCave1A.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/IceCave1B + name = "Ice Cave 1B" + desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." + mappath = 'maps/submaps/surface_submaps/mountains/IceCave1B.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/IceCave1C + name = "Ice Cave 1C" + desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." + mappath = 'maps/submaps/surface_submaps/mountains/IceCave1C.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/SwordCave + name = "Cursed Sword Cave" + desc = "An underground lake. The sword on the lake's island holds a terrible secret." + mappath = 'maps/submaps/surface_submaps/mountains/SwordCave.dmm' + +/datum/map_template/surface/mountains/normal/supplydrop1 + name = "Supply Drop 1" + desc = "A drop pod that landed deep within the mountains." + mappath = 'maps/submaps/surface_submaps/mountains/SupplyDrop1.dmm' + cost = 10 + allow_duplicates = TRUE + /************** * Deep Caves * **************/ @@ -104,6 +200,7 @@ desc = "A (formerly) flying saucer that is now embedded into the mountain, yet it still seems to be running..." mappath = 'maps/submaps/surface_submaps/mountains/crashed_ufo.dmm' cost = 40 + discard_prob = 50 /datum/map_template/surface/mountains/deep/Scave1 name = "Spider Cave 1" @@ -113,7 +210,7 @@ /datum/map_template/surface/mountains/deep/CaveTrench name = "Cave River" - desc = "A strange underground river" + desc = "A strange underground river." mappath = 'maps/submaps/surface_submaps/mountains/CaveTrench.dmm' cost = 20 @@ -121,4 +218,42 @@ name = "Cave Lake" desc = "A large underground lake." mappath = 'maps/submaps/surface_submaps/mountains/Cavelake.dmm' - cost = 20 \ No newline at end of file + cost = 20 + +/datum/map_template/surface/mountains/deep/vault1 + name = "Mine Vault 1" + desc = "A small vault with potential loot." + mappath = 'maps/submaps/surface_submaps/mountains/vault1.dmm' + cost = 5 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/deep/vault2 + name = "Mine Vault 2" + desc = "A small vault with potential loot." + mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' + cost = 5 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/deep/vault3 + name = "Mine Vault 3" + desc = "A small vault with potential loot. Also a horrible suprise." + mappath = 'maps/submaps/surface_submaps/mountains/vault3.dmm' + cost = 15 + +/datum/map_template/surface/mountains/deep/vault4 + name = "Mine Vault 4" + desc = "A small xeno vault with potential loot. Also horrible suprises." + mappath = 'maps/submaps/surface_submaps/mountains/vault4.dmm' + cost = 20 + +/datum/map_template/surface/mountains/deep/vault5 + name = "Mine Vault 5" + desc = "A small xeno vault with potential loot. Also major horrible suprises." + mappath = 'maps/submaps/surface_submaps/mountains/vault5.dmm' + cost = 25 + +/datum/map_template/surface/mountains/deep/BlastMine1 + name = "Blast Mine 1" + desc = "An abandoned blast mining site, seems that local wildlife has moved in." + mappath = 'maps/submaps/surface_submaps/mountains/BlastMine1.dmm' + cost = 20 diff --git a/maps/submaps/surface_submaps/mountains/mountains_areas.dm b/maps/submaps/surface_submaps/mountains/mountains_areas.dm index a20ac2a718d..2555b558f96 100644 --- a/maps/submaps/surface_submaps/mountains/mountains_areas.dm +++ b/maps/submaps/surface_submaps/mountains/mountains_areas.dm @@ -40,4 +40,49 @@ name = "Cavelake" /area/submap/CaveTrench - name = "Cave River" \ No newline at end of file + name = "Cave River" + +/area/submap/CorgiRitual + name = "Dark Ritual" + +/area/submap/AbandonedTemple + name = "Abandoned Temple" + +/area/submap/CrashedMedShuttle + name = "Crashed Med Shuttle" + +/area/submap/cave/digsite + name = "Dig Site" + +/area/submap/cave/vault1 + name = "Mine Vault" + +/area/submap/cave/vault2 + name = "Mine Vault" + +/area/submap/cave/vault3 + name = "Mine Vault" + +/area/submap/cave/vault4 + name = "Mine Vault" + +/area/submap/cave/vault5 + name = "Mine Vault" + +/area/submap/cave/IceCave1A + name = "Ice Cave 1A" + +/area/submap/cave/IceCave1B + name = "Ice Cave 1B" + +/area/submap/cave/IceCave1C + name = "Ice Cave 1C" + +/area/submap/cave/swordcave + name = "Cursed Sword Cave" + +/area/submap/cave/SupplyDrop1 + name = "Supply Drop 1" + +/area/submap/cave/BlastMine1 + name = "Blast Mine 1" \ No newline at end of file diff --git a/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm b/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm index 8c2f028faa9..78e4f004e99 100644 --- a/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm +++ b/maps/submaps/surface_submaps/mountains/quarantineshuttle.dmm @@ -86,35 +86,36 @@ "bH" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor,/area/submap/cave/qShuttle) "bI" = (/obj/machinery/door/airlock{name = "Charge Station"},/turf/simulated/shuttle/wall,/area/submap/cave/qShuttle) "bJ" = (/obj/item/trash/tastybread,/obj/item/weapon/material/butterfly/boxcutter,/obj/effect/decal/cleanable/dirt,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) -"bK" = (/obj/structure/bed/chair{dir = 1},/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) -"bL" = (/obj/structure/bed/chair{dir = 1},/obj/item/weapon/card/id/external{desc = "An identification card of some sort. Looks like this one was issued by the Vir Independent Mining Corp."; name = "VIMC identification card"; rank = "Miner"; registered_name = "Nadia Chu"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) -"bM" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) -"bN" = (/obj/structure/table/rack,/obj/item/clothing/head/soft/mbill{desc = "It's a ballcap bearing the colors of Major Bill's Shipping. This one looks at least a few decades out of date."; name = "old shipping cap"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) -"bO" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) -"bP" = (/obj/item/weapon/contraband/poster,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) -"bQ" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) -"bR" = (/obj/structure/sign/biohazard,/turf/simulated/shuttle/wall/hard_corner,/area/submap/cave/qShuttle) -"bS" = (/obj/item/tape/medical{icon_state = "tape_v_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bT" = (/obj/item/taperoll/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bU" = (/obj/item/tape/medical{dir = 1; icon_state = "tape_dir_0"},/obj/item/tape/medical{dir = 4; icon_state = "tape_dir_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bV" = (/obj/item/tape/medical{icon_state = "tape_h_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bW" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"bX" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) -"bY" = (/obj/structure/sign/kiddieplaque{desc = "By order of the S.D.D.C, this site or craft is to be buried and not disturbed until such time that sterility can be confirmed. Dated: 20/12/2491 "; name = "\improper Sif Department of Disease Control notice"},/turf/simulated/wall/iron,/area/submap/cave/qShuttle) -"bZ" = (/obj/structure/sign/warning,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) -"ca" = (/obj/item/bodybag,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cb" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cc" = (/obj/structure/table/steel,/obj/item/clothing/suit/bio_suit,/obj/random/medical/lite,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cd" = (/obj/structure/closet/l3closet/virology,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ce" = (/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cf" = (/obj/structure/dispenser/oxygen,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cg" = (/obj/structure/table/steel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ch" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ci" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cj" = (/obj/structure/table/steel,/obj/item/weapon/crowbar/power,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"ck" = (/obj/structure/table/rack,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cl" = (/obj/item/weapon/weldingtool/largetank,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) -"cm" = (/obj/structure/closet/crate/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bK" = (/obj/effect/decal/cleanable/vomit,/obj/effect/decal/cleanable/mucus/mapped,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) +"bL" = (/obj/structure/bed/chair{dir = 1},/obj/effect/decal/remains/xeno,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) +"bM" = (/obj/structure/bed/chair{dir = 1},/obj/item/weapon/card/id/external{desc = "An identification card of some sort. Looks like this one was issued by the Vir Independent Mining Corp."; name = "VIMC identification card"; rank = "Miner"; registered_name = "Nadia Chu"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) +"bN" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) +"bO" = (/obj/structure/table/rack,/obj/item/clothing/head/soft/mbill{desc = "It's a ballcap bearing the colors of Major Bill's Shipping. This one looks at least a few decades out of date."; name = "old shipping cap"},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/submap/cave/qShuttle) +"bP" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) +"bQ" = (/obj/item/weapon/contraband/poster,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) +"bR" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/shuttle/floor{tag = "icon-floor_yellow"; icon_state = "floor_yellow"},/area/submap/cave/qShuttle) +"bS" = (/obj/structure/sign/biohazard,/turf/simulated/shuttle/wall/hard_corner,/area/submap/cave/qShuttle) +"bT" = (/obj/item/tape/medical{icon_state = "tape_v_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bU" = (/obj/item/taperoll/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bV" = (/obj/item/tape/medical{dir = 1; icon_state = "tape_dir_0"},/obj/item/tape/medical{dir = 4; icon_state = "tape_dir_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bW" = (/obj/item/tape/medical{icon_state = "tape_h_0"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bX" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"bY" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) +"bZ" = (/obj/structure/sign/kiddieplaque{desc = "By order of the S.D.D.C, this site or craft is to be buried and not disturbed until such time that sterility can be confirmed. Dated: 20/12/2491 "; name = "\improper Sif Department of Disease Control notice"},/turf/simulated/wall/iron,/area/submap/cave/qShuttle) +"ca" = (/obj/structure/sign/warning,/turf/simulated/wall/iron,/area/submap/cave/qShuttle) +"cb" = (/obj/item/bodybag,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cc" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cd" = (/obj/structure/table/steel,/obj/item/clothing/suit/bio_suit,/obj/random/medical/lite,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ce" = (/obj/structure/closet/l3closet/virology,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cf" = (/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cg" = (/obj/structure/dispenser/oxygen,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ch" = (/obj/structure/table/steel,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ci" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cj" = (/obj/structure/table/steel,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"ck" = (/obj/structure/table/steel,/obj/item/weapon/crowbar/power,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cl" = (/obj/structure/table/rack,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cm" = (/obj/item/weapon/weldingtool/largetank,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) +"cn" = (/obj/structure/closet/crate/medical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/qShuttle) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -131,13 +132,13 @@ aaaaaiaJaKaLadaMaNaOaPaQaQaRaSaTaUaVaAaWaXaAaYabaa aaabaiaZbababbbcbdadbebfbgadbhbiadbjaAbkaAblaYabaa aaabaiaJbmbnadbobpbqbrbsbtbqaNbuaUbvaAbwaVbxaYabaa aaabadadadadadaDbyaAbzaAbAbBbCbDadbEaGbFadadbGabaa -aaababadadbHbIbJaoadbKaQbLadbMbNadbObPbQadagahabaa -ababacabadaiajakakbRaiadaiadadadadadadadadadadaaaa -ababababbSabaeaeafaeababababbTabababababadagahaaaa -aaabababbUbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVadadadaaaa -aaaaababababababababbWbXbYbZcacacaabcbcccdabceaaaa -aaaaacababcfcgchcicjckababclabcacaababababababaaaa -aaaaaaababcmcgababababababababaaaaaaaaaaababacaaaa +aaababadadbHbIbJbKadbLaQbMadbNbOadbPbQbRadagahabaa +ababacabadaiajakakbSaiadaiadadadadadadadadadadaaaa +ababababbTabaeaeafaeababababbUabababababadagahaaaa +aaabababbVbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWadadadaaaa +aaaaababababababababbXbYbZcacbcbcbabcccdceabcfaaaa +aaaaacababcgchcicjckclababcmabcbcbababababababaaaa +aaaaaaababcnchababababababababaaaaaaaaaaababacaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/mountains/ritual.dmm b/maps/submaps/surface_submaps/mountains/ritual.dmm new file mode 100644 index 00000000000..2e93dc0081a --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/ritual.dmm @@ -0,0 +1,15 @@ +"a" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"b" = (/obj/structure/plushie/ian,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"c" = (/obj/item/weapon/flame/candle/everburn,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"d" = (/obj/structure/plushie/ian{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"e" = (/obj/structure/plushie/ian{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"f" = (/obj/structure/ghost_pod/manual/corgi,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) +"g" = (/obj/structure/plushie/ian{dir = 1},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/CorgiRitual) + +(1,1,1) = {" +aabaa +acacd +eafad +ecaca +aagaa +"} diff --git a/maps/submaps/surface_submaps/mountains/temple.dmm b/maps/submaps/surface_submaps/mountains/temple.dmm new file mode 100644 index 00000000000..45419d055fc --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/temple.dmm @@ -0,0 +1,69 @@ +"a" = (/turf/template_noop,/area/submap/AbandonedTemple) +"b" = (/turf/simulated/mineral/floor,/area/submap/AbandonedTemple) +"c" = (/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"d" = (/turf/simulated/wall/sandstone,/area/submap/AbandonedTemple) +"e" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"f" = (/obj/effect/decal/remains/mummy1,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"g" = (/turf/simulated/wall/sandstonediamond,/area/submap/AbandonedTemple) +"h" = (/obj/item/weapon/flame/candle/everburn,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"i" = (/obj/item/weapon/ectoplasm,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"j" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/platinum,/obj/item/weapon/coin/uranium,/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/uranium,/obj/item/weapon/coin/iron,/obj/item/weapon/coin/phoron,/obj/item/weapon/coin/platinum,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"k" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"l" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"m" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"n" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"o" = (/obj/structure/loot_pile/maint/technical,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"p" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"q" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/lighter/zippo/royal,/obj/item/clothing/mask/smokable/pipe,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"r" = (/obj/effect/rune,/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"s" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"t" = (/obj/machinery/artifact,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"u" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"v" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/obj/item/weapon/pen/fountain,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"w" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"x" = (/obj/effect/decal/cleanable/blood/xeno,/obj/effect/decal/remains/posi,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"y" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle/candelabra/everburn,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"z" = (/obj/structure/simple_door/gold,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"A" = (/obj/effect/decal/remains/posi,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"B" = (/obj/machinery/crystal{icon_state = "crystal3"; light_color = "#f44256"; light_power = 3},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/cave/crystal1) +"C" = (/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"D" = (/obj/machinery/crystal{icon_state = "crystal3"; light_color = "#f44256"; light_power = 3},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"E" = (/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"F" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/remains/human,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"G" = (/obj/structure/table/woodentable,/obj/item/weapon/paper/alien{desc = ""; icon_state = "alienpaper_words"; info = "(On the screen of the tablet are several lines of characters written in a language you don't seem to recognize. At the end of each line is a set of numbers seperated by a colon. The screen flickers occasionally, as if damaged. Nothing about the tablet seems particularly interesting, but it does seem very, very old.)"},/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"H" = (/obj/effect/decal/cleanable/blood/xeno,/turf/simulated/floor/carpet/turcarpet,/area/submap/AbandonedTemple) +"I" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"J" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"K" = (/obj/structure/table/bench/wooden,/obj/effect/decal/remains/xeno,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"L" = (/obj/structure/simple_door/sandstone,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"M" = (/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/flame/candle/candelabra/everburn,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"N" = (/obj/effect/decal/cleanable/cobweb2,/obj/item/weapon/flame/candle/candelabra/everburn,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/AbandonedTemple) +"O" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor,/area/submap/AbandonedTemple) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +aaabbbbbbbbbbbbbbbbbbaaaa +aaccccccccccccccccccccaaa +abcddddddddddddddddddcbaa +abcdefghihgjkgclmgnodcbaa +abcdpqgcrsgccgctcgccdcbaa +abcduvghchgppgwccgcxdcbaa +abcdpygzgggppgggzgncdcbaa +abcdppgccccccccccgccdcbaa +abcdppggggzggzggggcAdcbaa +abcdwcgBCccccccCDgcndcbaa +abcdcEgccwpFppcccgcldcbaa +abcdcczcccpGyHlcczwndcbaa +abcddsgccIIccIIccgnddcbaa +abcmddgccccccccccgddJcbaa +abbcmddccKIccIIcsddccbbaa +abbbccddDccwsccDddccbbbaa +abbbbccddddLLddddJcbbbbaa +abbbbbccmdMccNdsccbbbbbaa +abbbbbbbcdcwccdcbbbbbbbaa +aabbbbbbcddLLddcbbbbbbaaa +aaabbbbbsccccsccbbbbbaaaa +aaaabbbbbbbbObbbbbbbaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/vault1.dmm b/maps/submaps/surface_submaps/mountains/vault1.dmm new file mode 100644 index 00000000000..c1a5ddadd88 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/vault1.dmm @@ -0,0 +1,17 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/wall,/area/submap/cave/vault1) +"c" = (/turf/simulated/floor/plating,/area/submap/cave/vault1) +"d" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/submap/cave/vault1) +"e" = (/obj/random/multiple/minevault,/turf/simulated/floor/plating,/area/submap/cave/vault1) + +(1,1,1) = {" +aaaaaaaaa +aabbbbbaa +abbcdcbba +abcccccba +abcceccba +abcccccba +abbcccbba +aabbbbbaa +aaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/vault2.dmm b/maps/submaps/surface_submaps/mountains/vault2.dmm new file mode 100644 index 00000000000..0c8e85ce2c3 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/vault2.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/wall,/area/submap/cave/vault2) +"c" = (/turf/simulated/floor/plating,/area/submap/cave/vault2) +"d" = (/obj/random/multiple/minevault,/turf/simulated/floor/plating,/area/submap/cave/vault2) + +(1,1,1) = {" +aaaaaaaaa +abbaaabba +abbbbbbba +aabcccbaa +aabcdcbaa +aabcccbaa +abbbbbbba +abbaaabba +aaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/vault3.dmm b/maps/submaps/surface_submaps/mountains/vault3.dmm new file mode 100644 index 00000000000..b517d1cdeec --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/vault3.dmm @@ -0,0 +1,21 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/wall,/area/submap/cave/vault3) +"c" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/turf/simulated/floor/plating,/area/submap/cave/vault3) +"d" = (/obj/structure/loot_pile/maint/technical,/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/submap/cave/vault3) +"e" = (/obj/effect/alien/weeds,/mob/living/simple_animal/hostile/alien/drone,/turf/simulated/floor/plating,/area/submap/cave/vault3) +"f" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/submap/cave/vault3) +"g" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/submap/cave/vault3) +"h" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds,/obj/effect/alien/weeds/node,/turf/simulated/floor/plating,/area/submap/cave/vault3) +"i" = (/obj/structure/bed/nest,/turf/simulated/floor/plating,/area/submap/cave/vault3) + +(1,1,1) = {" +aaaaaaaaa +aabbbbbaa +abbcdcbba +abefffgba +abgfhfgba +abgfffeba +abbigibba +aabbbbbaa +aaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/vault4.dmm b/maps/submaps/surface_submaps/mountains/vault4.dmm new file mode 100644 index 00000000000..7d5213916d3 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/vault4.dmm @@ -0,0 +1,22 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"f" = (/obj/effect/alien/weeds,/mob/living/simple_animal/hostile/alien/drone,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"g" = (/obj/effect/alien/weeds/node,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"i" = (/obj/effect/alien/weeds,/mob/living/simple_animal/hostile/alien,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) +"j" = (/obj/effect/alien/weeds,/obj/effect/alien/egg,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault4) + +(1,1,1) = {" +aaaaaaaaa +aabbcbbaa +abbdefbba +abdeeghba +aciejeica +abhgeedba +abbfedbba +aabbcbbaa +aaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/mountains/vault5.dmm b/maps/submaps/surface_submaps/mountains/vault5.dmm new file mode 100644 index 00000000000..1d4befc1670 --- /dev/null +++ b/maps/submaps/surface_submaps/mountains/vault5.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/alien/resin/wall,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"c" = (/obj/structure/simple_door/resin,/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"d" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/obj/item/weapon/gun/projectile/p92x/large,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"e" = (/obj/effect/alien/weeds,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"f" = (/obj/effect/alien/weeds,/obj/item/clothing/suit/storage/vest/tactical,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"g" = (/obj/effect/alien/weeds,/obj/structure/bed/nest,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"h" = (/obj/effect/alien/weeds,/obj/random/multiple/minevault,/mob/living/simple_animal/hostile/alien/sentinel/praetorian,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"i" = (/obj/effect/alien/weeds,/obj/effect/alien/egg,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"j" = (/obj/effect/alien/weeds,/obj/effect/alien/weeds/node,/mob/living/simple_animal/hostile/alien/queen/empress,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) +"k" = (/obj/effect/alien/weeds,/obj/item/clothing/head/helmet/tac,/obj/item/weapon/gun/projectile/SVD,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault5) + +(1,1,1) = {" +aaaaaaaaa +aabbcbbaa +abbdefbba +abgeeehba +abiejeiba +abheeegba +abbkegbba +aabbcbbaa +aaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Boathouse.dmm b/maps/submaps/surface_submaps/plains/Boathouse.dmm new file mode 100644 index 00000000000..5ace79db142 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Boathouse.dmm @@ -0,0 +1,116 @@ +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/template_noop,/area/submap/Boathouse) +"ac" = (/turf/simulated/floor/outdoors/rocks,/area/submap/Boathouse) +"ad" = (/turf/simulated/floor/water,/area/submap/Boathouse) +"ae" = (/turf/simulated/floor/water/deep,/area/submap/Boathouse) +"af" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Boathouse) +"ag" = (/obj/structure/table/bench/wooden,/turf/template_noop,/area/submap/Boathouse) +"ah" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/Boathouse) +"ai" = (/turf/simulated/wall/wood,/area/submap/Boathouse) +"aj" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/accessory/jacket,/obj/item/clothing/accessory/jacket,/obj/item/clothing/head/beanie,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ak" = (/turf/simulated/floor/wood,/area/submap/Boathouse) +"al" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/storage/box/beanbags,/turf/simulated/floor/wood,/area/submap/Boathouse) +"am" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"an" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ao" = (/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/floor/water,/area/submap/Boathouse) +"ap" = (/obj/structure/railing,/turf/simulated/floor/water,/area/submap/Boathouse) +"aq" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ar" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"as" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"at" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/Boathouse) +"au" = (/obj/item/weapon/stool,/turf/simulated/floor/wood,/area/submap/Boathouse) +"av" = (/turf/simulated/floor/wood{tag = "icon-wood_broken6"; icon_state = "wood_broken6"},/area/submap/Boathouse) +"aw" = (/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/submap/Boathouse) +"ax" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"ay" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"az" = (/obj/structure/table/woodentable,/obj/item/weapon/tape_roll,/obj/random/firstaid,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aA" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"aB" = (/turf/simulated/floor/wood{tag = "icon-wood_broken2"; icon_state = "wood_broken2"},/area/submap/Boathouse) +"aC" = (/obj/structure/railing{dir = 8},/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) +"aD" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) +"aE" = (/obj/vehicle/boat/sifwood,/turf/simulated/floor/water,/area/submap/Boathouse) +"aF" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aG" = (/obj/structure/table/woodentable,/obj/item/weapon/oar,/obj/item/weapon/oar,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aH" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/turf/simulated/floor/water,/area/submap/Boathouse) +"aI" = (/obj/structure/table/woodentable,/obj/random/powercell,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aJ" = (/turf/simulated/floor/wood{tag = "icon-wood_broken4"; icon_state = "wood_broken4"},/area/submap/Boathouse) +"aK" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) +"aL" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aM" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/fruitsalad,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aN" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aO" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aP" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aQ" = (/obj/structure/bookcase,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aS" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/lighter,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aT" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aU" = (/obj/structure/table/rack,/obj/item/clothing/accessory/poncho/blue,/obj/item/clothing/accessory/poncho/blue,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aV" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aW" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aX" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage,/obj/item/clothing/accessory/storage,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aY" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aZ" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"ba" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Boathouse) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaabababababababababababacacacacacacacacacacacacacacacacacacabababababababababaa +aaabababababababababacacadadadadadadadadadadadadadadadadadadacacabababababababaa +aaabababababababacacacacadadadadadadadadadadadadadadadadadadadacacacabababababaa +aaababababababacacadadadadadadadadadadaeaeaeaeaeaeaeaeaeaeaeadadadacacababababaa +aaabababababacacadadadadadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadacacabababaa +aaababababacacadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacababababaa +aaabababacacadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacababababaa +aaabababacadadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacacababababaa +aaababacacadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacabababababaa +aaabacacadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadaeaeaeadadadadadacacabababababaa +aaabacadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadadadacababababababaa +aaacacadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadadadadacababababababaa +aaacadadadadadadadaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadadadacacacababababababaa +aaacadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadadadadadacacacababababababababaa +aaacacadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadacacacacacacababababababababababaa +aaabacadadadadadadaeaeaeaeaeaeaeaeaeaeadadadacacababababababababafababababababaa +aaabacacadadadadadaeaeaeaeaeaeaeaeaeadadadadacababagagagagababababababababababaa +aaababacacadadadadadaeaeaeaeaeaeaeaeadadadacabababahahahahababababababababababaa +aaabababacadadadadadaeaeadaeaeaeaeaeadadadacabababagagagagababababababababababaa +aaabababacacacadadadadaeadadaeaeaeaeaeadadacacabababababababababababafababababaa +aaabababababacacacadadadadadaeaeaeaeaeadadadacacacababababababababababababababaa +aaababababababacacacadadadadaeaeaeaeaeadadadadadacacacabababacacacacabababababaa +aaababababababababacacacadadaeaeaeaeaeadadadadadadadacacacacacadadacacababababaa +aaababababababababababacadadaeaeaeaeaeadaeadadadadadadadadadadadadadacababababaa +aaababababababababababacadadadaeaeaeaeaeaeadadadadadadadadadadadadadacacabababaa +aaababababababababababacadadadaeaeaeaeaeaeaeadadadadadadadadadadadadadacabababaa +aaababababababababababacadadadadaeaeaeaeaeaeadadadadadadadadaeaeadadadacacababaa +aaabababababababababacacadadadadaeaeaeaeaeaeaeaeaeadadadadaeaeaeadadadadacacabaa +aaabababababababababacacadadadadadaeaeaeaeaeaeaeaeaeaeadaeaeaeadadadadadadacabaa +aaabababababababababacacadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadacabaa +aaabababababababababacacadadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeadadadadadacacabaa +aaababababababababacacadadadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadadacacabaa +aaababababababababacacadadadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaabababababababababacadadadadadadadadadadaeaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaabababaiaiaiaiaiaiacacadadadadadadadadadaeaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaabaiaiaiaiaiaiaiaiaiaiaiaiaiaiadadadadadadaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaaiaiajakakalaiakakakakaiaiaiaiadadadadadadaeaeaeaeaeaeaeaeadadadadadadacacabaa +aaaiaiakamamakaianakakakaoapapapadadadadadadaeaeaeaeaeaeaeadadadadadadacacababaa +aaaiaiaqarasaqaiatauakakakavakakawadadadadadaeaeaeaeaeaeaeadadadadadadacabababaa +aaaiaiaqaxayaqaiazakakakakakakakawadadadadadadaeaeaeaeaeaeadadadadadadacabababaa +aaaiaiaqaAayaqaiakakakaBaCaDaEaDadadadadadadadaeaeaeaeaeaeadadadadadacacabababaa +aaaiaiakamamakaiakakakakawadadadadadadadadadaeaeaeaeaeaeadadadadadadadacabababaa +aaabaFakamamakaiaGakakakaoapadapadadadadadadaeaeaeaeaeaeadadadadadadadacacababaa +aaabaFakamamakaiatauakakakakakakaHadadadadadaeaeaeaeaeaeadadadadadadadadacababaa +aaabaFakamamakaiaIakakakakakaJakaHadadadadadadaeaeaeaeaeaeaeaeadadadadadacacabaa +aaabaFakamamakaiakakakakaKaDaDaDadadadadadadadadaeaeaeaeaeaeaeaeadadadadadacabaa +aaabaFakamamakaiaiaLaiakaHadadadadadadadadadadadaeaeaeaeadaeaeaeadadadadadacabaa +aaaiaiakamamakaiaiakaiakaHadadadadadadadadadadadaeaeaeaeadadadaeaeadadadadacabaa +aaaiaiaMamamakaiaiaLaiaiaiaiaiaiadadadadadadadadaeaeaeadadadadadadadadadacacabaa +aaaiaiaNamamakakakakakakaLaOaOaFadadadadadadadadaeaeadadadadadadadadadadacababaa +aaaiaiaPamamamamamamamakaiaQaOaFadadadadadadadaeaeaeadadadadadadadadadadacababaa +aaaiaiaRaSakakamamamamakaiaQaTaFadadadadadadadaeaeaeadadadadadadadadadadacababaa +aaaiaiaiaiaiaUaVakakaWaXaiaYaZaFadadadadadadadaeaeaeadadadadadadadadadacacababaa +aaabaiaiaiaiaiaiaLaLaiaiaiaiaiaiadadadadadadadadadadadadadadadadadadadacabababaa +aaababaiaiaiabaiakakaiabaiaiaiacacacadadadadadadadadadadadadadadadadadacabababaa +aaababababababaiaLaLaiababababababacacacacadadadadadacacadadadadadacacacabababaa +aaababbabababababababababababaababababacacacadadacacacacacacacacacacabababababaa +aaabababababbabababababababababababaabababacacacacababababababababababababababaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Diner.dmm b/maps/submaps/surface_submaps/plains/Diner.dmm new file mode 100644 index 00000000000..2ca833020da --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Diner.dmm @@ -0,0 +1,107 @@ +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/template_noop,/area/submap/Diner) +"ac" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Diner) +"ad" = (/turf/simulated/wall,/area/submap/Diner) +"ae" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"af" = (/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ag" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ah" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ai" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aj" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/material/knife/butch,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ak" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"al" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"am" = (/obj/structure/sink/kitchen,/turf/simulated/wall,/area/submap/Diner) +"an" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Diner) +"ao" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ap" = (/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aq" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ar" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"as" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"at" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"au" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"av" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aw" = (/obj/machinery/cooker/cereal,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ax" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ay" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/condiment/sugar,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"az" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aA" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled,/area/submap/Diner) +"aB" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aC" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aD" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aE" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aF" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aG" = (/turf/simulated/floor/tiled,/area/submap/Diner) +"aH" = (/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aI" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aJ" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aK" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aL" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/floor/tiled,/area/submap/Diner) +"aM" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aN" = (/obj/structure/closet/crate/freezer,/obj/machinery/light/small{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aO" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aP" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aQ" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aR" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/coatrack,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aS" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aT" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aU" = (/obj/machinery/gibber,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aV" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aW" = (/obj/machinery/cooker/fryer,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aX" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/Diner) +"aY" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aZ" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/cooker/grill,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ba" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Diner) +"bb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/submap/Diner) +"bc" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bd" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"be" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_coffee,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bf" = (/obj/item/frame/apc,/turf/simulated/floor/lino,/area/submap/Diner) +"bg" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/lino,/area/submap/Diner) +"bh" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/lino,/area/submap/Diner) +"bi" = (/turf/simulated/floor/lino,/area/submap/Diner) +"bj" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bk" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/lino,/area/submap/Diner) +"bl" = (/obj/structure/table/woodentable,/obj/item/weapon/cell/high,/turf/simulated/floor/lino,/area/submap/Diner) +"bm" = (/obj/structure/table/woodentable,/turf/simulated/floor/lino,/area/submap/Diner) +"bn" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/lino,/area/submap/Diner) +"bo" = (/obj/structure/simple_door/wood,/turf/simulated/floor/lino,/area/submap/Diner) +"bp" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/windoor_assembly{tag = "icon-l_windoor_assembly01"; icon_state = "l_windoor_assembly01"; dir = 2},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bq" = (/obj/structure/bookcase,/turf/simulated/floor/lino,/area/submap/Diner) +"br" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/space_heater,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bs" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bt" = (/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bu" = (/obj/structure/toilet,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bv" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bw" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bx" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"by" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bz" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bA" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaabababacabababababadaeaeadadadadadadadadabababaa +aaabababacacabababadadafafadagahaiajakalamadababaa +aaabanacacacababadadafaoaoadapapapapapapapadadabaa +aaababacacacabadadaqafarasadatapauahavapapawadadaa +aaababacacacabadafafafaxaxadapapapapapapapapayadaa +aaababacacacabaeaoaoafafafadazazadaAadadaBadadadaa +aaababacacacabaeaCaDafafaEaFafafadaGadaHaHaHaIadaa +aaababacacacabaeaxaxafafaEaJafaKadaLadaMaHaHaNadaa +aaababacacacabadafafafafaEaOafaPadaGadaQaHaHaHadaa +aaababacacacacadadadaRafaEaFafaSadaGadaTaHaHaUadaa +aaababacacacacazaVazafafaEaFafaWadaGadadadadadadaa +aaababacacacaXadadadaYafaEaFafaZadaGbabbaGaAbbaAaa +aaanabacacacabaeaoaoafafaEaFafbcadbabababaaAaGaAaa +aaababacacacabaeaCaDafafaEaFafbdadbaadadadadadadaa +aaababacacacabaeaxaxafafaEaFafbeadaGadbfbgbhbiadaa +aaababacacacabadbjaoafafaEaOafahadaGadbkblbmbnadaa +aaababacacacabaeaCaDafafaEaJafaKadaLbobibibibiadaa +aaababacacacabaeaxaxafafaEaFahbpadaGadbibibqbqadaa +aaababacacacabaeafafafafafafafafadadadadadadadadaa +aaababacacacabadadbrafafafafafafadbsbtbuadadadadaa +aaabababacabababadadafafbvaDbwafbxbtbtbtadadadabaa +aaabanababababababadadafbvaCbwafadbybzbAadadababaa +aaabababababababababadadaeaeaeadadadadadadabababaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Field1.dmm b/maps/submaps/surface_submaps/plains/Field1.dmm new file mode 100644 index 00000000000..fdc4357179b --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Field1.dmm @@ -0,0 +1,42 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Field1) +"c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Field1) +"d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"e" = (/obj/structure/ore_box,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"f" = (/obj/item/device/radio,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"g" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"h" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) +"i" = (/obj/item/device/flashlight,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaabbbbbbbbbbbbbbba +abbaaaaaaaaaabbbbbbbbbbbbbbbaa +abbaaaaaabbbbbbcbbbbbbbbbcbbaa +abbbaaabbbbbbbbbbbbbbbbbbbbaaa +abbbbbbbbbbbbbbbbbbcbbbbbbbaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbaaa +abbbbbbbbbbbbbbbbbbbbbbbbbaaaa +abbbcbbbbbbbbbbbbbbbbbbbbbaaaa +aabbbbbbbbbbbbbbbbbbbbbbbbaaaa +aabbbbbbbbbbbbbbbbbbbbbbbbbaaa +aaabbbbbbbbbbbdddbbbbbbbbbbaaa +aaabbbbbbbbbddddddddddbbbbbbba +aaaabbbbbbbddddddddddddbbbbbba +aaaabbbbbbbddddddddddddbbbbcba +aaaabbbbbbbdddedfddddbbbbbbbba +aaabbbbbbbbbdegghdddbbbbbbbbba +aaabbbbbbbbbbbdibdbbbbbbbbbbba +aabbbbbbbbbbbbbbbbbbbbbbbcbbba +abbbcbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbcbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbcbbbba +aabbbbbbcbbbbaaaabaaabbbbbbcba +aaaaaaabbbbbaaaaaaaaaabbbbbbba +aaaaaaaaabbaaaaaaaaaaabbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Mechpt.dmm b/maps/submaps/surface_submaps/plains/Mechpt.dmm new file mode 100644 index 00000000000..e2a3ecaff13 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Mechpt.dmm @@ -0,0 +1,45 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Mechpt) +"c" = (/obj/item/trash/chips,/turf/template_noop,/area/submap/Mechpt) +"d" = (/obj/structure/railing,/turf/template_noop,/area/submap/Mechpt) +"e" = (/obj/structure/railing,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/template_noop,/area/submap/Mechpt) +"f" = (/obj/structure/railing,/obj/structure/table/woodentable,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/template_noop,/area/submap/Mechpt) +"g" = (/obj/structure/railing,/obj/structure/table/woodentable,/turf/template_noop,/area/submap/Mechpt) +"h" = (/obj/structure/railing,/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c10,/turf/template_noop,/area/submap/Mechpt) +"i" = (/obj/structure/railing{tag = "icon-railing0 (EAST)"; icon_state = "railing0"; dir = 4},/turf/template_noop,/area/submap/Mechpt) +"j" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"k" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/turf/template_noop,/area/submap/Mechpt) +"l" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"m" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"n" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"o" = (/obj/effect/decal/mecha_wreckage/ripley/deathripley,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"p" = (/obj/effect/decal/mecha_wreckage/ripley/firefighter,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"q" = (/obj/item/stack/cable_coil,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"r" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/template_noop,/area/submap/Mechpt) +"s" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/structure/reagent_dispensers/beerkeg,/turf/template_noop,/area/submap/Mechpt) +"t" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c50,/turf/template_noop,/area/submap/Mechpt) +"u" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/cell/high,/obj/item/weapon/cell/device/weapon,/turf/template_noop,/area/submap/Mechpt) +"v" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/template_noop,/area/submap/Mechpt) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbcbbbbbbbbbbbbbbbbbba +abbdddddddddefghgdddddddddddba +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abijjjljjjjjjjjjjjjmjjjnjjjjka +abijjjjjmjjjjjjjjjjjjjjjjjjjka +ajjjjjjjjjjojjjjjjjjjjjjjjjjja +abjjjjjjjjjjjjjjjjjjjjjjjjjjja +abijjjjjjjjjjjpjjjmjjjjjjjjjka +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abijjjjjjjmjjqjjjjjjjjjjjjjjka +abijnjjjjjjjjjjjjjjjjjjjjjjjka +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abbrrrrrrrrrstutvrrrrrrrrrrrba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/PooledR.dmm b/maps/submaps/surface_submaps/plains/PooledR.dmm new file mode 100644 index 00000000000..554c4cca8fd --- /dev/null +++ b/maps/submaps/surface_submaps/plains/PooledR.dmm @@ -0,0 +1,55 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/PooledR) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/PooledR) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/PooledR) +"e" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/PooledR) +"f" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife,/turf/template_noop,/area/submap/PooledR) +"g" = (/obj/structure/flora/ausbushes/palebush,/turf/template_noop,/area/submap/PooledR) +"h" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/energy/retro{cell_type = /obj/item/weapon/cell/device/weapon/empty},/turf/template_noop,/area/submap/PooledR) +"i" = (/obj/structure/flora/ausbushes/reedbush,/turf/template_noop,/area/submap/PooledR) +"j" = (/turf/simulated/floor/outdoors/rocks,/area/submap/PooledR) +"k" = (/obj/structure/flora/ausbushes,/turf/template_noop,/area/submap/PooledR) +"l" = (/turf/simulated/floor/water,/area/submap/PooledR) +"m" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/PooledR) +"n" = (/mob/living/simple_animal/fish/trout,/turf/simulated/floor/water,/area/submap/PooledR) +"o" = (/mob/living/simple_animal/fish/salmon,/turf/simulated/floor/water,/area/submap/PooledR) +"p" = (/turf/simulated/floor/water/deep,/area/submap/PooledR) +"q" = (/mob/living/simple_animal/fish/bass,/turf/simulated/floor/water/deep,/area/submap/PooledR) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbcccbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbccccbba +abbbbbbbbbbbbbbbbbbbbbbbbbcccccccba +abbbbbbbbbbbbbbbbbbbbdbbbbcccccccba +abbbbbbbbbbbdbbbbbbbbbbbbbcccccccba +abbbbbbbbbbbbbbbbbbbbbdbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbcccccccbba +abbdbbbbbbbbbbbbbbbbbbbbbeccccccbba +abbbbbbbdbbbbbbbbbbbbbbbbfcccccbbba +abbbbbbbbbbbbbbbbbbbbgbbbhcccccbbba +abccbbbbbbbbbbbbbbbbbbibccccccbbbba +abcccbbbgbbbbbbibbjjjjjjccccccbbbba +abcccbbbbbbkbbbjjjjlllllccccccbbbba +acccccbbbbbbbjjjjllllllllcccccbbbba +acccccbmbbbjjjllllllllllllccccbbbba +acccccbbbijjjllllllllnlllccccccbbba +abccccbbjjjllllllllllllllccccccbbba +abcccccjjlllllolllllpppppccccccbbba +abccccccjlllllllllppppppcccccccbbba +abcccccccccllllppppqppppccccccccbba +abccccccccccclpppppppppcccccccccbba +abccccccccccccpppppppppcccccccccbba +abcccccccccccccpppppppccccccccccbba +abbccccccccccccccccppccccccccccbbba +abbcccccccccccccccccccccccccccccbba +abbbcccccccccccccccccccccccccccbbba +abbbbcccccccccccccccccccccccccbbbba +abbbbbbbbccccccccccccccccccccbbbbba +abbbbbbbbbbbbbcccccccccccbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/RationCache.dmm b/maps/submaps/surface_submaps/plains/RationCache.dmm new file mode 100644 index 00000000000..600832aa186 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/RationCache.dmm @@ -0,0 +1,20 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/floor/outdoors/snow,/area/submap/RationCache) +"c" = (/mob/living/simple_animal/retaliate/diyaab{returns_home = 1},/turf/simulated/floor/outdoors/snow,/area/submap/RationCache) +"d" = (/mob/living/simple_animal/retaliate/diyaab{returns_home = 1},/turf/simulated/floor/outdoors/dirt,/area/submap/RationCache) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/RationCache) +"f" = (/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/obj/item/trash/liquidfood,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/RationCache) +"g" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/outdoors/dirt,/area/submap/RationCache) + +(1,1,1) = {" +aaaabbbaaa +aabbbbbbaa +abbbbcbbbb +abbbdbbcbb +bbcefebbbb +bbbegebbbb +bbbbebcbbb +bbbbbbbbaa +aabbcbbaaa +aabbbaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Rocky2.dmm b/maps/submaps/surface_submaps/plains/Rocky2.dmm new file mode 100644 index 00000000000..eaa06c481a5 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Rocky2.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Rocky2) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky2) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky2) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky2) +"f" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/Rocky2) +"g" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/Rocky2) +"h" = (/obj/structure/flora/ausbushes/fullgrass,/turf/template_noop,/area/submap/Rocky2) +"i" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/template_noop,/area/submap/Rocky2) +"j" = (/obj/structure/flora/ausbushes/sunnybush,/turf/template_noop,/area/submap/Rocky2) +"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/template_noop,/area/submap/Rocky2) +"l" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Rocky2) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbccbbbba +abbbbbbbcccccccccbcccbbda +abbbbbbccccccccbbbccccbba +abbbeecccccccccbbcccccbba +afbbecccccccbccbcccccccba +abbbecccccccgbbbcccccccba +abbbbccccccbbbbbcccccceba +abbbbcccccbhbfbbbcccceeea +abbbbbbcccbbbbbbicccceeea +abbbbbbcccbdbbhbbcccceeea +abdbbbccccbbbbbbbbccceeea +abbbbccccbbhbbbbbbcceeeea +abbbccccccfbbbdbbbcccceea +abbeccccccbbbbbbficccceea +abbeccccccbgbhbbbbccccbba +abbeecccccbbbbbbbbcccccba +abbeecccccjbdbbbhbcccccba +abbbecccccbbbbbbbccccccba +abbbeccceebbkbbbbccccccba +abbbbccceeccbbfbcccccbbba +abbbbccceeeccccccccccbbba +ablbbcccbeccccccbbbcbblba +abbbbbbbbbbbcccbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Rocky5.dmm b/maps/submaps/surface_submaps/plains/Rocky5.dmm new file mode 100644 index 00000000000..a9848aaf0f9 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Rocky5.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Rocky5) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky5) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaa +abbccccccbbbbbbbbcba +accccccccbbbbbbbbcba +abcccccbbbbbbbbbccca +abbcccbbbbbbbbbbccca +abbbbbbbbccbbbbbccca +abbbbbbbbccbbbbbbcca +abbbbbbbbcccbbbbbcba +abbbbbbbccccccbbbbba +aaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Shakden.dmm b/maps/submaps/surface_submaps/plains/Shakden.dmm new file mode 100644 index 00000000000..8720149d635 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Shakden.dmm @@ -0,0 +1,34 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Shakden) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Shakden) +"d" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"e" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"f" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"g" = (/mob/living/simple_animal/hostile/shantak{hostile = 0},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"h" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"i" = (/mob/living/simple_animal/hostile/shantak{hostile = 0},/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) +"j" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"k" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/material/knife/hook,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaa +abbbccccccccccccbbba +abccccccccccccccccba +abccccdddedfccccccba +abccceddgddddddcccca +abcchdddddddgddcccca +acccdddddccdddddccca +accddddcccccdddddcca +abcdgddcccccddgddcca +abccdddhcceddddddcca +abccdddddddddccddcca +abcedddddddddccdddba +accddgddgdddcccdddba +acccdddddddcccdddbba +acccddgdddfcccdddbba +accccdddijkcccddcbba +abccccddddecccddccba +abccccccccccccccccba +abbccccccbbbbccccbba +aaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Smol3.dmm b/maps/submaps/surface_submaps/plains/Smol3.dmm new file mode 100644 index 00000000000..2a9d8eb55e7 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Smol3.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Smol3) +"c" = (/turf/simulated/wall/wood,/area/submap/Smol3) +"d" = (/obj/structure/simple_door/wood,/turf/template_noop,/area/submap/Smol3) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"f" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"g" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"h" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{desc = "Lamen's Hunter Shack! Selling freshly hunted meat for six thalers a slab. Support Locale hunters! Also selling Getmore Products for 3 thalers a bag, or 2 thalers for a bottle of water. Please place all payments into the nearbye bag."},/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"i" = (/obj/structure/table/woodentable,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"j" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c200,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +abbbbbbbbbbbbba +abbbccdccbbbbba +abbbceeecbbbbba +abbbcfegcbbbbba +abbbchijcbbbbba +abbeeeeeeebbbba +abeeeeeeeeeebba +abbbbbbbbbbbbba +aaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm b/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm new file mode 100644 index 00000000000..7afbe010ab9 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/SupplyDrop2.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/SupplyDrop2) +"c" = (/turf/simulated/floor/plating,/area/submap/SupplyDrop2) +"d" = (/obj/structure/girder/displaced,/turf/template_noop,/area/submap/SupplyDrop2) +"e" = (/turf/simulated/wall/titanium,/area/submap/SupplyDrop2) +"f" = (/turf/simulated/floor/reinforced,/area/submap/SupplyDrop2) +"g" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/reinforced,/area/submap/SupplyDrop2) +"h" = (/obj/item/device/flashlight,/turf/simulated/floor/reinforced,/area/submap/SupplyDrop2) +"i" = (/obj/structure/loot_pile/maint/technical,/obj/item/device/gps/internal/poi,/obj/item/weapon/cell/device/weapon/empty,/obj/item/weapon/cell/device/weapon/empty,/turf/simulated/floor/plating,/area/submap/SupplyDrop2) +"j" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/reinforced,/area/submap/SupplyDrop2) +"k" = (/obj/structure/girder,/turf/template_noop,/area/submap/SupplyDrop2) +"l" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/reinforced,/area/submap/SupplyDrop2) +"m" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/plating,/area/submap/SupplyDrop2) + +(1,1,1) = {" +aabbcdaaa +abbefbbbb +bbeegeebb +bffhijfff +bbekcekbb +bbbkldbba +abbbmbbba +"} diff --git a/maps/submaps/surface_submaps/plains/Thiefc.dmm b/maps/submaps/surface_submaps/plains/Thiefc.dmm new file mode 100644 index 00000000000..9e7a5e0069b --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Thiefc.dmm @@ -0,0 +1,39 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Thiefc) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Thiefc) +"d" = (/obj/structure/ore_box,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"e" = (/obj/structure/closet/crate,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"f" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"g" = (/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"h" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"i" = (/obj/structure/closet/crate,/obj/item/weapon/lipstick,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/random,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"j" = (/obj/structure/table/steel,/obj/item/weapon/beartrap,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"k" = (/obj/vehicle/train/cargo/trolley,/obj/random/firstaid,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"l" = (/obj/structure/closet/crate,/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/folder/white,/obj/item/weapon/folder/yellow,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"m" = (/obj/structure/table/steel,/obj/item/weapon/paper{desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note"},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"n" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"o" = (/obj/structure/closet/crate,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) +"p" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/practiceshells,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Thiefc) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +abcbbbbbcccccccbbbbbbbbba +abccccccccdecccccbbbbbbba +accccccccfghcchcccbbbbbba +accccccchhhhihhccccbbbbba +abcccccjhhkhhhlccccbbbbba +abbccccmhhnhhhocccccbbbba +abbbbbcchhhhhhpccccccbbba +abbbbcccchhhhchccccccbbba +abbbcccccchhcccccccccbbba +abbbbccchhhhccccccccbbbba +abbbbbhhhhhcccccccccbbbba +abbbbbhhhccccccccccbbbbba +abbbccccccccccccccbbbbbba +abbbbbcccccccccccbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/bonfire.dmm b/maps/submaps/surface_submaps/plains/bonfire.dmm new file mode 100644 index 00000000000..c2789d46ee5 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/bonfire.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/template_noop,/area/submap/bonfire) +"b" = (/obj/item/stack/material/log/sif,/turf/template_noop,/area/submap/bonfire) +"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) +"d" = (/obj/item/weapon/flame/lighter/random,/turf/template_noop,/area/submap/bonfire) +"e" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) +"f" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) +"g" = (/obj/structure/bonfire/sifwood,/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) +"h" = (/obj/item/weapon/material/knife/machete,/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) +"i" = (/obj/item/clothing/head/helmet/material/makeshift,/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) +"j" = (/obj/item/stack/material/log/sif,/turf/simulated/floor/outdoors/dirt,/area/submap/bonfire) + +(1,1,1) = {" +aaaaaaaaaa +aaaaaaaaaa +aabaaaaaaa +aaaacdaaaa +aaaefcaaaa +aaccghaaaa +aaaicjcaaa +aabcaaaaaa +aaaaaaaaaa +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/camp1.dmm b/maps/submaps/surface_submaps/plains/camp1.dmm index 9a78acf9806..08263431adf 100644 --- a/maps/submaps/surface_submaps/plains/camp1.dmm +++ b/maps/submaps/surface_submaps/plains/camp1.dmm @@ -1,17 +1,18 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/simulated/wall/log_sif,/area/submap/camp1) "c" = (/obj/structure/grille/rustic,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/submap/camp1) -"d" = (/obj/structure/bed/padded,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"e" = (/obj/item/device/flashlight/lantern,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"f" = (/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"g" = (/obj/machinery/space_heater,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"h" = (/obj/structure/simple_door/sifwood,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"i" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/stack/rods{amount = 17},/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) +"d" = (/obj/structure/bed/padded,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/camp1) +"e" = (/obj/item/device/flashlight/lantern,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/camp1) +"f" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/camp1) +"g" = (/obj/machinery/space_heater,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/camp1) +"h" = (/obj/structure/simple_door/sifwood,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/camp1) +"i" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/stack/rods{amount = 17},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/camp1) "j" = (/obj/item/stack/material/log/sif{amount = 25},/turf/template_noop,/area/template_noop) "k" = (/obj/structure/table/bench/wooden,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"l" = (/obj/item/weapon/material/knife/machete/hatchet,/turf/template_noop,/area/template_noop) -"m" = (/obj/structure/bonfire/sifwood,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) -"n" = (/obj/item/weapon/flame/lighter,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) +"l" = (/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) +"m" = (/obj/item/weapon/material/knife/machete/hatchet,/turf/template_noop,/area/template_noop) +"n" = (/obj/structure/bonfire/sifwood,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) +"o" = (/obj/item/weapon/flame/lighter,/turf/simulated/floor/outdoors/dirt,/area/submap/camp1) (1,1,1) = {" abbbcbbbaa @@ -20,8 +21,8 @@ acfffffcaa abgbhbibaa abbbfbbbaa aaabhbjaaa -aakfffklaa -aakfmfkaaa -aakfffkaaa -aaanffaaaa +aaklllkmaa +aaklnlkaaa +aaklllkaaa +aaaollaaaa "} diff --git a/maps/submaps/surface_submaps/plains/farm1.dmm b/maps/submaps/surface_submaps/plains/farm1.dmm index a21bb2279e3..3e9748c4bf4 100644 --- a/maps/submaps/surface_submaps/plains/farm1.dmm +++ b/maps/submaps/surface_submaps/plains/farm1.dmm @@ -1,93 +1,79 @@ -"aa" = (/turf/template_noop,/area/template_noop) -"ab" = (/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ac" = (/obj/structure/railing,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ad" = (/obj/structure/railing{tag = "icon-railing0 (EAST)"; icon_state = "railing0"; dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ae" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"af" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ag" = (/turf/simulated/wall/wood,/area/submap/farm1) -"ah" = (/obj/structure/grille/rustic,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/submap/farm1) -"ai" = (/obj/structure/window/reinforced,/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"aj" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/wood,/area/submap/farm1) -"ak" = (/turf/simulated/floor/wood,/area/submap/farm1) -"al" = (/obj/structure/table/marble,/turf/simulated/floor/wood,/area/submap/farm1) -"am" = (/obj/structure/table/marble,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/wood,/area/submap/farm1) -"an" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"ao" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ap" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aq" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ar" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"as" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"at" = (/obj/item/weapon/material/minihoe,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"au" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"av" = (/obj/structure/table/marble,/obj/item/weapon/material/knife,/turf/simulated/floor/wood,/area/submap/farm1) -"aw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"ax" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/bluetomatoseed,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"ay" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/bluetomatoseed,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"az" = (/turf/simulated/floor/outdoors/mud,/area/submap/farm1) -"aA" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/icepepperseed,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aB" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/icepepperseed,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aC" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/farm1) -"aD" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/window/westleft,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aE" = (/mob/living/bot/farmbot,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aF" = (/obj/structure/sink/puddle,/turf/simulated/floor/outdoors/mud,/area/submap/farm1) -"aG" = (/obj/item/weapon/material/knife/machete/hatchet,/turf/simulated/floor/outdoors/mud,/area/submap/farm1) -"aH" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/matches,/obj/item/weapon/flame/match,/turf/simulated/floor/wood,/area/submap/farm1) -"aI" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/farm1) -"aJ" = (/obj/item/clothing/shoes/boots/winter/hydro,/obj/item/clothing/suit/storage/hooded/wintercoat/hydro,/turf/simulated/floor/wood,/area/submap/farm1) -"aK" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"aL" = (/obj/structure/bed/chair/wood{tag = "icon-wooden_chair (WEST)"; icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/farm1) -"aM" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aN" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/farm1) -"aO" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/wheatseed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aP" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/wheatseed,/obj/structure/window/reinforced,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aQ" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/wheatseed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) -"aR" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/wood,/area/submap/farm1) -"aS" = (/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/submap/farm1) -"aT" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) -"aU" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/submap/farm1) -"aV" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/wood,/area/submap/farm1) -"aW" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/farm1) -"aX" = (/turf/simulated/floor/outdoors/rocks,/area/submap/farm1) -"aY" = (/turf/simulated/floor/plating,/area/submap/farm1) -"aZ" = (/turf/simulated/floor/water,/area/submap/farm1) -"ba" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/submap/farm1) -"bb" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/submap/farm1) -"bc" = (/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor/plating,/area/submap/farm1) -"bd" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/submap/farm1) -"be" = (/obj/structure/table/steel,/turf/simulated/floor/plating,/area/submap/farm1) -"bf" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) +"c" = (/obj/structure/railing,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) +"d" = (/obj/structure/railing{tag = "icon-railing0 (EAST)"; icon_state = "railing0"; dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) +"e" = (/turf/simulated/floor/outdoors/grass/sif,/area/submap/farm1) +"f" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) +"g" = (/turf/simulated/wall/wood,/area/submap/farm1) +"h" = (/obj/structure/grille/rustic,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/submap/farm1) +"i" = (/obj/structure/window/reinforced/full,/obj/structure/grille/rustic,/turf/simulated/floor/plating,/area/submap/farm1) +"j" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/wood,/area/submap/farm1) +"k" = (/turf/simulated/floor/wood,/area/submap/farm1) +"l" = (/obj/structure/table/marble,/turf/simulated/floor/wood,/area/submap/farm1) +"m" = (/obj/structure/table/marble,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/wood,/area/submap/farm1) +"n" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/cornseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) +"o" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) +"p" = (/obj/structure/table/marble,/obj/item/weapon/material/knife,/turf/simulated/floor/wood,/area/submap/farm1) +"q" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/bluetomatoseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) +"r" = (/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) +"s" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/icepepperseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) +"t" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/farm1) +"u" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/window/westleft,/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) +"v" = (/mob/living/bot/farmbot,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) +"w" = (/obj/structure/sink/puddle,/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) +"x" = (/obj/item/weapon/material/knife/machete/hatchet,/turf/simulated/floor/outdoors/mud{outdoors = 0},/area/submap/farm1) +"y" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/matches,/obj/item/weapon/flame/match,/turf/simulated/floor/wood,/area/submap/farm1) +"z" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/farm1) +"A" = (/obj/item/clothing/shoes/boots/winter/hydro,/obj/item/clothing/suit/storage/hooded/wintercoat/hydro,/turf/simulated/floor/wood,/area/submap/farm1) +"B" = (/obj/structure/bed/chair/wood{tag = "icon-wooden_chair (WEST)"; icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/farm1) +"C" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/farm1) +"D" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/item/seeds/wheatseed,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/farm1) +"E" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/wood,/area/submap/farm1) +"F" = (/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/submap/farm1) +"G" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/hydroponics_pod_people,/turf/simulated/floor/wood,/area/submap/farm1) +"H" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/wood,/area/submap/farm1) +"I" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/farm1) +"J" = (/turf/simulated/floor/outdoors/rocks,/area/submap/farm1) +"K" = (/turf/simulated/floor/plating,/area/submap/farm1) +"L" = (/turf/simulated/floor/water,/area/submap/farm1) +"M" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/submap/farm1) +"N" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/submap/farm1) +"O" = (/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor/plating,/area/submap/farm1) +"P" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/submap/farm1) +"Q" = (/obj/structure/table/steel,/turf/simulated/floor/plating,/area/submap/farm1) +"R" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/outdoors/dirt,/area/submap/farm1) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa -aaadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaaaaaaaaaa -aaadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaaaaaaaaaa -aaadaeaeagagahahagagaeaeaeaeaeaiaiaiaiaiaiaiaiaiaeaeafaaaaaaaaaa -aaadaeaeagajakalamagaeaeaeaeanaoapapapapapapapaqaraeafaaaaaaaaaa -aaadaeaeagakakakalahaeaeaeaeanasatababababababauaraeafaaaaaaaaaa -aaadaeaeagakakakavagaeababaeawaxayayazazazaAaAaBaraeafaaaaaaaaaa -aaadaeagagagaCagagagaeabababaDaEababazaFaGababauaraeafaaaaaaaaaa -aaadaeagaHaIakaJagaeaeaeababaKaxayayazazazaAaAaBaraeafaaaaaaaaaa -aaadaeahaIaLakakagagagaeabaeanasabaMabababababauaraeafaaaaaaaaaa -aaadaeahaNakakakaCakaCababaeanaOaPaPaPaPaPaPaPaQaraeafaaaaaaaaaa -aaadaeagaRakakaSagagagaeabaeaeaTaTaTaTaTaTaTaTaTaeaeafaaaaaaaaaa -aaadaeagagaCagagagaeaeaeabaeaeaeaeaeaeaeaeaeaeaeaeaeafaaaaaaaaaa -aaadaeagaUakakaVagaeaeabababaeaeaeaeaeababababababababababababaa -aaadaeagaSakakaWagaeaeababababababababababababababababababababaa -aaadaeagagagagagagaeaeabaeaeaeaeaeaeaeababababababababababababaa -aaadaeaeababababababababaeaeaeaeaeaeaeabababaeaeaeaeafaaaaaaaaaa -aaadaeababaXaXaXaXaXaXababaeaeaeagagagaYaYaYagagagaeafaaaaaaaaaa -aaadaeabaXaXaZaZaZaZaXaXababaeaeagbaaYaYaYaYaYbaagaeafaaaaaaaaaa -aaadaeabaXaZaZaZaZaZaZaXaXababaeahbbaYaYaYaYaYaYahaeafaaaaaaaaaa -aaadaeabaXaXaZaZaZaZaZaZaXaXabaeahbaaYaYaYaYaYbaahaeafaaaaaaaaaa -aaadaeababaXaXaZaZaZaZaZaZaXabaeahbcaYaYaYaYaYaYahaeafaaaaaaaaaa -aaadaeaeababaXaXaZaZaZaZaXaXabaeagbaaYbdbebeaYbaagaeafaaaaaaaaaa -aaadaeaeaeababaXaXaXaXaXaXababaeagagagagagagagagagaeafaaaaaaaaaa -aaadaeaeaeaeababababababababaeaeaeaeaeaeaeaeaeaeaeaeafaaaaaaaaaa -aaadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaaaaaaaaaa -aaabbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfabaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abccccccccccccccccccccccccbaaaaa +adeeeeeeeeeeeeeeeeeeeeeeeefaaaaa +adeeeeeeeeeeeeeeeeeeeeeeeefaaaaa +adeegghhggeeeeiiiiiiiiiiiefaaaaa +adeegjklmgeeeeinnnnnnnnniefaaaaa +adeegkkklheeeeioooooooooiefaaaaa +adeegkkkpgebbeiqqqrrrsssiefaaaaa +adegggtgggebbbuvoorwxoooiefaaaaa +adegyzkAgeeebbiqqqrrrsssiefaaaaa +adehzBkkgggebeioooooooooiefaaaaa +adehCkkktktbbeiDDDDDDDDDiefaaaaa +adegEkkFgggebeiiiiiiiiiiiefaaaaa +adeggtgggeeebeeeeeeeeeeeeefaaaaa +adegGkkHgeebbbeeeeebbbbbbbbbbbba +adegFkkIgeebbbbbbbbbbbbbbbbbbbba +adeggggggeebeeeeeeebbbbbbbbbbbba +adeebbbbbbbbeeeeeeebbbeeeefaaaaa +adebbJJJJJJbbeeegggKKKgggefaaaaa +adebJJLLLLJJbbeegMKKKKKMgefaaaaa +adebJLLLLLLJJbbehNKKKKKKhefaaaaa +adebJJLLLLLLJJbehMKKKKKMhefaaaaa +adebbJJLLLLLLJbehOKKKKKKhefaaaaa +adeebbJJLLLLJJbegMKPQQKMgefaaaaa +adeeebbJJJJJJbbegggggggggefaaaaa +adeeeebbbbbbbbeeeeeeeeeeeefaaaaa +adeeeeeeeeeeeeeeeeeeeeeeeefaaaaa +abRRRRRRRRRRRRRRRRRRRRRRRRbaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/plains/plains.dm b/maps/submaps/surface_submaps/plains/plains.dm index 7538b4d9d4b..0d6a557d7a9 100644 --- a/maps/submaps/surface_submaps/plains/plains.dm +++ b/maps/submaps/surface_submaps/plains/plains.dm @@ -9,8 +9,26 @@ #include "beacons.dmm" #include "Epod.dmm" #include "PascalB.dmm" +#include "bonfire.dmm" +#include "Rocky5.dmm" +#include "Field1.dmm" +#include "Thiefc.dmm" +#include "smol2.dmm" +#include "Mechpt.dmm" +#include "Boathouse.dmm" +#include "PooledR.dmm" +#include "Smol3.dmm" +#include "Diner.dmm" +#include "Snow1.dmm" +#include "Snow2.dmm" +#include "Snow3.dmm" +#include "Snow4.dmm" +#include "Snow5.dmm" +#include "SupplyDrop2.dmm" +#include "RationCache.dmm" #endif + // The 'plains' is the area outside the immediate perimeter of the big outpost. // POIs here should not be dangerous, be mundane, and be somewhat conversative on the loot. Some of the loot can be useful, but it shouldn't trivialize the Wilderness. @@ -56,7 +74,7 @@ mappath = 'maps/submaps/surface_submaps/plains/Epod.dmm' cost = 5 -/datum/map_template/surface/wilderness/normal/Rocky2 +/datum/map_template/surface/plains/normal/Rocky2 name = "Rocky2" desc = "More rocks." mappath = 'maps/submaps/surface_submaps/wilderness/Rocky2.dmm' @@ -67,4 +85,112 @@ name = "Irradiated Manhole Cover" desc = "How did this old thing get all the way out here?" mappath = 'maps/submaps/surface_submaps/plains/PascalB.dmm' - cost = 5 \ No newline at end of file + cost = 5 + +/datum/map_template/surface/plains/bonfire + name = "Abandoned Bonfire" + desc = "Someone seems to enjoy orange juice a bit too much." + mappath = 'maps/submaps/surface_submaps/plains/bonfire.dmm' + cost = 5 + +/datum/map_template/surface/plains/Rocky5 + name = "Rocky 5" + desc = "More rocks, Less Stalone" + mappath = 'maps/submaps/surface_submaps/plains/Rocky5.dmm' + cost = 5 + +/datum/map_template/surface/plains/Shakden + name = "Shakden" + desc = "Not to be confused with Shaq Den" + mappath = 'maps/submaps/surface_submaps/plains/Shakden.dmm' + cost = 10 + +/datum/map_template/surface/plains/Field1 + name = "Field 1" + desc = "A regular field with a tug on it" + mappath = 'maps/submaps/surface_submaps/plains/Field1.dmm' + cost = 20 + +/datum/map_template/surface/plains/Thiefc + name = "Thieves Cave" + desc = "A thieves stash" + mappath = 'maps/submaps/surface_submaps/plains/Thiefc.dmm' + cost = 20 + +/datum/map_template/surface/plains/smol2 + name = "Small 2" + desc = "A small formation of mishaped surgery" + mappath = 'maps/submaps/surface_submaps/plains/smol2.dmm' + cost = 10 + +/datum/map_template/surface/plains/Mechpt + name = "Mechpit" + desc = "A illmade Mech brawling ring" + mappath = 'maps/submaps/surface_submaps/plains/Mechpt.dmm' + cost = 15 + +/datum/map_template/surface/plains/Boathouse + name = "Boathouse" + desc = "A fance house on a lake." + mappath = 'maps/submaps/surface_submaps/plains/Boathouse.dmm' + cost = 30 + +/datum/map_template/surface/plains/PooledR + name = "Pooled Rocks" + desc = "An intresting rocky location" + mappath = 'maps/submaps/surface_submaps/plains/PooledR.dmm' + cost = 15 + +/datum/map_template/surface/plains/Smol3 + name = "Small 3" + desc = "A small stand" + mappath = 'maps/submaps/surface_submaps/plains/Smol3.dmm' + cost = 10 + +/datum/map_template/surface/plains/Diner + name = "Diner" + desc = "Old Timey Tasty" + mappath = 'maps/submaps/surface_submaps/plains/Diner.dmm' + cost = 25 + +/datum/map_template/surface/plains/snow1 + name = "Snow1" + desc = "Snow" + mappath = 'maps/submaps/surface_submaps/plains/snow1.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow2 + name = "Snow2" + desc = "More snow" + mappath = 'maps/submaps/surface_submaps/plains/snow2.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow3 + name = "Snow3" + desc = "Snow Snow Snow" + mappath = 'maps/submaps/surface_submaps/plains/snow3.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow4 + name = "Snow4" + desc = "Too much snow" + mappath = 'maps/submaps/surface_submaps/plains/snow4.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow5 + name = "Snow5" + desc = "Please stop the snow" + mappath = 'maps/submaps/surface_submaps/plains/snow5.dmm' + cost = 5 + +/datum/map_template/surface/plains/RationCache + name = "Ration Cache" + desc = "A forgotten cache of emergency rations." + mappath = 'maps/submaps/surface_submaps/plains/RationCache.dmm' + cost = 5 + +/datum/map_template/surface/plains/SupplyDrop2 + name = "Supply Drop 2" + desc = "A drop pod that's clearly been here a while, most of the things inside are rusted and worthless." + mappath = 'maps/submaps/surface_submaps/plains/SupplyDrop2.dmm' + cost = 8 \ No newline at end of file diff --git a/maps/submaps/surface_submaps/plains/plains_areas.dm b/maps/submaps/surface_submaps/plains/plains_areas.dm index d76001934ee..c488d83431d 100644 --- a/maps/submaps/surface_submaps/plains/plains_areas.dm +++ b/maps/submaps/surface_submaps/plains/plains_areas.dm @@ -23,4 +23,58 @@ name = "Peninsula" /area/submap/PascalB - name = "PascalB" \ No newline at end of file + name = "PascalB" + +/area/submap/bonfire + name = "abandoned bonfire" + +/area/submap/Rocky5 + name = "Rocky5" + +/area/submap/Shakden + name = "Shakden" + +/area/submap/Field1 + name = "Field 1" + +/area/submap/Thiefc + name = "Thieves Cave" + +/area/submap/smol2 + name = "Small 2" + +/area/submap/Mechpt + name = "Mech Pit" + +/area/submap/Boathouse + name = "Boathouse" + +/area/submap/Smol3 + name = "Small 3" + +/area/submap/PooledR + name = "Pooled Rocks" + +/area/submap/Diner + name = "Diner" + +/area/submap/snow1 + name = "Snow1" + +/area/submap/snow2 + name = "Snow2" + +/area/submap/snow3 + name = "Snow3" + +/area/submap/snow4 + name = "Snow4" + +/area/submap/snow5 + name = "Snow5" + +/area/submap/SupplyDrop2 + name = "Supply Drop 2" + +/area/submap/RationCache + name = "Ration Cache" diff --git a/maps/submaps/surface_submaps/plains/smol2.dmm b/maps/submaps/surface_submaps/plains/smol2.dmm new file mode 100644 index 00000000000..739a000ce12 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/smol2.dmm @@ -0,0 +1,21 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/smol2) +"c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/smol2) +"d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/smol2) +"e" = (/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/turf/template_noop,/area/submap/smol2) +"f" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/smol2) +"g" = (/obj/item/weapon/storage/firstaid,/obj/item/stack/medical/splint,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/template_noop,/area/submap/smol2) +"h" = (/obj/effect/decal/cleanable/blood,/turf/template_noop,/area/submap/smol2) + +(1,1,1) = {" +aaaaaaaaaa +abbbcbbdda +abbbbbddda +acbbebbdda +abbbbfddba +abbbghddba +adddddddba +abddddbbba +abbbbbbbba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow1.dmm b/maps/submaps/surface_submaps/plains/snow1.dmm new file mode 100644 index 00000000000..ec5c8ea00c0 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow1.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow1) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow1) + +(1,1,1) = {" +aaaaaaaaaa +abbbcccbba +abbcccccba +abccccccba +abccccccca +acccccccba +accccccbba +abcccccbba +abbbbbbbba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow2.dmm b/maps/submaps/surface_submaps/plains/snow2.dmm new file mode 100644 index 00000000000..bedbb62d51a --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow2.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/smol2) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/smol2) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +abbbbbbbbbcbbba +abbbbbbbbcccbba +abbbbbbcccccbba +abbbbbccccccbba +abbbbccccccbbba +abbbbccccccbbba +abbbbccccccbbba +abbbcccccccbbba +abbbcccccccbbba +abbbcccccccbbba +abbbccccccbbbba +abbcccccccbbbba +abbccccccbbbbba +abbcccccbbbbbba +abbccccbbbbbbba +abccccbbbbbbbba +abccbcbbbbbbbba +abbbbbbbbbbbbba +aaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow3.dmm b/maps/submaps/surface_submaps/plains/snow3.dmm new file mode 100644 index 00000000000..56e9a788786 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow3.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow3) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow3) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaa +abbbbccccccbbbbbbbba +abbcccccccccccccbbba +abccccccccccccccccca +abccccccccccccccccca +abccccccccccccccccba +abccccccccccccccbbba +abbbcccccccccccbbbba +abbbbbbbcccbbbbbbbba +aaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow4.dmm b/maps/submaps/surface_submaps/plains/snow4.dmm new file mode 100644 index 00000000000..4d766fcf82f --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow4.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow4) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow4) + +(1,1,1) = {" +aaaaaaaaaa +abbcbbbbba +abcccbcbba +abccccccba +abbccccbba +abcccccbba +acccccccba +acccbcccba +abcbbbccba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow5.dmm b/maps/submaps/surface_submaps/plains/snow5.dmm new file mode 100644 index 00000000000..d14b78e01ec --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow5.dmm @@ -0,0 +1,22 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow5) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow5) + +(1,1,1) = {" +aaaaaaaaaaaa +abbcccccbbba +abcccccccbba +abcccccccbba +abbcccccccba +abbcccccccba +abbbcccccbba +abbbccccccba +abbbbcccccba +abbbbcccccba +abbbbccccbba +abbbcccccbba +abbbccccbbba +abbbcccbbbba +abbcccbbbbba +aaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm b/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm index c075071f936..2c9db33b33d 100644 --- a/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm +++ b/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm @@ -9,107 +9,151 @@ "ai" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"; tag = "icon-dark6"},/area/submap/Blackshuttledown) "aj" = (/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) "ak" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"; tag = "icon-dark10"},/area/submap/Blackshuttledown) -"al" = (/obj/machinery/door/airlock/external{density = 1; frequency = 1331; id_tag = "merc_shuttle_outer"; name = "Ship External Access"; req_access = list(150)},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"am" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) -"an" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/template_noop,/area/submap/Blackshuttledown) -"ao" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ap" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aq" = (/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ar" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"as" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"at" = (/obj/machinery/organ_printer/flesh,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"au" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"; tag = "icon-dark5"},/area/submap/Blackshuttledown) -"av" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aw" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ax" = (/obj/machinery/optable,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ay" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"az" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"; tag = "icon-dark9"},/area/submap/Blackshuttledown) -"aA" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"; tag = "icon-dark6"},/area/submap/Blackshuttledown) -"aB" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aC" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aD" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual."; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aF" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aG" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aH" = (/obj/structure/table/standard,/obj/item/weapon/tank/anesthetic,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aI" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/gloves/sterile,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aJ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aK" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aM" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aN" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aO" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aP" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"; tag = "icon-dark10"},/area/submap/Blackshuttledown) -"aQ" = (/obj/machinery/computer/communications,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aR" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aS" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aT" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aU" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aV" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) -"aX" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) -"aZ" = (/obj/structure/table/steel,/obj/item/pizzabox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ba" = (/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bb" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) -"bd" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; name = "Unknown APC"; pixel_x = 24},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) -"be" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bf" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bg" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bh" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bi" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bj" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bk" = (/obj/machinery/atmospherics/pipe/tank/oxygen,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bl" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bm" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bn" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bo" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bp" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bq" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"br" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bs" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/item/weapon/gun/projectile/shotgun/pump,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bt" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bu" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bv" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bw" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bx" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"; tag = "icon-dark5"},/area/submap/Blackshuttledown) -"by" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"; tag = "icon-dark9"},/area/submap/Blackshuttledown) +"al" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"; tag = "icon-dark0"},/area/submap/Blackshuttledown) +"am" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/template_noop,/area/submap/Blackshuttledown) +"an" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ao" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ap" = (/obj/machinery/door/airlock/external{density = 1; frequency = 1331; id_tag = "merc_shuttle_outer"; name = "Ship External Access"; req_access = list(150)},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aq" = (/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (NORTHWEST)"; icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"ar" = (/obj/machinery/gibber,/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"as" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"at" = (/obj/machinery/bodyscanner{dir = 8},/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"au" = (/obj/machinery/body_scanconsole,/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (NORTHEAST)"; icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"av" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"; tag = "icon-dark5"},/area/submap/Blackshuttledown) +"aw" = (/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"ax" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"ay" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"az" = (/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aA" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aB" = (/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (WEST)"; icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aC" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aD" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aE" = (/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aF" = (/obj/machinery/organ_printer/flesh,/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (NORTHEAST)"; icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aG" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"; tag = "icon-dark9"},/area/submap/Blackshuttledown) +"aH" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"; tag = "icon-dark6"},/area/submap/Blackshuttledown) +"aI" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"aJ" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"aK" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aL" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aM" = (/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aN" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aO" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aQ" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor/full,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aR" = (/obj/structure/table/steel,/obj/item/weapon/grenade/smokebomb,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"aS" = (/obj/effect/floor_decal/borderfloor/corner,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aT" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"aV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (SOUTHWEST)"; icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aW" = (/obj/structure/table/standard,/obj/item/weapon/tank/anesthetic,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aX" = (/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aY" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/gloves/sterile,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"ba" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/obj/effect/floor_decal/corner/green/border{tag = "icon-bordercolor (SOUTHEAST)"; icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"bb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bc" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bd" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"be" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) +"bf" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"; tag = "icon-dark10"},/area/submap/Blackshuttledown) +"bg" = (/obj/machinery/computer/communications,/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bi" = (/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bj" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bk" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bl" = (/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bm" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bn" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bo" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bp" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) +"br" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bs" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bu" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bv" = (/obj/structure/table/steel,/obj/random/projectile,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bw" = (/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) +"by" = (/obj/machinery/door/airlock/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bz" = (/obj/effect/floor_decal/corner/grey,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bA" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bB" = (/obj/structure/table/steel,/obj/item/pizzabox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bC" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bD" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bE" = (/obj/machinery/door/airlock/glass,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) +"bH" = (/obj/machinery/power/apc{dir = 8; name = "BSD APC"; pixel_x = -24},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bI" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bJ" = (/obj/machinery/computer/area_atmos,/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bK" = (/obj/effect/floor_decal/borderfloor{dir = 4},/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bL" = (/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bM" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bN" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bO" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bP" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bQ" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bR" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bS" = (/obj/machinery/atmospherics/pipe/tank/oxygen,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) +"bT" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bU" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bV" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"bW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bY" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"bZ" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) +"ca" = (/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) +"cb" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"cc" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"cd" = (/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ce" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cf" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) +"cg" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"ch" = (/obj/structure/table/steel,/obj/random/energy,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) +"ci" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) +"cj" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"ck" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cl" = (/obj/structure/table/woodentable,/obj/random/projectile,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cn" = (/obj/structure/table/woodentable,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"co" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) +"cp" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"; tag = "icon-dark5"},/area/submap/Blackshuttledown) +"cq" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"; tag = "icon-dark9"},/area/submap/Blackshuttledown) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaabababababacababababababababadadabacabababababacabababababababababaa aaababababababaeabababababababadadababababababababababababadafababacaa -aaabababababababababababababadadababababababababababaeababadadabababaa +aaabababababababababababababadadabababafabababafababaeababadadabababaa aaababafabadadadababababafababababababababababababababababadadabababaa aaabababababadadadabacababababagagagagagagabababababacabafabadabababaa -aaababababababadadababababababagahabababagabababababababababababababaa +aaababababababadadabafababababagahabababagabababababababababababababaa aaabababababababaiajajajakababagabababahagabababafaiajajajajakabababaa -aaabababababababajajajajajajajajajalalajajajajajajajajajajajamanababaa -aaababababafababajajajajajajaoapajaqarajaqaqasaqatajajajajajamanababaa -aaabababababababauajajaqavajaqaqajawawajaqaxaqaqaqaqayajajazababababaa -aaabababababababaAajajaBaCajaqaqaqaqaqajaqaqaqaqaDaqaEajazabababababaa -aaabafababababaAajaFajaqaFajaqaqaqaqaEajaGaHaqaqaIaJaKajababababafabaa -aaabababababaAajaLaMajaNajajaqaqajajajajajajaOajajajajajaPabababababaa -aaabababababajaQaqaqajaqaqaqaqaqajaRaSaqasaqaTaqajaUaUaVajaPababababaa -aaabababababaWaFaqaqajaLaqaqaqaEajaqaqaXaXaXaqaqajaFaqaqaqamanabababaa -aaabababababaYaFaqaqaOaqaqaqaqaqaOaqaqaZbaaFaqaqbbaqaqaqaqamanabababaa -aaabababababaYaFaqaqaOaqaqaqaqaqaOaqaqaFaFaFaqaqbbaqaqaqaqamanabababaa -aaabababababbcaFaqaqajaLaqaqaqaEajaqaqaXaXaXaqaqbdaqaqaqaTamanabababaa -aaabababababajbeaqaTajaqaqaqaqaqajbfbgaqbhaTaqaqajbibjbkajazababababaa -aaabababababauajaLblajaNajajaqaqajajajajajajaOajajajajajazabababababaa -aaababababababauajaFajaqbmajaqaqaqaqaEajbnaqaqaqaqbbaqajababababababaa -aaabafabababababauajajbobpajaqaqaqaqaqajbqaqbnaqbnajarajaPabafabababaa -aaabababababababaAajajbrbsajaqaTajawawajbnaqbnaqbnajbtajajaPababababaa -aaabababababababajajajajajajbuapajaqarajbnaqbvaqbwajajajajamanabababaa -aaabababababababajajajajajajajajajalalajajajajajajajajajajamanabababaa -aaababafababababbxajajajbyababagahabababagabababbxajajajajbyababababaa -aaabababadabababababafababababagabababahagababababafabababadadadababaa -aaababadadabacababababababababagagagagagagababababacababadadadadababaa +aaabababababababajajajajajajajajajababajajajajajajajajajajajalamababaa +aaababababafababajajajajajajanaoajapapajaqarasatauajajajajajalamababaa +aaabababababababavajajawaxajayazajaAaAajaBaCaDaEaEaEaFajajaGababababaa +aaabababababababaHajajaIaJajayaKaLaLaMajaBaNaNaEaOaDaPajaGabababababaa +aaabafababababaHajaQajawaRajayaSaTaTaUajaVaWaEaXaYaZbaajababababafabaa +aaabababababaHajbbbcajbdajajayazajajajajajajbeajajajajajbfabababababaa +aaabababababajbgbhazajbiaLaLbhazajbjbkblbmblbnblajbobobpajbfababababaa +aaabababababbqbrblazajbsblblblbtajblblbububublblajbvblblbwalamabababaa +aaabababababbxbrblaKbybhblbzblblbAblblbBbCbCblblbDblblblbwalamabababaa +aaabababababbxbrblaSbEbFblblblblbAblblbCbCbCblblbDblblblbwalamabababaa +aaabababababbGbrblazajbsblblblbtajblblbububublblajbHblblbIalamabababaa +aaabababababajbJbFbKajbLaTaTbFbMajbNbOblbPbnblblajbQbRbSajaGababababaa +aaabababababavajbTbUajbdajajayazajajajajajajbAajajajajajaGabababababaa +aaababababababavajaQajawbVajaybWaLaLbXajbYblblblblbZcaajababababababaa +aaabafabababababavajajcbccajayaSaTaTcdajceblbYblbYajcfajbfabafabababaa +aaabababababababaHajajcgchajaybKajaAaAajbYblbYblbYajciajajbfababababaa +aaabababababababajajajajajajcjckajapapajbYclcmcncoajajajajalamabababaa +aaabababababababajajajajajajajajajababajajajajajajajajajajalamabababaa +aaababafababababcpajajajcqababagahabababagabababcpajajajajcqababababaa +aaabababadabababababafababababagabababahagababafabafabababadadadababaa +aaababadadabacababababafabababagagagagagagababababacababadadadadababaa aaabadadadabababababababaeababababababababababadadabababadadadadababaa aaababadadababacabadababababababababababababadadadababababadadabababaa -aaabababababababadadafababababababababacabadadadafabababababababababaa -aaabababafababadadadababababababababababadadadadabababababababafababaa +aaabababababababadadafabababafababababacabadadadafabababababababababaa +aaabababafababadadadababababababababafabadadadadabababababababafababaa aaabababababababadadabacabababababababababababadaeabacafababababababaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/wilderness/Boombase.dmm b/maps/submaps/surface_submaps/wilderness/Boombase.dmm index 4af40a47cd9..dda524a79ec 100644 --- a/maps/submaps/surface_submaps/wilderness/Boombase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Boombase.dmm @@ -1,72 +1,74 @@ -"a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/template_noop,/area/submap/BoomBase) -"c" = (/obj/effect/decal/remains/human,/turf/template_noop,/area/submap/BoomBase) -"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/BoomBase) -"e" = (/turf/simulated/wall/r_wall,/area/submap/BoomBase) -"f" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/submap/BoomBase) -"g" = (/obj/structure/girder,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/BoomBase) -"h" = (/obj/item/stack/rods,/turf/simulated/wall/r_wall,/area/submap/BoomBase) -"i" = (/obj/structure/closet/crate/secure/phoron,/obj/fiftyspawner/phoron,/turf/simulated/floor/plating,/area/submap/BoomBase) -"j" = (/obj/structure/closet/crate/secure/phoron,/obj/fiftyspawner/phoron,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"k" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) -"l" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"m" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"n" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"o" = (/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"p" = (/mob/living/simple_animal/hostile/giant_spider/phorogenic{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"q" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) -"r" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) -"s" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/BoomBase) -"t" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/plating,/area/submap/BoomBase) -"u" = (/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) -"v" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BoomBase) -"w" = (/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) -"x" = (/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"y" = (/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) -"z" = (/turf/simulated/floor/tiled/steel{tag = "icon-broken0"; icon_state = "broken0"},/area/submap/BoomBase) -"A" = (/turf/simulated/floor/plating,/area/submap/BoomBase) -"B" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) -"C" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) -"D" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"E" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-broken1"; icon_state = "broken1"},/area/submap/BoomBase) -"F" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-burned2"; icon_state = "burned2"},/area/submap/BoomBase) -"G" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) -"H" = (/obj/structure/table,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"I" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"J" = (/turf/simulated/floor/tiled/steel{tag = "icon-burned2"; icon_state = "burned2"},/area/submap/BoomBase) -"K" = (/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) -"L" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/standard,/obj/item/weapon/tank/phoron,/obj/item/weapon/fuel_assembly/phoron,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"M" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) -"N" = (/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) -"O" = (/obj/item/device/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) -"P" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/BoomBase) -"Q" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/BoomBase) -"R" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"S" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"T" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/phorogenic,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) -"U" = (/obj/effect/spider/stickyweb,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) -"V" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/template_noop,/area/submap/BoomBase) -"W" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/BoomBase) +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/template_noop,/area/submap/BoomBase) +"ac" = (/obj/effect/decal/remains/human,/turf/template_noop,/area/submap/BoomBase) +"ad" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/BoomBase) +"ae" = (/turf/simulated/wall/r_wall,/area/submap/BoomBase) +"af" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/submap/BoomBase) +"ag" = (/obj/structure/girder,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/BoomBase) +"ah" = (/obj/item/stack/rods,/turf/simulated/wall/r_wall,/area/submap/BoomBase) +"ai" = (/obj/structure/closet/crate/secure/phoron,/obj/fiftyspawner/phoron,/turf/simulated/floor/plating,/area/submap/BoomBase) +"aj" = (/obj/structure/closet/crate/secure/phoron,/obj/fiftyspawner/phoron,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"ak" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) +"al" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"am" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"an" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"ao" = (/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"ap" = (/mob/living/simple_animal/hostile/giant_spider/phorogenic{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aq" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) +"ar" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) +"as" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/BoomBase) +"at" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/plating,/area/submap/BoomBase) +"au" = (/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) +"av" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/submap/BoomBase) +"aw" = (/obj/effect/decal/cleanable/dirt,/obj/random/mob/spider/mutant,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"ax" = (/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) +"ay" = (/obj/effect/decal/remains/human,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"az" = (/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) +"aA" = (/turf/simulated/floor/tiled/steel{tag = "icon-broken0"; icon_state = "broken0"},/area/submap/BoomBase) +"aB" = (/turf/simulated/floor/plating,/area/submap/BoomBase) +"aC" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) +"aD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) +"aE" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aF" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-broken1"; icon_state = "broken1"},/area/submap/BoomBase) +"aG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel{tag = "icon-burned2"; icon_state = "burned2"},/area/submap/BoomBase) +"aH" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) +"aI" = (/obj/random/mob/spider/mutant,/turf/simulated/floor/outdoors/dirt,/area/submap/BoomBase) +"aJ" = (/obj/structure/table,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aK" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/giant_spider/phorogenic{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aL" = (/turf/simulated/floor/tiled/steel{tag = "icon-burned2"; icon_state = "burned2"},/area/submap/BoomBase) +"aM" = (/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) +"aN" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/standard,/obj/item/weapon/tank/phoron,/obj/item/weapon/fuel_assembly/phoron,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aO" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) +"aP" = (/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel{tag = "icon-steel_dirty"; icon_state = "steel_dirty"},/area/submap/BoomBase) +"aQ" = (/obj/item/device/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/BoomBase) +"aR" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/BoomBase) +"aS" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/plating,/area/submap/BoomBase) +"aT" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aU" = (/obj/effect/spider/stickyweb,/obj/item/weapon/material/shard,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aV" = (/obj/effect/spider/stickyweb,/obj/random/mob/spider/mutant,/turf/simulated/floor/tiled/steel,/area/submap/BoomBase) +"aW" = (/obj/effect/spider/stickyweb,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/tiled/steel{tag = "icon-burned1"; icon_state = "burned1"},/area/submap/BoomBase) +"aX" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/ash,/turf/template_noop,/area/submap/BoomBase) +"aY" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/BoomBase) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaa -abcbbdbbbbbbbbbdbbbbbbbca -abbbbbeeeeeeeeeeeeeeefgba -abbbbheijklmnopqrstgbbbua -adbbbevvvmmvvwxyzAuuubuBa -abbdbevvvmvfCuuuuuuuuuuua -abbbbeDvvvCCCuuuuuuuuuuua -abbbbemEvfFCuuuuuuuuuuuua -abbbdemmCCCuuuGuuuuuuuuBa -abbbbeHICJuuuuKKuuuuuuuua -abbdbeLMuuuuKKKKKuuuuuuba -abbbbeoNuuuuuKKOPuuuuuuba -abbbQeAzuuuuuKKKKuuuubbba -adbbbeRyuuuuuKuuuuuuubAba -abbbbfAgbuuuuuuuuuuuuASba -abbbbbbAbuuuuuuuuuuAAToba -abbbbbbfAbuuuuuuuuAAUVeba -abbbbbbAfbuubbbuuuAeeheba -abWbbbbbWbbbbbbuubbbbbbca -aaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaabacababadabababababababababadabababababababacaa +aaabababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafagabaa +aaababababahaeaiajakalamanaoapaqarasatagabababauaa +aaadabababaeavavavawamavavaxayazaAaBauauauabauaCaa +aaababadabaeavavavamavafaDauauauauauauauauauauauaa +aaababababaeaEavavavaDaDaDauauauauauauauauauauauaa +aaababababaeamaFavafaGaDauauauauauauauauauaeaBauaa +aaabababadaeamamaDaDaDauauauaHauaIauauauauaeafaCaa +aaababababaeaJaKaDaLauauauauaMaMauauauauauaeafauaa +aaababadabaeaNaOauauauauaMaMaMaMaMauauauauaeafafaa +aaababababaeaoaPauauauauauaMaMaQaRauauauauaeafaBaa +aaabababaSaeaBaAauauauauauaMaMaMaMauauauauabababaa +aaadabababaeaTazauauauauauaMauauauauauauauabaBabaa +aaababababafaBagabauauauauauauauauauauauauaBaUabaa +aaababababababaBabauauauauauauauauauauaBaBaVaoabaa +aaababababababafaBabaeaBaBaBauauauauaBaBaWaXaeabaa +aaababababababaBafabauaeaeaBabauauauaBaeaeahaeabaa +aaabaYabababababaYababababababauauababababababacaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/wilderness/CaveS.dmm b/maps/submaps/surface_submaps/wilderness/CaveS.dmm new file mode 100644 index 00000000000..5a2085080ba --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/CaveS.dmm @@ -0,0 +1,83 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/CaveS) +"c" = (/obj/item/ammo_casing/a45,/turf/template_noop,/area/submap/CaveS) +"d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/CaveS) +"e" = (/obj/item/ammo_casing/a45,/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/template_noop,/area/submap/CaveS) +"f" = (/obj/random/landmine,/turf/template_noop,/area/submap/CaveS) +"g" = (/obj/item/ammo_casing/a45,/obj/random/landmine,/turf/template_noop,/area/submap/CaveS) +"h" = (/obj/random/landmine,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"i" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"j" = (/obj/item/ammo_casing/a45,/obj/item/ammo_casing/a45,/turf/template_noop,/area/submap/CaveS) +"k" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"l" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/template_noop,/area/submap/CaveS) +"m" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/CaveS) +"n" = (/obj/item/clothing/accessory/storage/webbing,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"o" = (/mob/living/simple_animal/hostile/giant_spider,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"p" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"q" = (/obj/random/mob/spider,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"r" = (/mob/living/simple_animal/hostile/giant_spider/lurker,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"s" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"t" = (/mob/living/simple_animal/hostile/giant_spider/webslinger,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"u" = (/obj/effect/decal/cleanable/cobweb2,/mob/living/simple_animal/hostile/giant_spider/lurker,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"v" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/CaveS) +"w" = (/obj/random/mob/spider/mutant,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"x" = (/mob/living/simple_animal/hostile/giant_spider/lurker,/turf/simulated/floor/outdoors/dirt,/area/submap/CaveS) +"y" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/CaveS) +"z" = (/obj/random/landmine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/CaveS) +"A" = (/turf/simulated/floor,/area/submap/CaveS) +"B" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/storage/toolbox,/obj/random/toolbox,/turf/simulated/floor,/area/submap/CaveS) +"C" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor,/area/submap/CaveS) +"D" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/submap/CaveS) +"E" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/submap/CaveS) +"F" = (/turf/simulated/wall,/area/submap/CaveS) +"G" = (/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/antitox,/obj/item/weapon/reagent_containers/pill/paracetamol,/obj/random/firstaid,/turf/simulated/floor,/area/submap/CaveS) +"H" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/submap/CaveS) +"I" = (/obj/structure/closet/crate,/obj/random/contraband,/obj/random/contraband,/obj/random/contraband,/obj/random/energy,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/obj/item/weapon/material/star,/turf/simulated/floor,/area/submap/CaveS) +"J" = (/obj/effect/spider/stickyweb,/mob/living/simple_animal/hostile/giant_spider/lurker,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/CaveS) +"K" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/submap/CaveS) +"L" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/CaveS) +"M" = (/obj/machinery/computer/communications,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/submap/CaveS) +"N" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor,/area/submap/CaveS) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbcbbbbbbcccdddddbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbeddddddddbbddbba +abbbbbbbbbbbbbbbbbbbbbfbdddddddddddddbba +abbbbdddddbbbbcbbbbgbbbhiddddddddddddbba +abbbbddddddddbbbbbjbbfbkkddddddddddddbba +abbbddddddddddbbbbcblbdmkiidddddddddbbba +abbbdddddddddddbbbbbbdddmkkkdddddddbbbba +abbbddddddddddddbbbbddddddhkmddddddbbbba +abbdddddndkkidddbbddddddddkkkkkkddddbbba +abbdddokkkkkkdddbbdddddddpkkkkkkqdddbbba +abbdddikkkkkrddbbddddddddkkkkkkkdddddbba +abbddddkqkkkdddbdddddddddkkddddksddddbba +abdddddddkkkkddddddddddddhkddddkkdddddba +abdddddddkkkksdddddpkqkkkkddddpkddddddba +abddddddddkkkkkkkkkkkkkkkkddddhkddddddda +abdddddddddtkkkkkkkkkkkkkkkuddkkddddddda +abdddddvvdddddwkdddxdddddikkkkkkddddddba +abdddvvvvdddddkkddddddddddkkkkqddddddbba +abddvyvvvdddddkkrdddddddddddddddddddbbba +abddvvzvvvdddddkkkkkddddddddrkddddddbbba +abdddvvvyviddddkkkkkkkhidddkkkkkdddbbbba +abdddvvvzvkkkkkkkdkkkkkiddkkAABkkkddbbba +abddvvvvvvvkkkkidddikkkhkkkkAAACkdddbbba +abddvvvvvvkkddddddddkhkkkkkADDAAkkddbbba +abdddvvvvvkkxddddddkkkidkkAEFFGwkkdddbba +abdddddyvkkddddddikkkkddkkAHFFIkkddddbba +abdddddddviddddddJkkkkddkkAKLMAAddddbbba +abbddddddddddddddkkkkkdddkkkAAAdddddbbba +abbdddddddddddddddkidddddwkkANdddddbbbba +abbdddddddddddddddddddddddrkkddddbbbbbba +abbbdddddddddddddddddddddddddddbbbbbbbba +abbbddddbbbbdddddddbbdddddddddbbbbbbbbba +abbbddbbbbbbbddddbbbbdbbdddddbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm b/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm index f60131e9744..3651d213c09 100644 --- a/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm +++ b/maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm @@ -5,56 +5,58 @@ "e" = (/turf/simulated/floor/wood,/area/submap/DJOutpost1) "f" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "g" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"h" = (/mob/living/simple_animal/hostile/giant_spider/frost{returns_home = 1},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"i" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"j" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/item/device/radio/headset/heads/captain/alt{desc = "A headset belonging to a Sif Free Radio DJ. SFR, best tunes in the wilderness."; name = "SFR headset"},/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"h" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"i" = (/mob/living/simple_animal/hostile/giant_spider/frost{returns_home = 1},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"j" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/obj/item/clothing/under/frontier,/obj/item/weapon/material/knife/tacknife/combatknife,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "k" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "l" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom{tag = "icon-intercom (WEST)"; icon_state = "intercom"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "m" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) "n" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/submap/DJOutpost1) -"o" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/submap/DJOutpost1) +"o" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) "p" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/submap/DJOutpost1) "q" = (/obj/effect/decal/remains,/obj/item/clothing/under/dress/blacktango,/obj/effect/decal/cleanable/blood,/obj/item/device/universal_translator/ear,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"r" = (/obj/structure/bed/chair/office/dark{tag = "icon-officechair_dark (WEST)"; icon_state = "officechair_dark"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"s" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"t" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor,/area/submap/DJOutpost1) -"u" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"v" = (/obj/structure/bed/chair/wood{tag = "icon-wooden_chair (WEST)"; icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"w" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/manual/excavation,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/storage/bible,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"x" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"y" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"z" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom,/obj/item/device/multitool,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"A" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"B" = (/obj/effect/overlay/snow/floor,/obj/machinery/power/port_gen/pacman,/obj/structure/cable/yellow,/turf/simulated/floor,/area/submap/DJOutpost1) -"C" = (/obj/machinery/biogenerator,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"D" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"E" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/seed_extractor,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"F" = (/obj/structure/bed/chair/wood{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"G" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"H" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"I" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"J" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"K" = (/obj/machinery/light/flamp,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"L" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15; tag = "icon-sink (EAST)"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"M" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"N" = (/obj/structure/table/rack,/obj/item/ammo_magazine/clip/c545/hunter,/obj/item/weapon/gun/projectile/shotgun/pump/rifle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"O" = (/obj/structure/table/rack,/obj/item/device/gps/on{gps_tag = "Sif Free Radio"},/obj/item/device/flashlight/lantern,/turf/simulated/floor/wood,/area/submap/DJOutpost1) -"P" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"r" = (/obj/random/mob/spider/mutant,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"s" = (/obj/structure/bed/chair/office/dark{tag = "icon-officechair_dark (WEST)"; icon_state = "officechair_dark"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"t" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"u" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) +"v" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"w" = (/obj/structure/bed/chair/wood{tag = "icon-wooden_chair (WEST)"; icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"x" = (/obj/structure/bookcase,/obj/item/weapon/book/codex/lore/vir,/obj/item/weapon/book/manual/excavation,/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/storage/bible,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"y" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"z" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"A" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/obj/item/device/multitool,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"B" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 4; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Sif Free Radio APC"; operating = 0; pixel_x = 24},/obj/structure/cable/yellow,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"C" = (/obj/effect/overlay/snow/floor,/obj/machinery/power/port_gen/pacman,/obj/structure/cable/yellow,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) +"D" = (/obj/machinery/door/airlock/glass,/obj/item/device/gps/internal/poi,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"E" = (/obj/machinery/biogenerator,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"F" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/unajerky,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"G" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/machinery/seed_extractor,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"H" = (/obj/structure/bed/chair/wood{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"I" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"J" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"K" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"L" = (/obj/structure/table/rack,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random_multi/single_item/sfr_headset,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"M" = (/obj/machinery/light/flamp,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"N" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15; tag = "icon-sink (EAST)"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"O" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/clown,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"P" = (/obj/structure/table/rack,/obj/item/ammo_magazine/clip/c762/hunter,/obj/item/weapon/gun/projectile/shotgun/pump/rifle,/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"Q" = (/obj/structure/table/rack,/obj/item/device/flashlight/lantern,/obj/item/device/gps{gps_tag = "Sif Free Radio"},/turf/simulated/floor/wood,/area/submap/DJOutpost1) +"R" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/wood,/area/submap/DJOutpost1) (1,1,1) = {" aaaaaaaaaaaaaaaa aaabcbbbbbdbaaaa aabbeebfgfgbbaaa -abbehebeeeeibbaa -adehjekeeelemnoa -abpeeqbeeelrsbta -abuvewbeexyzAbBa -abbbbbbkbbbbbbaa -abpeeeeeeeeeCbaa -abDeeeeeeeeeEbaa -adFeebbGbbeeHdaa -abbIebJeKbeLbbaa -aabbMbNeObPbbaaa -aaabdbbGbbdbaaaa +abbeeebeeeehbbaa +adeijekeeelemnoa +abpeeqberelstbua +abvwexbeeyzABbCa +abbbbbbDbbbbbbaa +abpreeeeeeeeEbaa +abFeeeeeeeeeGbaa +adHeebbIbbeeJdaa +abbKebLrMbeNbbaa +aabbObPeQbRbbaaa +aaabdbbIbbdbaaaa aaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm b/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm new file mode 100644 index 00000000000..231a7ec9580 --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm @@ -0,0 +1,56 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/wall/wood,/area/submap/DJOutpost1) +"c" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{tag = "icon-shardmedium"; icon_state = "shardmedium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) +"d" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/DJOutpost1) +"e" = (/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"f" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"g" = (/obj/structure/sign/goldenplaque{desc = "An award given to Sif Free Radio for media excellency. It looks fake."; name = "Best Radio Station 2558"; pixel_y = 30},/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"h" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"i" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"k" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/DJOutpost1) +"l" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"m" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/phone,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"n" = (/obj/item/stack/rods,/turf/template_noop,/area/template_noop) +"o" = (/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"p" = (/obj/structure/loot_pile/surface/bones,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"q" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio,/obj/structure/cable/yellow,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"r" = (/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"s" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor{outdoors = 1},/area/submap/DJOutpost1) +"u" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"w" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{tag = "icon-shardmedium"; icon_state = "shardmedium"},/turf/simulated/floor,/area/submap/DJOutpost1) +"x" = (/obj/structure/girder,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"y" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/syndicate{desc = "Talk through this."; name = "station intercom (General)"},/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"A" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"B" = (/obj/structure/door_assembly/door_assembly_ext,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"C" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/submap/DJOutpost1) +"D" = (/obj/item/weapon/material/shard{tag = "icon-shardmedium"; icon_state = "shardmedium"},/turf/template_noop,/area/template_noop) +"F" = (/obj/item/device/transfer_valve,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"G" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor,/area/submap/DJOutpost1) +"H" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/template_noop,/area/template_noop) +"I" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"J" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/template_noop) +"K" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 15; tag = "icon-sink (EAST)"},/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"L" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/outdoors/rocks,/area/submap/DJOutpost1) +"M" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) +"N" = (/obj/structure/grille/broken,/obj/item/stack/rods,/turf/simulated/floor,/area/submap/DJOutpost1) +"O" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) +"P" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/wood/broken,/area/submap/DJOutpost1) +"S" = (/obj/structure/girder,/turf/simulated/floor/outdoors/dirt,/area/submap/DJOutpost1) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaa +aaabcbbbbbdbaaaaaa +aabbeekffefbbaaaaa +abbePOSoOeegbbaaaa +nweeOooroOiPhCsoaa +DbeporxrrooOlSruoa +abeOrrrrrLmyqxrroa +abbkxrrFrrxbbkrAoa +abPorrrrrroOfbouaa +abeOorrrropeeboaaa +ndeOokxBxkOPfMHaaa +abbeOkOoOkeKbbaaaa +aabbObePebfbbaaaaa +aaabNbbIbbGbaaaaaa +aaaaJaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm b/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm index e782337be3c..aa03a8cdb08 100644 --- a/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm +++ b/maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm @@ -54,27 +54,26 @@ "bb" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/turf/template_noop,/area/submap/DecoupledEngine) "bc" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/window/reinforced{dir = 2; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/template_noop,/area/submap/DecoupledEngine) "bd" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) -"be" = (/obj/effect/floor_decal/rust,/obj/item/projectile/bullet/magnetic/fuelrod,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bf" = (/obj/machinery/power/rad_collector,/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/submap/DecoupledEngine) -"bg" = (/obj/machinery/power/rad_collector,/obj/structure/window/phoronreinforced,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bh" = (/obj/machinery/power/rad_collector,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/submap/DecoupledEngine) -"bi" = (/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) -"bj" = (/obj/machinery/atmospherics/tvalve/digital{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bk" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bl" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bm" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/turf/simulated/floor,/area/submap/DecoupledEngine) -"bn" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) -"bo" = (/obj/effect/floor_decal/rust,/obj/structure/closet/crate/radiation,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bp" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bq" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/rcd,/turf/simulated/floor,/area/submap/DecoupledEngine) -"br" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/durasteel,/area/submap/DecoupledEngine) -"bs" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bt" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bu" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) -"bv" = (/obj/structure/sign/poi/engineleft,/turf/simulated/wall/durasteel,/area/submap/DecoupledEngine) -"bw" = (/obj/structure/sign/poi/engineright,/turf/simulated/wall/r_wall,/area/submap/DecoupledEngine) -"bx" = (/obj/structure/girder,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) -"by" = (/obj/structure/girder/displaced,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) +"be" = (/obj/machinery/power/rad_collector,/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor,/area/submap/DecoupledEngine) +"bf" = (/obj/machinery/power/rad_collector,/obj/structure/window/phoronreinforced,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bg" = (/obj/machinery/power/rad_collector,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor,/area/submap/DecoupledEngine) +"bh" = (/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) +"bi" = (/obj/machinery/atmospherics/tvalve/digital{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bj" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bk" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bl" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/turf/simulated/floor,/area/submap/DecoupledEngine) +"bm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) +"bn" = (/obj/effect/floor_decal/rust,/obj/structure/closet/crate/radiation,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bo" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bp" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/rcd,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bq" = (/obj/structure/sign/warning/radioactive,/turf/simulated/wall/durasteel,/area/submap/DecoupledEngine) +"br" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bs" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bt" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced,/turf/simulated/floor,/area/submap/DecoupledEngine) +"bu" = (/obj/structure/sign/poi/engineleft,/turf/simulated/wall/durasteel,/area/submap/DecoupledEngine) +"bv" = (/obj/structure/sign/poi/engineright,/turf/simulated/wall/r_wall,/area/submap/DecoupledEngine) +"bw" = (/obj/structure/girder,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) +"bx" = (/obj/structure/girder/displaced,/turf/simulated/floor/outdoors/rocks,/area/submap/DecoupledEngine) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -95,14 +94,14 @@ aaabadabafababaoaoaoaoacabaoapaqaqarasatatanananajababababaa aaamababababauavavavawaxaoapayaqazaAaBaCanananajabababababaa aaababauauaDaEaFaGaHaIaJaoaKaIaLaMaAaNaOananajajabababababaa aaababababaPaPaQaPaPaPaRaSaTaUaVaWaNaXaYanajajababababababaa -aaababaZbabbbcavbdbdbebfbgbhaUaVazaNaXbiajajabadabajabababaa -aaabajabajaoaxavaWbjaAaAbkaAblbmaMaAaNbnajabamajabababababaa -aaabababababaoavavavavbobpaPbqavaWayaNaoabajajababababababaa -aaababababababauaoaobrbsbtbuavbvbwauaPajajajabababababababaa -aaabababbxajabababababababababababababababababababababababaa +aaababaZbabbbcavbdbdaPbebfbgaUaVazaNaXbhajajabadabajabababaa +aaabajabajaoaxavaWbiaAaAbjaAbkblaMaAaNbmajabamajabababababaa +aaabababababaoavavavavbnboaPbpavaWayaNaoabajajababababababaa +aaababababababauaoaobqbrbsbtavbubvauaPajajajabababababababaa +aaabababbwajabababababababababababababababababababababababaa aaabababababababababababababababamababababababababababababaa aaabababababababababababababababababajabauababababadabababaa -aaababababababababababaiadabababbyajabababababababababababaa +aaababababababababababaiadabababbxajabababababababababababaa aaabababababababababababababamababababababababababababababaa aaababadabababababababababababababababababababababababababaa aaabababafababababababababababababababababababababababababaa diff --git a/maps/submaps/surface_submaps/wilderness/DoomP.dmm b/maps/submaps/surface_submaps/wilderness/DoomP.dmm new file mode 100644 index 00000000000..1cfed6d4f5f --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/DoomP.dmm @@ -0,0 +1,152 @@ +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/template_noop,/area/submap/DoomP) +"ac" = (/turf/simulated/floor/outdoors/rocks,/area/submap/DoomP) +"ad" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"ae" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/template_noop,/area/submap/DoomP) +"af" = (/turf/simulated/floor/water,/area/submap/DoomP) +"ag" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/DoomP) +"ah" = (/obj/random/landmine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"ai" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"aj" = (/obj/effect/decal/cleanable/blood,/obj/random/landmine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"ak" = (/turf/simulated/floor/water/deep,/area/submap/DoomP) +"al" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"am" = (/obj/random/landmine,/turf/simulated/floor/outdoors/rocks,/area/submap/DoomP) +"an" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"ao" = (/obj/effect/decal/remains/deer,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"ap" = (/obj/effect/decal/remains/mouse,/obj/random/landmine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"aq" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"ar" = (/obj/machinery/light/small,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) +"as" = (/obj/machinery/porta_turret,/turf/simulated/floor/plating,/area/submap/DoomP) +"at" = (/turf/simulated/wall/r_wall,/area/submap/DoomP) +"au" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/submap/DoomP) +"av" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/submap/DoomP) +"aw" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/submap/DoomP) +"ax" = (/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled,/area/submap/DoomP) +"ay" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/DoomP) +"az" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aA" = (/obj/structure/bed/chair,/obj/effect/floor_decal/borderfloor{dir = 1},/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Even less friendly than he looks."; speak = list("Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Anyone else smell that?")},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aB" = (/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aC" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aD" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aE" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/submap/DoomP) +"aF" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/submap/DoomP) +"aG" = (/obj/machinery/power/apc{dir = 1; name = "PAPC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aH" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/submap/DoomP) +"aI" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aJ" = (/obj/structure/table/standard,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aK" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aL" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/rocks,/area/submap/DoomP) +"aM" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Even less friendly than he looks."; speak = list("Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Anyone else smell that?")},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aN" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/DoomP) +"aO" = (/obj/structure/table/standard,/obj/item/pizzabox,/turf/simulated/floor/tiled,/area/submap/DoomP) +"aP" = (/turf/simulated/floor/tiled,/area/submap/DoomP) +"aQ" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aR" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aS" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aV" = (/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aW" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"aX" = (/obj/structure/lattice,/turf/simulated/floor/water,/area/submap/DoomP) +"aY" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/submap/DoomP) +"aZ" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled,/area/submap/DoomP) +"ba" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/DoomP) +"bb" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled/techfloor/grid,/area/submap/DoomP) +"bc" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/submap/DoomP) +"bd" = (/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled,/area/submap/DoomP) +"be" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/DoomP) +"bf" = (/obj/machinery/light/small,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/DoomP) +"bg" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/turf/simulated/floor/tiled,/area/submap/DoomP) +"bh" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled,/area/submap/DoomP) +"bi" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/submap/DoomP) +"bj" = (/obj/machinery/door/airlock/highsecurity,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bk" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bl" = (/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bm" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bn" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syndie_kit/spy,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bo" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/smokes,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bp" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bq" = (/obj/structure/table/rack,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"br" = (/obj/structure/table/rack,/obj/random/energy,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bs" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/contender,/obj/item/ammo_magazine/s357,/obj/item/ammo_magazine/s357,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bt" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bu" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bv" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bw" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bx" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/obj/effect/floor_decal/corner/lime{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"by" = (/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bz" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bA" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bB" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/techfloor,/area/submap/DoomP) +"bC" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/lime/full,/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bD" = (/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bE" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/effect/floor_decal/corner/lime{dir = 10},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bF" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bG" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/DoomP) +"bH" = (/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/submap/DoomP) +"bI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/submap/DoomP) +"bJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/submap/DoomP) +"bK" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/DoomP) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaabababababababababababababababababababababababababababababababababababacacacacacacacacabababababababadadadabababaeabaa +aaaeabababababababababababababababababababababababababababababababababacacafafafafafafacacacacababacadadadadadacacacabaa +aaababacacacacacacacabababababababagababababacacacacacacacacababacacacacafafafafafafafafafafacacacacadadahadacafafacabaa +aaabacacafafafafafacacacacacacababaeabacacacacafafafafacacacacacafafafafafafafafafafafafafacacadadahadadacacacafafacabaa +aaabacafafafafafafafafafafafacacacacacacafafafafafafafafafafafafafafafafafafafafafafafafacacadaiadadajacacafafafafacacaa +aaabacafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafacacacahadadadadadacafafafafafafacaa +aaabacafafafafakakakakakakafafafafafafafafafafafafafakakakakakakakafafafafafafafafacacadaladadahadadadacafafafafafafacaa +aaabacafafafafafakakakakakafafafafafafafafafakakakakakakakakakakakakakakafafafafafacadahadadadadadadamacafafafafafafacaa +aaabacacafafafafafakakakakafafafafafafafafafakakakakakakakakakakakakakafafafafafacacanadadadaoadahacacafafafafafafafacaa +aaababacafafafafafafakakakakakafafafakakakakakakakakakakakakakakakakakakakakakafafacacadadahadadacacafafafafafafafafacaa +aaababacafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakafafafafafafacadadadaiadacamafafafafafafafacacaa +aaababacacafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakafafafafafacamadahadadacacafafafafafafafafacabaa +aaabababacafafafafafafafakakakakakakakakakakakakafafakakakakakakakakakafafafafafafacacadadadadacafafafafafafafafafacabaa +aaabababacacafafafafafafafakakakakakakakakakakafafafafakakakakakakakakakafafafafafamacadadapacacafafafafafafafacacacabaa +aaababababacafafafafafafakakakakakakakakakafafafafafafafafafafafafafafafafafafacacacadadadadacafafafafakafafafacacababaa +aaababababacacafafafafafafakakakakakakafafafafafafafafafafafafafafafafafafafacacadahadahadacacafafafakakafafafafacababaa +aaababababacacafafafafafakakakakakafafafafafafafafafafafafafafafafafafafafacacahadadadacacacafafafafakakakafafafacacabaa +aaababababaeacafafafafakakakakakafafafafafafafafafafafafafafafafafafafafacacadadadamacacafafafafafafakakakafafafafacabaa +aaababababacacafafakakakakakakakakafafafafafafafafafacacacacacacacafafacamadadacacacafafafafafafafafakakakafafafafacabaa +aaababababacafafafakakakakakakakakakakafafafafafacacacadadadadadacacacacadadacacafafafafafafafakafakakakafafafafafacabaa +aaabababacacafafafafakakakakakakakafafafafafafacacadadaqadadadadadadadadadadacafafafafafafafafakakakakakafafafafafacabaa +aaabababacafafafafafafakakakakakafafafafafafacacadadadadadadaqadadadahadadadamafafafafafafafakakakakakakafafafafacacabaa +aaabababacafafafafafafakakakakakafafafafafacacadadadadadadadadadadadadadadacacafafafafafafafakakakakakakakakafafacacabaa +aaabababacafafafafafafafakakakakafafafafacacadadadadadadadadadadadadadadadadacacafafafafafafakakakakakakakakafafafacabaa +aaabababacafafafafafafafakakakafafafafafacadadadadadadadadadadadadadadadadadadacacafafafafafafakakakakakakafafafafacabaa +aaabababacafafafafafafafakakakakakafafafacadadadadadadadaradadadadadaradadadadadacacafafafafafafakakakakafafafafafacabaa +aaabababacafafafafafafafakakakakakafafafacadadasadadasadatauavavavauatadasadadasadacafafafafafafakakakakafafafafafacabaa +aaabababacafafafafafafafakakakakakakafafacatatatatatatatatatatawatatatatatatatatatatatafafafafafakakakakafafafafacacabaa +aaabababacacafafafafafafakakakakakakafafacataxayazaAaBaAazaCataDataEaFaFaFaGaHaIaJaKatafafafafafakakakakafafafafacacabaa +aaabababacacacafafafafakakakakakakakafasaLataMaNaOaNaNaNaPaQataPataRaSaSaSaTaUaVaWaVataXasafafafakakakafafafafafafacabaa +aaabababababacacafafafakakakakakakakafafafataYaNaNaNaNaNaPaZatbaatatatatatatbbbcatatatafafafafafakakakafafafafafafacabaa +aaababababababacafafafakakakakakakakakafafatbdbebebfbebebgaPbhaPaPbiaPaPaPaPaPbiaPaPatafafafafafakakakafafafafafafafacaa +aaabababagabababacafafakakakakakakakakasaXatbjatatatatatatatatatatatatatatbkatatatatataXasafafafakakakafafafafafafafacaa +aaababababababacacafafafakakakakakakakakafatblbmbnbobpbqbrbsatbtbubvbwbvbxbybkbzbkbAatafafafafafakakakafafafafafafafacaa +aaababababababacafafafafakakakakakakakakafatblblbBblblbBblblatbCbDbDbDbDbDbEatbFatbGatafafafafakakakakakafafafafafafacaa +aaababababababacafafafafakakakakakakakakakatatatatatatatatatatatatbHbIbIbIbJatatatatatafafafafakakakakafafafafafafafacaa +aaabababababacacafafafakakakakakakakakakakafafafafaLacacadadadadbKadadadadadbKacacafafafafafafakakakakafafafafafafafacaa +aaabababababacafafafafakakakakakakakakakakakakafafasafacacacacacasadadadadadasacafafafafafafakakakakakafafafafafafacacaa +aaababababacacafafafafakakakakakakakakakakakakakafafafafafafafacacadadadadadacacafafafafafakakakakakakafafafafafafacabaa +aaababababacafafafafafafakakakakakakakakakakakakafafafafafafafafacacacacacacacafafafafafafafakakakakakafafafafafacacabaa +aaabababacacafafafafafafakakakakakakakakakakakakakafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafacababaa +aaabababacacafafafafafakakakakakakakakakakakakakakafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafacababaa +aaabababacacafafafafafakakakakakakakakakakakakakakakakakakafafafafafafafafafafafafafafafafafafakakakafafafafafacacababaa +aaababacacafafafafafafafakakakakakakakakakakakakakakakakakakafafafafafafafafafafafafafafafafakakakakafafafafafacabababaa +aaababacafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakakakakakakakafafakakakakakakafafafafafacacababaa +aaababacafafafafafakakakakakakakakafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakakakakafafafafafacababaa +aaabacacafafafafafakafakakakakakafafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakakakafafafafafacababaa +aaabacafafafafafafafafakakakakakakakafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakakafafafafafacababaa +aaabacafafafafafafafafafafafafakakakafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakakafafafafafacababaa +aaabacafafafafafafafafafafafafafafafafafafafafafafakakakakakakakakakakakakakakakakakakakakakakakakakakafafafafacacababaa +aaabacafafafafafafafafacacacacacacacacafafafafafafakakakakakakakakakakakakakakakafakakakakakakakakakakafafafafacabababaa +aaabacafafafafafafacacacababababababacacacafafafafafafakakafafafafafafafafafakafafafafafakakakakakakafafafafafacabababaa +aaabacacafafafafacacababababababababababacafafafafafafafafafafafafafafafafafafafafafafafafafafakakakakafafafacacababaeaa +aaababacafafafacacababababababababababacacafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakafafafacababagabaa +aaababacafafacacabababababababababagabacafafafafafafafafafafafafafafacacacacacacafafafafafafafafafafafafafacacababababaa +aaabacacafacacababababababababababababacafafafafafafafafafafacacacacacabacacacacacacafafafafafafafafafafacacabababababaa +aaabacafacacababababaeabababababababacacafafafafafacacacacacacababababababababababacacacacacacacafafafacacacabababababaa +aaabacacacababababababababababababacacacacacacacacacabababababababababababababababababababababacacacacacabababababababaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Drugden.dmm b/maps/submaps/surface_submaps/wilderness/Drugden.dmm new file mode 100644 index 00000000000..3cabdc196a3 --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/Drugden.dmm @@ -0,0 +1,75 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Drugd) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Drugd) +"d" = (/turf/simulated/wall,/area/submap/Drugd) +"e" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/Drugd) +"f" = (/turf/simulated/floor/tiled,/area/submap/Drugd) +"g" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Drugd) +"h" = (/obj/random/trash,/turf/simulated/floor,/area/submap/Drugd) +"i" = (/obj/structure/closet/cabinet,/obj/item/weapon/lipstick/random,/turf/simulated/floor/carpet,/area/submap/Drugd) +"j" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/curtain/open/bed,/turf/simulated/floor/carpet,/area/submap/Drugd) +"k" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/happy,/turf/simulated/floor/carpet,/area/submap/Drugd) +"l" = (/turf/simulated/floor,/area/submap/Drugd) +"m" = (/obj/structure/curtain/black,/turf/simulated/floor,/area/submap/Drugd) +"n" = (/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) +"o" = (/turf/simulated/floor/carpet,/area/submap/Drugd) +"p" = (/mob/living/simple_animal/mouse,/turf/simulated/floor,/area/submap/Drugd) +"q" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet,/area/submap/Drugd) +"r" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/methylphenidate,/turf/simulated/floor/carpet,/area/submap/Drugd) +"s" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-armchair_preview (NORTH)"; icon_state = "armchair_preview"; dir = 1},/turf/simulated/floor/carpet,/area/submap/Drugd) +"t" = (/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/carpet,/area/submap/Drugd) +"u" = (/obj/random/junk,/turf/simulated/floor,/area/submap/Drugd) +"v" = (/obj/structure/closet/cabinet,/obj/item/weapon/contraband/poster,/turf/simulated/floor/carpet,/area/submap/Drugd) +"w" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/carpet,/area/submap/Drugd) +"x" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/item/weapon/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) +"y" = (/obj/structure/bed/chair/comfy/beige,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/carpet,/area/submap/Drugd) +"z" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor,/area/submap/Drugd) +"A" = (/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/carpet,/area/submap/Drugd) +"B" = (/obj/structure/table/standard,/obj/item/weapon/storage/pill_bottle/happy,/turf/simulated/floor/tiled,/area/submap/Drugd) +"C" = (/obj/structure/table/standard,/obj/item/stack/medical/splint,/turf/simulated/floor/tiled,/area/submap/Drugd) +"D" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/tiled,/area/submap/Drugd) +"E" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/tramadol,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/simulated/floor/tiled,/area/submap/Drugd) +"F" = (/obj/structure/closet/cabinet,/obj/item/clothing/accessory/jacket,/obj/item/weapon/material/butterfly/switchblade,/turf/simulated/floor/carpet,/area/submap/Drugd) +"G" = (/obj/item/weapon/reagent_containers/pill/zoom,/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) +"H" = (/obj/item/weapon/reagent_containers/pill/zoom,/turf/simulated/floor/carpet,/area/submap/Drugd) +"I" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/carpet,/area/submap/Drugd) +"J" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel,/turf/simulated/floor/tiled,/area/submap/Drugd) +"K" = (/obj/item/wheelchair,/turf/simulated/floor/tiled,/area/submap/Drugd) +"L" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/floor,/area/submap/Drugd) +"M" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/tiled,/area/submap/Drugd) +"N" = (/obj/effect/floor_decal/rust,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Drugd) +"O" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/zoom,/obj/item/weapon/reagent_containers/pill/zoom,/turf/simulated/floor,/area/submap/Drugd) +"P" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/simulated/floor/carpet,/area/submap/Drugd) +"Q" = (/mob/living/simple_animal/hostile/hivebot/range/guard,/turf/simulated/floor,/area/submap/Drugd) +"R" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Drugd) +"S" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Drugd) +"T" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/carpet,/area/submap/Drugd) +"U" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbcccccbbbbbbbbbbbbbbbba +abbccccccbbbbbbbbccccbbba +abcccccccccbbbbbccccccbba +abcccccccccddeddcccccccba +abcccccccccdfffddddddccba +abcccccccccdgghdijkjdccca +abcccccccccdgllmnooodccca +abcccccccccdplldqrstdccca +abcccccccccdulhddddddccca +abcccccccccdllldvwxydccba +acccccddddddzlgmoooAdccba +acccccdBCDEdllfdFGHIdccba +acccccdJKgLdlfMddddddccba +abccccdNllOdhlgdqPwwdccca +abbcccdlQllelllmoooodccca +abbcccdRlSldllhdqTUndccca +abbcccddddddludddddddccca +abbccccccccccccccccccccba +abbbcccccccccccccccccccba +abbbbcccccbbbbbccccbccbba +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Field1.dmm b/maps/submaps/surface_submaps/wilderness/Field1.dmm deleted file mode 100644 index 73f1fad9015..00000000000 --- a/maps/submaps/surface_submaps/wilderness/Field1.dmm +++ /dev/null @@ -1,43 +0,0 @@ -"a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/template_noop,/area/submap/Field1) -"c" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/Field1) -"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Field1) -"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"f" = (/obj/structure/ore_box,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"g" = (/obj/item/device/radio,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"h" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"i" = (/obj/vehicle/train/cargo/engine,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) -"j" = (/obj/item/device/flashlight,/turf/simulated/floor/outdoors/dirt,/area/submap/Field1) - -(1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaabbbbbbbbbbbbbbba -abbaaaaaaaaaabbbbbbbbbbbbbbbaa -acbaaaaaabbbbbbdbbbbbbbbbdbbaa -abbbaaabbbbbbbbbbbbbbbbbbbbaaa -abbbbbbbbbbbbbbbbbbdbbbbbbbaaa -abbbbbbbbbbbbbbbbbbbbbbbbbbaaa -abbbbbbbbbcbbbbbbbbbbbbbbbaaaa -abbbdbbbbbbbbbbbbbbbbbbbbbaaaa -aabbbbbbbbbbbbbbbbbbbbbbbbaaaa -aabbbbbbbbbbbbbbbbbbbbbbbbbaaa -aaabbbbbbbbbbbeeebbbbbbbbbbaaa -aaabbbbbbbbbeeeeeeeeeebbbbbbba -aaaabbbbbbbeeeeeeeeeeeebbbbbba -aaaabbbbbbbeeeeeeeeeeeebbbbdba -aaaabbbbbbbeeefegeeeebbbbbbbba -aaabbbbbbbbbefhhieeebbbbbbbbba -aaabbbbbbbbbbbejbebbbbbbbbbbba -aabbbbbbbbbbbbbbbbbbbbbbbdbbba -abbbdbbbbbbbbbbbbbbbbbbbbbbbba -abbbbbbbbbbbbbbbbbbbbbbbbbbbba -abbbbbbbbbbbbbbbbbbbcbbbbbbbba -abbbbbbbbbbbbbbbbbbbbbbbbbbbba -abbbbbbbdbbbbbbbbbbbbbbbbbbbba -abbbbbbbbbbbbbbbbbbbbbbbbbbbba -abcbbbbbbbbbbbbbbbbbbbbbdbbbba -aabbbbbbdbbbbaaaabaaabbbbbbdba -aaaaaaabbbbbaaaaaaaaaabbbbbbba -aaaaaaaaabbaaaaaaaaaaabbbbbbba -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} diff --git a/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm b/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm index 0b6d9bfba91..b2af79a1b54 100644 --- a/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm +++ b/maps/submaps/surface_submaps/wilderness/GovPatrol.dmm @@ -3,13 +3,14 @@ "c" = (/turf/template_noop,/area/submap/Cragzone1) "d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/GovPatrol) "e" = (/obj/item/device/radio/off,/turf/template_noop,/area/submap/GovPatrol) -"f" = (/obj/item/weapon/storage/box/flare,/turf/template_noop,/area/submap/GovPatrol) -"g" = (/obj/item/ammo_casing,/turf/template_noop,/area/submap/GovPatrol) -"h" = (/obj/item/clothing/under/utility/sifguard,/obj/item/clothing/shoes/boots/jackboots,/obj/effect/decal/remains,/turf/template_noop,/area/submap/GovPatrol) -"i" = (/obj/item/stack/material/wood/sif,/turf/template_noop,/area/submap/GovPatrol) -"j" = (/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,/turf/template_noop,/area/submap/GovPatrol) -"k" = (/obj/structure/bonfire/sifwood,/turf/template_noop,/area/submap/GovPatrol) -"l" = (/obj/effect/decal/remains,/turf/template_noop,/area/submap/GovPatrol) +"f" = (/obj/item/weapon/storage/backpack/parachute,/turf/template_noop,/area/submap/GovPatrol) +"g" = (/obj/item/weapon/storage/box/flare,/turf/template_noop,/area/submap/GovPatrol) +"h" = (/obj/item/ammo_casing,/turf/template_noop,/area/submap/GovPatrol) +"i" = (/obj/item/clothing/under/utility/sifguard,/obj/item/clothing/shoes/boots/jackboots,/obj/effect/decal/remains,/turf/template_noop,/area/submap/GovPatrol) +"j" = (/obj/item/stack/material/wood/sif,/turf/template_noop,/area/submap/GovPatrol) +"k" = (/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,/turf/template_noop,/area/submap/GovPatrol) +"l" = (/obj/structure/bonfire/sifwood,/turf/template_noop,/area/submap/GovPatrol) +"m" = (/obj/effect/decal/remains,/turf/template_noop,/area/submap/GovPatrol) (1,1,1) = {" aaaaaaaaaaaaa @@ -18,11 +19,11 @@ abbbbbbbbcbba abbdbbbbbbbba abbbbbbbbbbba abbbbbbbbbbba -abbbbedbbbbba -abbbbbbfgbbba -adbgbhbbbbbba -abbibbbbbbbba -abbbjbbkbbgba -abbgbbbbblgba +abbbbedfbbbba +abbbbbbghbbba +adbhbibbbbbba +abbjbbbbbbbba +abbbkbblbbhba +abbhbbbbbmhba aaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/wilderness/Lab1.dmm b/maps/submaps/surface_submaps/wilderness/Lab1.dmm index 1050b495033..d679f68887b 100644 --- a/maps/submaps/surface_submaps/wilderness/Lab1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Lab1.dmm @@ -14,29 +14,38 @@ "n" = (/obj/machinery/vending/tool,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) "o" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) "p" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"q" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"q" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/item/weapon/cell/super,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) "r" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) "s" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) "t" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"u" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 8; name = "Unknown APC"; operating = 0; pixel_x = -24},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"v" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"w" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"x" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"y" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"z" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"A" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"B" = (/obj/structure/table/standard,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"C" = (/obj/structure/table/standard,/obj/item/device/multitool,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"D" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"E" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"F" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"G" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"H" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"I" = (/obj/item/weapon/storage/bag/circuits,/obj/structure/table/standard,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"J" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"K" = (/obj/item/robot_parts/chest,/obj/item/robot_parts/l_arm,/obj/item/robot_parts/r_arm,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"L" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) -"M" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"u" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/hyper; dir = 8; name = "Unknown APC"; operating = 0; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"v" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"w" = (/obj/machinery/power/smes/buildable/point_of_interest,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"x" = (/obj/structure/table/standard,/obj/item/weapon/paper{desc = "Gladstone for the last fucking time, We have crowbars for a REASON. Stop breaking in through the goddamn windows! We big red shiny doors for god's sakes!"},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"y" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"z" = (/turf/simulated/floor,/area/submap/Lab1) +"A" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"B" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"C" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"D" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"E" = (/obj/structure/table/standard,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"F" = (/obj/structure/table/standard,/obj/item/device/multitool,/obj/item/clothing/glasses/welding,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"G" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"H" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"I" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"J" = (/obj/item/weapon/cell/super,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"K" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"L" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"M" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"N" = (/obj/item/weapon/storage/bag/circuits,/obj/structure/table/standard,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"O" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"P" = (/obj/item/robot_parts/chest,/obj/item/robot_parts/l_arm,/obj/item/robot_parts/r_arm,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"Q" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"R" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"S" = (/obj/structure/table/standard,/obj/item/seeds/ambrosiavulgarisseed,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"T" = (/obj/machinery/vending/robotics,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"U" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) +"V" = (/obj/machinery/optable,/turf/simulated/floor/tiled/steel_dirty,/area/submap/Lab1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa @@ -46,16 +55,16 @@ acghhihhjhhjhhihhhca ackhgcdfcllcdfchhhca acmhncbbchhcbbcohpca acqhrcbbcshcbbcthtca -acuhhcbbchhcbbcvhwca +acuvwcbbchhcbbcxhyca acdefcbbcllcbbcdefca -abbbbbbbbbbbbbbbbbba -abbbbbbbbbbbbbbbbbba +abbbbbbbbzzbbbbbbbba +abbbbbbbbzzbbbbbbbba acdefcbbcllcbbcdefca -achxycbbchzcbbcABCca -acDhhcbbchhcbbcEhFca -acGhHcdfcllcdfchhIca -acDhhihhJhhJhhihhKca -acLMvcdeeeeeefchhhca +achABcbbchCcbbcDEFca +acGhHcbbchhcbbcIJKca +acLhMcdfcllcdfchhNca +acGhhihhOhhOhhihhPca +acQRScdeeeeeefcTUVca acdefcbbbbbbbbcdefca abbbbbbbbbbbbbbbbbba aaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/wilderness/MCamp1.dmm b/maps/submaps/surface_submaps/wilderness/MCamp1.dmm index df9dd6ecaa4..07a41d7988a 100644 --- a/maps/submaps/surface_submaps/wilderness/MCamp1.dmm +++ b/maps/submaps/surface_submaps/wilderness/MCamp1.dmm @@ -1,59 +1,60 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/MilitaryCamp1) "c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1) -"d" = (/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"e" = (/obj/effect/mine,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"f" = (/obj/structure/flora/bush,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"g" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) +"d" = (/obj/random/landmine,/turf/template_noop,/area/submap/MilitaryCamp1) +"e" = (/obj/structure/flora/bush,/turf/template_noop,/area/submap/MilitaryCamp1) +"f" = (/obj/effect/decal/cleanable/blood,/turf/template_noop,/area/submap/MilitaryCamp1) +"g" = (/obj/random/landmine,/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1) "h" = (/obj/effect/decal/remains,/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1) -"i" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"j" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"k" = (/obj/effect/mine,/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1) -"l" = (/turf/simulated/wall,/area/submap/MilitaryCamp1) -"m" = (/turf/simulated/floor,/area/submap/MilitaryCamp1) -"n" = (/obj/item/weapon/material/shard,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"o" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"p" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"q" = (/obj/effect/mine,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"r" = (/obj/structure/table/standard,/obj/item/weapon/gun/energy/gun,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"s" = (/obj/structure/table/standard,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"t" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syndie_kit/space,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"u" = (/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"v" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"w" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"x" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"y" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"z" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"A" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"B" = (/obj/machinery/computer/security,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"C" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/holofloor/tiled,/area/submap/MilitaryCamp1) -"D" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"E" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/grass/sif/forest,/area/submap/MilitaryCamp1) -"F" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"G" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"H" = (/obj/machinery/light,/obj/structure/table/standard,/turf/simulated/floor/tiled/steel,/area/submap/MilitaryCamp1) -"I" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/MilitaryCamp1) -"J" = (/obj/effect/mine,/turf/template_noop,/area/submap/MilitaryCamp1) +"i" = (/obj/effect/mine,/turf/template_noop,/area/submap/MilitaryCamp1) +"j" = (/obj/effect/decal/remains,/obj/random/landmine,/turf/simulated/floor/outdoors/dirt,/area/submap/MilitaryCamp1) +"k" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/MilitaryCamp1) +"l" = (/obj/item/stack/rods,/turf/template_noop,/area/submap/MilitaryCamp1) +"m" = (/turf/simulated/wall,/area/submap/MilitaryCamp1) +"n" = (/obj/random/landmine,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"o" = (/turf/simulated/floor,/area/submap/MilitaryCamp1) +"p" = (/obj/item/weapon/material/shard,/turf/template_noop,/area/submap/MilitaryCamp1) +"q" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor,/area/submap/MilitaryCamp1) +"r" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"s" = (/obj/machinery/computer/communications,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor,/area/submap/MilitaryCamp1) +"t" = (/obj/structure/table/standard,/obj/random/energy,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor,/area/submap/MilitaryCamp1) +"u" = (/obj/effect/mine,/obj/random/landmine,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"v" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"w" = (/obj/machinery/computer/security,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor,/area/submap/MilitaryCamp1) +"x" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor,/area/submap/MilitaryCamp1) +"y" = (/obj/item/weapon/material/shard,/obj/random/landmine,/turf/template_noop,/area/submap/MilitaryCamp1) +"z" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"A" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor,/area/submap/MilitaryCamp1) +"B" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/template_noop,/area/submap/MilitaryCamp1) +"C" = (/obj/structure/table,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"D" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"E" = (/obj/effect/decal/cleanable/dirt,/obj/random/landmine,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"F" = (/obj/machinery/door/airlock,/obj/effect/mine,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"G" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/MilitaryCamp1) +"H" = (/obj/random/landmine,/turf/template_noop,/area/template_noop) +"I" = (/obj/structure/table/standard,/obj/random/cigarettes,/obj/item/weapon/flame/lighter/random,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"J" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor,/area/submap/MilitaryCamp1) +"K" = (/obj/effect/decal/cleanable/blood,/obj/random/landmine,/turf/template_noop,/area/submap/MilitaryCamp1) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa -abbcdedfgedddbbbbbba -achcdddddddgedchbbba -adccddeddijdddcckiba -adiddjllmlllmlncddda -abdddlllmmllllldedea -abbellopqmplrslldfda -abbdlltmmmuvwxllddda -abdnlllllyullllzAeda -adddmlplBuuClullddda -agedmluvDppDvplldeda -adddzlullllllulzdEda -addAllyuuuFuuullddda -aEddllGouuuuHollndga -addfdllllImlllldedda -abedddlllmmllldcceda -abcddddlldnlldkcddba -achceddddedjddchibba -abccfbJdigddeccdbbba +abbcbdbefdbbbbbbbbba +aghcdbbbbbbfibcjbbba +abccbbdbbklbbbccgkba +adkbblmmnommnmpcbbba +abbbbmmmonmmmmmbdbda +abbdmmqoormstqmmbeba +abbbmmqruvmwxxmmbbda +abbymmzmmAmmmzmrBdba +abbbomqoovoqAvmmbbba +afdbomqooCDqEvmmbida +abbbrmzFmmmmzzmrbGba +HbbBmmqorvEvqqmmbbba +aGbbmmIJmooqqqmmpbKa +abbebmmmmzommmmbibba +abddbbmmmvommmbcciba +abcbbdbmmbymmbgcbbba +acjcdbbbidblbdcjkbba +abccebdbkfbbdccbbbba aaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/wilderness/MHR.dmm b/maps/submaps/surface_submaps/wilderness/MHR.dmm index bf8221f0095..7b62764b451 100644 --- a/maps/submaps/surface_submaps/wilderness/MHR.dmm +++ b/maps/submaps/surface_submaps/wilderness/MHR.dmm @@ -1,37 +1,39 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/MHR) "c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/MHR) -"d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) +"d" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) "e" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/MHR) -"f" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"g" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack,/turf/template_noop,/area/submap/MHR) -"h" = (/obj/structure/table/standard,/turf/template_noop,/area/submap/MHR) -"i" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER"},/turf/template_noop,/area/submap/MHR) -"j" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"k" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"l" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"m" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"n" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"o" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"p" = (/obj/effect/decal/remains,/obj/item/clothing/mask/gas/explorer,/obj/item/weapon/material/twohanded/fireaxe,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) -"q" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) +"f" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"g" = (/turf/simulated/floor/outdoors/dirt,/area/submap/MHR) +"h" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack,/turf/template_noop,/area/submap/MHR) +"i" = (/obj/structure/table/standard,/turf/template_noop,/area/submap/MHR) +"j" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Do not enter the cave. The estimated active time of the Vicerators is much longer due to the improvements on the rotor bearings. It's estimated to be roughly a few months before we start to see any chancces of mechanical failure. "; name = "NOTICE: DO NOT ENTER"},/turf/template_noop,/area/submap/MHR) +"k" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"l" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"m" = (/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"n" = (/obj/effect/decal/cleanable/cobweb2,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"o" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"p" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"q" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"r" = (/obj/effect/decal/remains,/obj/item/clothing/mask/gas/explorer,/obj/item/weapon/material/twohanded/fireaxe,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) +"s" = (/obj/effect/decal/cleanable/spiderling_remains,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/MHR) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa abcbbbbbbbbbbdbeeeca abbbbbbbbbbdddfeeeea -abbbbbbbbbbdfdddeeea -abbbbbghieeeedddeeea +abbbbbbbbbbdfddgeeea +abbbbbhijeeeedddeeea abbbbeeeeeeeeeddeeea -abbbeeeeeeeeeeedeeea -acbeeeeeeeeeeeedeeea -abeeeeeeeeeeeeedjeea -abeeeeedkjeelddddeea -abeeemddddnfdddddeea -abeeeododdddddddpeea -abeeedddfdddddddeeea -abbeedoddddqddneeeea -abbeeefeeqodddeeeeba +abbbeeeeeeeeeeddeeea +acbeeeeeeeeeeeddeeea +abeeeeeeeeeeedddkeea +abeeeeelmneeoddddeea +abeeepllldqfdddddeea +abeeeldldlddddddreea +abeeedldfdddddddeeea +abbeellllddmddqeeeea +abbeeeseedldddeeeeba abbeeeeeeeeeeeeeebba abbbeeeeeeeeeeeeebba acbbbeeeeeeeebbbbbba diff --git a/maps/submaps/surface_submaps/wilderness/Mudpit.dmm b/maps/submaps/surface_submaps/wilderness/Mudpit.dmm index e73c51f795a..5548d2bdb24 100644 --- a/maps/submaps/surface_submaps/wilderness/Mudpit.dmm +++ b/maps/submaps/surface_submaps/wilderness/Mudpit.dmm @@ -11,7 +11,8 @@ "k" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit) "l" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit) "m" = (/obj/effect/decal/remains,/obj/item/clothing/suit/space/void/merc/fire,/obj/item/clothing/head/helmet/space/void/merc/fire,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit) -"n" = (/obj/effect/decal/mecha_wreckage/ripley/firefighter,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit) +"n" = (/mob/living/simple_animal/hostile/giant_spider/thermic{returns_home = 1},/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit) +"o" = (/obj/effect/decal/mecha_wreckage/ripley/firefighter,/turf/simulated/floor/outdoors/dirt,/area/submap/Mudpit) (1,1,1) = {" aaaaaaaaaaaaaaa @@ -22,9 +23,9 @@ aibcddjjcbcddca aibbdjjjccccdca aibjjjjcccgcdaa accjjjkccccccaa -agdjjjlcmcnccia +agdjjjlcmnoccia adddjjjccccccca -acddddjgcccddca +acddddjgnccddca aadddddbbbbddca aacdddddbbdddda abbacgcccacddba diff --git a/maps/submaps/surface_submaps/wilderness/Musk.dmm b/maps/submaps/surface_submaps/wilderness/Musk.dmm new file mode 100644 index 00000000000..0cd62bac0fd --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/Musk.dmm @@ -0,0 +1,12 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/turf/template_noop,/area/template_noop) +"c" = (/obj/effect/decal/mecha_wreckage/gygax,/turf/template_noop,/area/template_noop) +"d" = (/obj/item/mecha_parts/mecha_equipment/shocker,/turf/template_noop,/area/template_noop) + +(1,1,1) = {" +aaaaa +aaaaa +aabca +aaada +aaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Rocky2.dmm b/maps/submaps/surface_submaps/wilderness/Rocky2.dmm index eaa06c481a5..10116c3ec61 100644 --- a/maps/submaps/surface_submaps/wilderness/Rocky2.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rocky2.dmm @@ -7,9 +7,10 @@ "g" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/Rocky2) "h" = (/obj/structure/flora/ausbushes/fullgrass,/turf/template_noop,/area/submap/Rocky2) "i" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/template_noop,/area/submap/Rocky2) -"j" = (/obj/structure/flora/ausbushes/sunnybush,/turf/template_noop,/area/submap/Rocky2) -"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/template_noop,/area/submap/Rocky2) -"l" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Rocky2) +"j" = (/obj/item/weapon/shovel,/turf/template_noop,/area/submap/Rocky2) +"k" = (/obj/structure/flora/ausbushes/sunnybush,/turf/template_noop,/area/submap/Rocky2) +"l" = (/obj/structure/flora/ausbushes/stalkybush,/turf/template_noop,/area/submap/Rocky2) +"m" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Rocky2) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaa @@ -25,16 +26,16 @@ abbbbbbcccbbbbbbicccceeea abbbbbbcccbdbbhbbcccceeea abdbbbccccbbbbbbbbccceeea abbbbccccbbhbbbbbbcceeeea -abbbccccccfbbbdbbbcccceea +abbbccccccfjbbdbbbcccceea abbeccccccbbbbbbficccceea abbeccccccbgbhbbbbccccbba abbeecccccbbbbbbbbcccccba -abbeecccccjbdbbbhbcccccba +abbeeccccckbdbbbhbcccccba abbbecccccbbbbbbbccccccba -abbbeccceebbkbbbbccccccba +abbbeccceebblbbbbccccccba abbbbccceeccbbfbcccccbbba abbbbccceeeccccccccccbbba -ablbbcccbeccccccbbbcbblba +abmbbcccbeccccccbbbcbbmba abbbbbbbbbbbcccbbbbbbbbba aaaaaaaaaaaaaaaaaaaaaaaaa "} diff --git a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm index 96d5729920f..48a08b8e9bf 100644 --- a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm @@ -1,170 +1,228 @@ "aa" = (/turf/template_noop,/area/template_noop) -"ab" = (/obj/effect/decal/remains,/turf/template_noop,/area/submap/Rockybase) -"ac" = (/turf/template_noop,/area/submap/Rockybase) -"ad" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rockybase) -"ae" = (/mob/living/simple_animal/hostile/malf_drone{desc = "An automated combat drone with an aged apperance."},/turf/template_noop,/area/submap/Rockybase) -"af" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rockybase) -"ag" = (/turf/simulated/floor,/area/submap/Rockybase) -"ah" = (/obj/machinery/porta_turret/stationary,/turf/simulated/floor,/area/submap/Rockybase) -"ai" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) -"aj" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/template_noop) -"ak" = (/obj/machinery/light,/turf/simulated/floor,/area/submap/Rockybase) -"al" = (/turf/simulated/wall/r_wall,/area/submap/Rockybase) -"am" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase) -"an" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ao" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"ap" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aq" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/weapon/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"ar" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"as" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"at" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"au" = (/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"av" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aw" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"ax" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"ay" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"az" = (/mob/living/bot/cleanbot,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aA" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aB" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aC" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aD" = (/obj/structure/table/standard,/obj/item/device/laptop,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aE" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aF" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aG" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aH" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aI" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aJ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aK" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aL" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aM" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aN" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aO" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aP" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aQ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aR" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aS" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aT" = (/obj/machinery/vending/security,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aU" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aV" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aW" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aX" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aY" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aZ" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ba" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bb" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bc" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bd" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"be" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bf" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bg" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bh" = (/mob/living/bot/farmbot,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bi" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bj" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bk" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bl" = (/mob/living/simple_animal/hostile/malf_drone{desc = "An automated combat drone with an aged apperance."},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bm" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bn" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bo" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bp" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bq" = (/obj/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"br" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bs" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bt" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bu" = (/turf/simulated/wall,/area/submap/Rockybase) -"bv" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bw" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bx" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"by" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bz" = (/obj/structure/table/standard,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bA" = (/obj/structure/table/standard,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bB" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bC" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/circuitboard/mecha/gygax/main,/obj/item/weapon/circuitboard/mecha/gygax/peripherals,/obj/item/weapon/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bD" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) -"bE" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bF" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bG" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bH" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bI" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bJ" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bK" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bL" = (/obj/structure/table/standard,/obj/item/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bN" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bO" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bP" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bQ" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) -"bS" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"bT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/area/submap/Rockybase) -"bU" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) -"bV" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bW" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bX" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bY" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bZ" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ca" = (/obj/structure/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cc" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cd" = (/obj/machinery/power/smes,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ce" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cf" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cg" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"ch" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) -"ci" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cj" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ck" = (/mob/living/simple_animal/hostile/mecha{faction = "malf_drone"; name = "Autonomous Defense Mecha"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cl" = (/obj/machinery/vending/robotics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cm" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light{dir = 8},/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"co" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cp" = (/obj/machinery/power/smes,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cq" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) -"cr" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ct" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/malf_drone{desc = "An automated combat drone with an aged apperance."},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cv" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cw" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cx" = (/obj/structure/table/standard,/obj/item/stack/material/plasteel,/obj/item/stack/material/glass/reinforced,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cy" = (/obj/structure/table/standard,/obj/item/stack/material/glass,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cz" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cA" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cB" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cC" = (/obj/item/clothing/suit/space/void/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cD" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cE" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cF" = (/obj/structure/closet/crate/secure/hydrosec,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cG" = (/obj/effect/decal/remains,/turf/template_noop,/area/template_noop) +"ab" = (/obj/effect/decal/remains,/turf/template_noop,/area/template_noop) +"ac" = (/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/template_noop,/area/template_noop) +"ad" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/template_noop,/area/template_noop) +"ae" = (/obj/effect/decal/remains,/turf/template_noop,/area/submap/Rockybase) +"af" = (/turf/template_noop,/area/submap/Rockybase) +"ag" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rockybase) +"ah" = (/obj/effect/gibspawner/robot,/turf/template_noop,/area/submap/Rockybase) +"ai" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rockybase) +"aj" = (/obj/effect/decal/remains/robot,/turf/template_noop,/area/template_noop) +"ak" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/template_noop,/area/submap/Rockybase) +"al" = (/turf/simulated/floor,/area/submap/Rockybase) +"am" = (/obj/effect/decal/remains/posi,/turf/simulated/floor,/area/submap/Rockybase) +"an" = (/obj/machinery/porta_turret/stationary,/turf/simulated/floor,/area/submap/Rockybase) +"ao" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) +"ap" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/template_noop) +"aq" = (/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) +"ar" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) +"as" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) +"at" = (/turf/simulated/wall/r_wall,/area/submap/Rockybase) +"au" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase) +"av" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aw" = (/obj/effect/decal/remains/deer,/turf/template_noop,/area/template_noop) +"ax" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"ay" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"az" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/weapon/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"aA" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aB" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aD" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/pickaxe/plasmacutter,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aE" = (/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aF" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aG" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aH" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aI" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aJ" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aK" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aL" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aM" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aN" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aO" = (/obj/structure/table/standard,/obj/item/device/laptop,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (NORTHWEST)"; icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aS" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (NORTH)"; icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aT" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (NORTHEAST)"; icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aU" = (/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"aV" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"aW" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (NORTHWEST)"; icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aX" = (/obj/structure/closet/crate/hydroponics,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (NORTHEAST)"; icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"aZ" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"ba" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bb" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bc" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (WEST)"; icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"be" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bf" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bg" = (/obj/machinery/vending/security,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bh" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"bi" = (/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (WEST)"; icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bk" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bl" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"bm" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"bn" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"bo" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bp" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bq" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"br" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/effect/floor_decal/corner/red/border{tag = "icon-bordercolor (SOUTHWEST)"; icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bs" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bt" = (/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bu" = (/obj/effect/floor_decal/corner/red/border,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bv" = (/obj/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"bw" = (/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"bx" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle/pistol,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) +"by" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bz" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bA" = (/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (WEST)"; icon_state = "bordercolor"; dir = 8},/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bB" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bC" = (/obj/effect/decal/remains/posi,/turf/template_noop,/area/template_noop) +"bD" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bE" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bF" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bG" = (/obj/structure/door_assembly,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bH" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb2,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bJ" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/template_noop,/area/template_noop) +"bK" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bM" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bN" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bO" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bP" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bQ" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bR" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bS" = (/obj/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bT" = (/obj/effect/decal/remains,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bU" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bV" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bW" = (/obj/item/mecha_parts/part/gygax_right_arm,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bY" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bZ" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ca" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cb" = (/turf/simulated/wall,/area/submap/Rockybase) +"cc" = (/obj/structure/table/standard,/obj/item/device/kit/paint/gygax/darkgygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ce" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cf" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cg" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ch" = (/obj/structure/table/standard,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ci" = (/obj/structure/table/standard,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cj" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ck" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/circuitboard/mecha/gygax/main,/obj/item/weapon/circuitboard/mecha/gygax/peripherals,/obj/item/weapon/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cl" = (/obj/structure/door_assembly,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cm" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) +"cn" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"co" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cp" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cq" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cr" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cs" = (/obj/item/mecha_parts/part/gygax_torso,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ct" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cu" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cv" = (/obj/structure/table/standard,/obj/item/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cw" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cx" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"cy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"cz" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/obj/item/weapon/stock_parts/capacitor/adv,/obj/item/weapon/stock_parts/scanning_module/adv,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/submap/Rockybase) +"cD" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cE" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cF" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) +"cG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) +"cH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/area/submap/Rockybase) +"cI" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) +"cJ" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cK" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"cL" = (/obj/machinery/drone_fabricator{fabricator_tag = "Unknown"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cM" = (/obj/machinery/drone_fabricator{fabricator_tag = "Unknown"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cN" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cO" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cP" = (/obj/structure/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cQ" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cS" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cT" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/submap/Rockybase) +"cU" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cW" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) +"cX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) +"cY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) +"cZ" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase) +"da" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"db" = (/mob/living/simple_animal/hostile/mecha/malf_drone{name = "Autonomous Mechanized Drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dd" = (/obj/machinery/vending/robotics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"de" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"df" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dg" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dh" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"di" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) +"dj" = (/obj/item/mecha_parts/part/gygax_right_leg,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dk" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/mecha_parts/part/gygax_left_arm,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"dl" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dn" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor,/area/submap/Rockybase) +"do" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dq" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (EAST)"; icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dr" = (/obj/effect/decal/cleanable/blood/oil,/turf/template_noop,/area/template_noop) +"ds" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dt" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"du" = (/obj/structure/table/standard,/obj/item/stack/material/plasteel,/obj/item/stack/material/glass/reinforced,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dv" = (/obj/structure/table/standard,/obj/item/stack/material/glass,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dw" = (/obj/structure/table/standard,/obj/item/mecha_parts/part/gygax_head,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dx" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dy" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dz" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dA" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dB" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dC" = (/obj/machinery/vending/hydroseeds,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (SOUTHWEST)"; icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dD" = (/obj/structure/closet/crate/secure/hydrosec,/obj/effect/floor_decal/corner/lime/border{tag = "icon-bordercolor (SOUTHEAST)"; icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dE" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/gravemarker{dir = 1},/turf/template_noop,/area/template_noop) +"dF" = (/obj/effect/gibspawner/robot,/turf/template_noop,/area/template_noop) +"dG" = (/obj/effect/gibspawner/human,/turf/template_noop,/area/template_noop) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabacacacadacacacacadacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacabacacacacacaa -aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa -aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaeacacacacaa -aaacacacacacacacacacacaeacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacaa -aaacacafafafafafacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacaa -aaacacafafafafafafacacacacafafafafafacacacacacacacacagagagagagagacacacacacacacacacafafafacacacacacaa -aaacafafafafafafafafafafafafafafafafafacacacacacahagagaiagagagagagahacacacacacafafafafafafafafafacaa -ajacafafafafafafafafafafafafafafafafafafafafafagagakagagagagagaiakagagafafafafafafafafafafafafafacaa -aaacafafalalalalalalalalalalalalalalalalalalalalalalalamananamalalalalalalalalalalalalalafafafafacaa -aaacafalalaoapaqalararasatauauaravawavaraxalalayazaAaBalaCaCalaDaEaFaGaHaIalaCaJalaKaLalalafafafacaa -aaafafalalaMapaNalauauauauauauauauauauauaualalaOaCaCaPalaQaCalaRaSaCaCaCaTalaCaUalaCaCalalafafafacaa -aaafafalalaMapaValauauauauaWauaraXaravaravalalaYaCaCaZalaCaCalbabbaCaCaCaCbcbdbealaCbfalalafafafacaa -aaafafalalapapapalalalbgalalalalalalalalalalalalbgalalalananalalalalalbgalalalalalbhbialalafafafacaa -aaafafalalalbgalalbjaCaCaCaCaHaCaCaCaCbkaCaHaCaCaCaCaCaCaCaCaCaCaHaCaCaCaCaCaHaCalaCbfalalafafafacaa -aaafafalalaQaCaCaCaCaCaCblaCaCaCbmbnaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCblaCaCbgaCbfalalafafafacaa -aaacafalalalboalalbpaCaCbdaCaCaCaCaCbqaCagbnbdaCbmaCbraCaCaCaCaCaCaCbdaCaCaCaCaCalaCbialalafafafacaa -aaacafalalbsapapalalalalalalalalalalalagagalalalalbtalalalalaCalalalalalalalalalalaCbfalalafafafacaa -aaacafalalbubuapalaCbvbwbxbybzbAbBbCbkagbDbEalbFbGaCbHbIalaCaCaCbJbKbLbMaCaCaCbNalaCbfalalafafafacaa -aaacafalalbObobPalaCaCaCaCaCaCaCaCaCaCaCagaEalaCaCaCaCaCalbkaCbMbMbQbRbSbTbUaCbValaCbialalafafafadaa -aaacafalalbububWalaCbXaCaCbXaCaCbYaCbZaCagcaalaCaCcbcccdalceaCbMcfcgchcicgagagaCalaCbfalalafafacacaa -aaacafalalbOboapalcjaCaCaCaCckaCaCaCaCaCaCclalcmcncocccpalaCaCbMcqcicicgbTagbDaCalaCaCalalafafacacaa -aaacafalalbububPalaCbXaCaCagagaCaCaCaCaCaCcralaCaCcscccdalctaCaCcucgbSbSbSbSagbMalaCcvalalafacacacaa -aaacafalalbOboapalaCaCaCaCaCaCbdcwaCcwaCaCbGalcxcyaEczaCalcAaCcBaCaCaCbUaCcCbMcDalcEcFalalafafacacaa -aaacafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafacacaeaa -aaacafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafacacacaa -aaacafafafafafafafafafafafafafafafafafafafafafafafafafafafafafacafafafacacacafafafafafafafacacacacaa -aaacacafafafafafafafafafafafafaeacacacafafafafafafacacacacacacacacacacacacacacacacacacacacacacacacaa -aaacadacacacacacacafafafafafacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaa -aaaacGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaaaaaaaaaaaacGaaajaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaabacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaa +aaaaaaaaaeafafafagafafafafagafafafafafaeafafafafafafafafafafafafafagafafafafafafafafafafafafaeafafafafafaaaaaaaa +aaaaaaaaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahafafafafafafafafafafafafafaaaaaaaa +aaaaaaaaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaaaaaaaa +aaaaaaaaafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafaaaaaaaa +abaaaaaaafafaiaiaiaiaiafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafaaaaajaa +aaaaaaaaafafaiaiaiaiaiaiakafafafaiaiaiaiaiafafafafafafafafalalamalalalafafafafafafafafafaiaiaiakafafafafaaaaaaaa +aaaaaaaaafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafanalalaoalalalalalanafafafafafaiaiaiaiaiaiaiaiaiafaaaaaaaa +aaaaaaapafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaqaqaraqaqaqaqaqasaraqaqaiaiaiaiaiaiaiaiaiaiaiaiaiafaaaaaaaa +aaaaaaaaafaiaiatatatatatatatatatatatatatatatatatatatatatatatauavavauatatatatatatatatatatatatataiaiaiaiafaaawaaaa +aaaaaaaaafaiatataxayazataAaBaCaDaEaEaBaFaGaHaBaIatataJaKaLaMataNaNataOaPaQaRaSaTataUaVataWaXatataiaiaiafaaaaaaaa +aaaaaaaaaiaiatataYayaZataEaEaEaEaEaEaEaEaEaEaEaEatatbaaNaNbbatbcaNatbdbebfaNaNbgataUbhatbibjatataiaiaiafaaaaaaaa +aaaaaaaaaiaiatataYaybkataEblaEaEbmaEaBbnaBaHaBaFatatboaNbpbqataNaNatbrbsbtbtbubtbvbwbxatbibyatataiaiaiafaaaaaaaa +aaaaaaabaiaiatatayayayatatatbzatatatatatatatatatatatatbzatatatavavatatatatatbzatatatatatbAbBatataiaiaiafaaaaaabC +aaaaaaaaaiaiatatatbzatatbDbEbEbEbEbFbEbEbEbEbGbEbFbEbEbEbEbEbEbEbEbEbEbFbEbEbEbEbHbHbIatbibyatataiaiaiafaaaabJaa +aaaaaaaaaiaiatatbcaNaNaNaNaNaNbKbLbLaNbMbNaNaNaNaNaNaNaNaNaNaNbLaNaNaNaNaNaNaNaNbKbLbLbzbibyatataiaiaiafaaaaaaaa +aaaaaaaaafaiatatatbOatatbPbQbQbRbRbRbQbQbQbSaNalbTbUbQbVbQbRbRbRbQbQbQbQbQbUbQbQbQbQbWatbibBatataiaiaiafaaaaaaaa +aaaaaaaaafaiatatbXaybYatatatatatatatatatatatalalatatatatbZatatatatcaatatatatatatatatatatbibyatataiaiaiafaaaaaaaa +aaaaaaaaafaiatatcbcbayatcccdcecfcgchcicjckclalcmcnatcocpaNcqcratcscaaNctcucvbLaNaNaNcwatbibyatataiaiaiafaaaaaaaa +aaaaaaaaafaiatatcxbOcyataNaNaNaNaNaNaNaNaNcacaalczataNaNcAcBcCatcDaNbLbLcEcFcGcHcIaNcJatbibBatataiaiaiagaaaaaaaa +aaaaaaaaafaiatatcbcbcKataNcLaNaNcMaNaNcNaNcOcaalcPatcQbLcRcScTatcUaNbLcVcWcXcYcWcZalaNatbibyatataiaiafafaaaaaaaa +aaaaaaaaafaiatatcxbOayatcQaNaNdaaNdbaNdcbLdccacaddatdedfdgdfdhataNaNbLdicYcYcWcHalcmaNatbidjatataiaiafafaaaaaaaa +aaaaabaaafaiatatcbcbdkataNcLaNaNalalbLbLbLbLaNaNdlataNaNdmcSdnatdoaNaNdpcWcGcGcGcGalbLatbidqatataiakafafaaaadraa +aaaaaaaaafaiatatcxbOayataNaNaNaNaNaNdsdtaNdtaNaNcpatdudvdwaNdxatdyaNdzaNaNdAcIdAbLbLdBatdCdDatataiaiafafaaaabCaa +aaaaaaaaafaiaiatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataiaiafafafaaaaaaaa +aaaaaaaaafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafaaaaaaaa +aaaaaaaaafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafaiaiaiafafafaiaiaiaiaiaiaiafafafafaaaaaaaa +aaaaaaaaafafaiaiaiaiaiaiaiaiaiaiaiaiakafafafaiaiaiaiaiaiafafafafafafafafafafafafafafafafafafafafafafafafaaaadraa +aaaaaaaaafagafafafafafafaiaiaiaiaiafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaaaaaaaa +aaaaaaadaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaapaaaaaaaaaaaaabaaapaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaadEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaadFaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaadFaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGaaaaaaaaaaaaabaa "} diff --git a/maps/submaps/surface_submaps/wilderness/Shack1.dmm b/maps/submaps/surface_submaps/wilderness/Shack1.dmm index ba80b015551..0c290589af8 100644 --- a/maps/submaps/surface_submaps/wilderness/Shack1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Shack1.dmm @@ -3,7 +3,7 @@ "c" = (/turf/template_noop,/area/submap/Shack1) "d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Shack1) "e" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{tag = "icon-wood_broken1"; icon_state = "wood_broken1"},/area/submap/Shack1) -"f" = (/obj/structure/table/wooden_reinforced,/turf/simulated/floor/wood,/area/submap/Shack1) +"f" = (/obj/structure/table/wooden_reinforced,/obj/item/weapon/storage/fancy/candle_box,/obj/item/weapon/storage/box/matches,/turf/simulated/floor/wood,/area/submap/Shack1) "g" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/storage/apron/overalls,/obj/item/clothing/under/overalls,/turf/simulated/floor/wood,/area/submap/Shack1) "h" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/submap/Shack1) "i" = (/turf/simulated/floor/wood,/area/submap/Shack1) diff --git a/maps/submaps/surface_submaps/wilderness/spider1.dmm b/maps/submaps/surface_submaps/wilderness/spider1.dmm index 760b0172f3d..deb222d9dec 100644 --- a/maps/submaps/surface_submaps/wilderness/spider1.dmm +++ b/maps/submaps/surface_submaps/wilderness/spider1.dmm @@ -3,18 +3,19 @@ "c" = (/turf/template_noop,/area/submap/spider1) "d" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/spider1) "e" = (/obj/effect/spider/eggcluster/small/frost,/turf/template_noop,/area/submap/spider1) -"f" = (/mob/living/simple_animal/hostile/giant_spider/frost,/turf/template_noop,/area/submap/spider1) -"g" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/spider1) -"h" = (/obj/effect/spider/cocoon,/mob/living/simple_animal/hostile/giant_spider/frost,/turf/template_noop,/area/submap/spider1) +"f" = (/mob/living/simple_animal/hostile/giant_spider/frost{returns_home = 1},/turf/template_noop,/area/submap/spider1) +"g" = (/mob/living/simple_animal/hostile/giant_spider/nurse,/turf/template_noop,/area/submap/spider1) +"h" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/spider1) +"i" = (/obj/effect/spider/cocoon,/mob/living/simple_animal/hostile/giant_spider/frost{returns_home = 1},/turf/template_noop,/area/submap/spider1) (1,1,1) = {" aaaaaaaaaa abbccbbbca accbcbccba adecccccda -abcfccccca -accccccgca -accccchcca +abcfcgccca +acccccchca +acccccicca acccbbbdca acdbcbccca aaaaaaaaaa diff --git a/maps/submaps/surface_submaps/wilderness/wilderness.dm b/maps/submaps/surface_submaps/wilderness/wilderness.dm index 29940270707..c10f45c6ad5 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness.dm @@ -4,7 +4,6 @@ #if MAP_TEST #include "spider1.dmm" #include "Flake.dmm" -#include "Field1.dmm" #include "MCamp1.dmm" #include "Rocky1.dmm" #include "Rocky2.dmm" @@ -18,10 +17,15 @@ #include "Lab1.dmm" #include "Rocky4.dmm" #include "DJOutpost1.dmm" +#include "DJOutpost2.dmm" #include "Rockybase.dmm" #include "MHR.dmm" #include "GovPatrol.dmm" #include "DecoupledEngine.dmm" +#include "DoomP.dmm" +#include "CaveS.dmm" +#include "Drugden.dmm" +#include "Musk.dmm" #endif @@ -129,6 +133,14 @@ name = "DJOutpost1" desc = "Home of Sif Free Radio, the best - and only - radio station for miles around." mappath = 'maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm' + template_group = "Sif Free Radio" + cost = 5 + +/datum/map_template/surface/wilderness/deep/DJOutpost2 + name = "DJOutpost2" + desc = "The cratered remains of Sif Free Radio, the best - and only - radio station for miles around." + mappath = 'maps/submaps/surface_submaps/wilderness/DJOutpost2.dmm' + template_group = "Sif Free Radio" cost = 5 /datum/map_template/surface/wilderness/deep/Boombase @@ -165,4 +177,28 @@ name = "Decoupled Engine" desc = "A damaged fission engine jettisoned from a starship long ago." mappath = 'maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm' - cost = 15 \ No newline at end of file + cost = 15 + +/datum/map_template/surface/wilderness/deep/DoomP + name = "DoomP" + desc = "Witty description here." + mappath = 'maps/submaps/surface_submaps/wilderness/DoomP.dmm' + cost = 30 + +/datum/map_template/surface/wilderness/deep/Cave + name = "CaveS" + desc = "Chitter chitter!" + mappath = 'maps/submaps/surface_submaps/wilderness/CaveS.dmm' + cost = 20 + +/datum/map_template/surface/wilderness/normal/Drugden + name = "Drugden" + desc = "The remains of ill thought out whims." + mappath = 'maps/submaps/surface_submaps/wilderness/Drugden.dmm' + cost = 20 + +/datum/map_template/surface/wilderness/normal/Musk + name = "Musk" + desc = "0 to 60 in 1.9 seconds." + mappath = 'maps/submaps/surface_submaps/wilderness/Musk.dmm' + cost = 10 \ No newline at end of file diff --git a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm index 6ef75a21c7b..8e37e52da4f 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm @@ -54,6 +54,9 @@ /area/submap/DJOutpost1 name = "DJOutpost1" +/area/submap/DJOutpost2 + name = "DJOutpost2" + /area/submap/MHR name = "Manhack Rock" @@ -64,4 +67,14 @@ name = "GovPatrol" /area/submap/DecoupledEngine - name = "DecoupledEngine" \ No newline at end of file + name = "DecoupledEngine" + +/area/submap/DoomP + name = "DoomP" + +/area/submap/CaveS + name = "CaveS" + +/area/submap/Drugd + name = "DrugDen" + diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index 0339eb9f13f..8b4a4ab8ab8 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -38,6 +38,12 @@ var/list/all_maps = list() //This list contains the z-level numbers which can be accessed via space travel and the percentile chances to get there. var/list/accessible_z_levels = list() + //List of additional z-levels to load above the existing .dmm file z-levels using the maploader. Must be map template >>> NAMES <<<. + var/list/lateload_z_levels = list() + + //Similar to above, but only pick ONE to load, useful for random away missions and whatnot + var/list/lateload_single_pick = list() + var/list/allowed_jobs = list() //Job datums to use. //Works a lot better so if we get to a point where three-ish maps are used //We don't have to C&P ones that are only common between two of them @@ -78,6 +84,7 @@ var/list/all_maps = list() var/list/unit_test_exempt_areas = list() var/list/unit_test_exempt_from_atmos = list() var/list/unit_test_exempt_from_apc = list() + var/list/unit_test_z_levels //To test more than Z1, set your z-levels to test here. /datum/map/New() ..() @@ -135,6 +142,10 @@ var/list/all_maps = list() else return list() +/datum/map/proc/get_zlevel_name(var/index) + var/datum/map_z_level/Z = zlevels["[index]"] + return Z.name + // Another way to setup the map datum that can be convenient. Just declare all your zlevels as subtypes of a common // subtype of /datum/map_z_level and set zlevel_datum_type on /datum/map to have the lists auto-initialized. diff --git a/nano/css/shared.css b/nano/css/shared.css index 55506ad56f8..69d9e1637df 100644 --- a/nano/css/shared.css +++ b/nano/css/shared.css @@ -654,6 +654,11 @@ th.Miscellaneous { color: #ffffff; } +th.Silicon { + background: #222222; + font-weight: bold; + color: #ffffff; +} /* Damage colors for crew monitoring computer */ .burn { diff --git a/nano/js/nano_state.js b/nano/js/nano_state.js index 3e9ef3ab1ff..e211895cee5 100644 --- a/nano/js/nano_state.js +++ b/nano/js/nano_state.js @@ -7,8 +7,7 @@ function NanoStateClass() { return; } - this.key = this.key.toLowerCase(); - + this.key = this.key.toLowerCase(); NanoStateManager.addState(this);*/ } @@ -18,102 +17,99 @@ NanoStateClass.prototype.contentRendered = false; NanoStateClass.prototype.mapInitialised = false; NanoStateClass.prototype.isCurrent = function () { - return NanoStateManager.getCurrentState() == this; + return NanoStateManager.getCurrentState() == this; }; NanoStateClass.prototype.onAdd = function (previousState) { - // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function - - NanoBaseCallbacks.addCallbacks(); - NanoBaseHelpers.addHelpers(); + // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + NanoBaseCallbacks.addCallbacks(); + NanoBaseHelpers.addHelpers(); }; NanoStateClass.prototype.onRemove = function (nextState) { - // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function - - NanoBaseCallbacks.removeCallbacks(); - NanoBaseHelpers.removeHelpers(); + // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + NanoBaseCallbacks.removeCallbacks(); + NanoBaseHelpers.removeHelpers(); }; NanoStateClass.prototype.onBeforeUpdate = function (data) { - // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function - - data = NanoStateManager.executeBeforeUpdateCallbacks(data); - - return data; // Return data to continue, return false to prevent onUpdate and onAfterUpdate + // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + data = NanoStateManager.executeBeforeUpdateCallbacks(data); + return data; // Return data to continue, return false to prevent onUpdate and onAfterUpdate }; NanoStateClass.prototype.onUpdate = function (data) { - // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + try + { + if (!this.layoutRendered || (data['config'].hasOwnProperty('autoUpdateLayout') && data['config']['autoUpdateLayout'])) + { + $("#uiLayout").html(NanoTemplate.parse('layout', data)); // render the 'mail' template to the #mainTemplate div + this.layoutRendered = true; + } + if (!this.contentRendered || (data['config'].hasOwnProperty('autoUpdateContent') && data['config']['autoUpdateContent'])) + { + var content = ""; + var keys = NanoTemplate.getKeys(); + for (i = 0; i < keys.length; i++) { + if(keys[i] == "layout"){ continue; } + content += NanoTemplate.parse(keys[i], data); + } + $("#uiContent").html(content); // render the 'mail' template to the #mainTemplate div + this.contentRendered = true; + } + if (NanoTemplate.templateExists('mapContent')) + { + if (!this.mapInitialised) + { + // Add drag functionality to the map ui + $('#uiMap').draggable(); + $('#uiMapTooltip') + .off('click') + .on('click', function (event) { + event.preventDefault(); + $(this).fadeOut(400); + }); + this.mapInitialised = true; + } - try - { - if (!this.layoutRendered || (data['config'].hasOwnProperty('autoUpdateLayout') && data['config']['autoUpdateLayout'])) - { - $("#uiLayout").html(NanoTemplate.parse('layout', data)); // render the 'mail' template to the #mainTemplate div - this.layoutRendered = true; - } - if (!this.contentRendered || (data['config'].hasOwnProperty('autoUpdateContent') && data['config']['autoUpdateContent'])) - { - $("#uiContent").html(NanoTemplate.parse('main', data)); // render the 'mail' template to the #mainTemplate div - this.contentRendered = true; - } - if (NanoTemplate.templateExists('mapContent')) - { - if (!this.mapInitialised) - { - // Add drag functionality to the map ui - $('#uiMap').draggable(); + $("#uiMapContent").html(NanoTemplate.parse('mapContent', data)); // render the 'mapContent' template to the #uiMapContent div - $('#uiMapTooltip') - .off('click') - .on('click', function (event) { - event.preventDefault(); - $(this).fadeOut(400); - }); - - this.mapInitialised = true; - } - - $("#uiMapContent").html(NanoTemplate.parse('mapContent', data)); // render the 'mapContent' template to the #uiMapContent div - - if (data['config'].hasOwnProperty('showMap') && data['config']['showMap']) - { - $('#uiContent').addClass('hidden'); - $('#uiMapWrapper').removeClass('hidden'); - } - else - { - $('#uiMapWrapper').addClass('hidden'); - $('#uiContent').removeClass('hidden'); - } - } - if (NanoTemplate.templateExists('mapHeader')) - { - $("#uiMapHeader").html(NanoTemplate.parse('mapHeader', data)); // render the 'mapHeader' template to the #uiMapHeader div - } - if (NanoTemplate.templateExists('mapFooter')) - { - $("#uiMapFooter").html(NanoTemplate.parse('mapFooter', data)); // render the 'mapFooter' template to the #uiMapFooter div - } - } - catch(error) - { - alert('ERROR: An error occurred while rendering the UI: ' + error.message); - return; - } + if (data['config'].hasOwnProperty('showMap') && data['config']['showMap']) + { + $('#uiContent').addClass('hidden'); + $('#uiMapWrapper').removeClass('hidden'); + } + else + { + $('#uiMapWrapper').addClass('hidden'); + $('#uiContent').removeClass('hidden'); + } + } + if (NanoTemplate.templateExists('mapHeader')) + { + $("#uiMapHeader").html(NanoTemplate.parse('mapHeader', data)); // render the 'mapHeader' template to the #uiMapHeader div + } + if (NanoTemplate.templateExists('mapFooter')) + { + $("#uiMapFooter").html(NanoTemplate.parse('mapFooter', data)); // render the 'mapFooter' template to the #uiMapFooter div + } + } + catch(error) + { + alert('ERROR: An error occurred while rendering the UI: ' + error.message); + return; + } }; NanoStateClass.prototype.onAfterUpdate = function (data) { - // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function - - NanoStateManager.executeAfterUpdateCallbacks(data); + // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + NanoStateManager.executeAfterUpdateCallbacks(data); }; NanoStateClass.prototype.alertText = function (text) { - // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function - - alert(text); + // Do not add code here, add it to the 'default' state (nano_state_defaut.js) or create a new state and override this function + alert(text); }; diff --git a/nano/js/nano_template.js b/nano/js/nano_template.js index f8f5d265948..b2f894fd076 100644 --- a/nano/js/nano_template.js +++ b/nano/js/nano_template.js @@ -1,15 +1,15 @@ var NanoTemplate = function () { - var _templateData = {}; + var _templateData = {}; - var _templates = {}; - var _compiledTemplates = {}; + var _templates = {}; + var _compiledTemplates = {}; var _helpers = {}; - var init = function () { - // We store templateData in the body tag, it's as good a place as any + var init = function () { + // We store templateData in the body tag, it's as good a place as any _templateData = $('body').data('templateData'); if (_templateData == null) @@ -18,94 +18,101 @@ var NanoTemplate = function () { } loadNextTemplate(); - }; + }; - var loadNextTemplate = function () { - // we count the number of templates for this ui so that we know when they've all been rendered - var templateCount = Object.size(_templateData); + var loadNextTemplate = function () { + // we count the number of templates for this ui so that we know when they've all been rendered + var templateCount = Object.size(_templateData); - if (!templateCount) - { - $(document).trigger('templatesLoaded'); - return; - } + if (!templateCount) + { + $(document).trigger('templatesLoaded'); + return; + } - // load markup for each template and register it - for (var key in _templateData) - { - if (!_templateData.hasOwnProperty(key)) - { - continue; - } + // load markup for each template and register it + for (var key in _templateData) + { + if (!_templateData.hasOwnProperty(key)) + { + continue; + } - $.when($.ajax({ - url: _templateData[key], - cache: false, - dataType: 'text' - })) - .done(function(templateMarkup) { + $.when($.ajax({ + url: _templateData[key], + cache: false, + dataType: 'text' + })) + .done(function(templateMarkup) { - templateMarkup += '
      '; + templateMarkup += '
      '; - try - { - NanoTemplate.addTemplate(key, templateMarkup); - } - catch(error) - { - alert('ERROR: An error occurred while loading the UI: ' + error.message); - return; - } + try + { + NanoTemplate.addTemplate(key, templateMarkup); + } + catch(error) + { + alert('ERROR: An error occurred while loading the UI: ' + error.message); + return; + } - delete _templateData[key]; + delete _templateData[key]; - loadNextTemplate(); - }) - .fail(function () { - alert('ERROR: Loading template ' + key + '(' + _templateData[key] + ') failed!'); - }); + loadNextTemplate(); + }) + .fail(function () { + alert('ERROR: Loading template ' + key + '(' + _templateData[key] + ') failed!'); + }); - return; - } - } + return; + } + } - var compileTemplates = function () { + var compileTemplates = function () { - for (var key in _templates) { - try { - _compiledTemplates[key] = doT.template(_templates[key], null, _templates) - } - catch (error) { - alert(error.message); - } - } - }; + for (var key in _templates) { + try { + _compiledTemplates[key] = doT.template(_templates[key], null, _templates) + } + catch (error) { + alert(error.message); + } + } + }; - return { - init: function () { - init(); - }, - addTemplate: function (key, templateString) { - _templates[key] = templateString; - }, - templateExists: function (key) { - return _templates.hasOwnProperty(key); - }, - parse: function (templateKey, data) { - if (!_compiledTemplates.hasOwnProperty(templateKey) || !_compiledTemplates[templateKey]) { - if (!_templates.hasOwnProperty(templateKey)) { - alert('ERROR: Template "' + templateKey + '" does not exist in _compiledTemplates!'); - return '

      Template error (does not exist)

      '; - } - compileTemplates(); - } - if (typeof _compiledTemplates[templateKey] != 'function') { - alert(_compiledTemplates[templateKey]); - alert('ERROR: Template "' + templateKey + '" failed to compile!'); - return '

      Template error (failed to compile)

      '; - } - return _compiledTemplates[templateKey].call(this, data['data'], data['config'], _helpers); - }, + return { + init: function () { + init(); + }, + addTemplate: function (key, templateString) { + _templates[key] = templateString; + }, + templateExists: function (key) { + return _templates.hasOwnProperty(key); + }, + getKeys: function () { + var _keys = []; + for(var key in _templates) { + _keys.push(key); + } + return _keys; + }, + parse: function (templateKey, data) { + if (!_compiledTemplates.hasOwnProperty(templateKey) || !_compiledTemplates[templateKey]) { + if (!_templates.hasOwnProperty(templateKey)) { + alert('ERROR: Template "' + templateKey + '" does not exist in _compiledTemplates!'); + return '

      Templateerror (does not exist)

      '; + } + compileTemplates(); + } + if (typeof _compiledTemplates[templateKey] != 'function') { + alert(_compiledTemplates[templateKey]); + alert('ERROR: Template "' + templateKey + '" failed to compile!'); + return '

      Template error (failed to compile)

      '; + } + return _compiledTemplates[templateKey].call(this, data['data'], data['config'], _helpers); + }, addHelper: function (helperName, helperFunction) { if (!jQuery.isFunction(helperFunction)) { alert('NanoTemplate.addHelper failed to add ' + helperName + ' as it is not a function.'); @@ -129,7 +136,7 @@ var NanoTemplate = function () { delete _helpers[helperName]; } } - } + } }(); diff --git a/nano/templates/Oxygen_pump.tmpl b/nano/templates/Oxygen_pump.tmpl new file mode 100644 index 00000000000..9fff202658d --- /dev/null +++ b/nano/templates/Oxygen_pump.tmpl @@ -0,0 +1,42 @@ +{{if data.maskConnected}} +
      This pump is connected to a person.
      +{{else}} +
      This pump is NOT connected to a person.
      +{{/if}} + +{{if data.tankInstalled}} +
      +
      + Tank Pressure: +
      +
      + {{:helper.displayBar(data.tankPressure, 0, 1013, (data.tankPressure > 200) ? 'good' : ((data.tankPressure > 100) ? 'average' : 'bad'))}} +
      + {{:data.tankPressure}} kPa +
      +
      +
      + +
       
      + +
      +
      + Mask Release Pressure: +
      +
      + {{:helper.displayBar(data.releasePressure, 0, data.maxReleasePressure, (data.releasePressure >= 23) ? null : ((data.releasePressure >= 17) ? 'average' : 'bad'))}} +
      + {{:helper.link('-', null, {'dist_p' : -10}, (data.releasePressure > 0) ? null : 'disabled')}} + {{:helper.link('-', null, {'dist_p' : -1}, (data.releasePressure > 0) ? null : 'disabled')}} +
       {{:data.releasePressure}} kPa 
      + {{:helper.link('+', null, {'dist_p' : 1}, (data.releasePressure < data.maxReleasePressure) ? null : 'disabled')}} + {{:helper.link('+', null, {'dist_p' : 10}, (data.releasePressure < data.maxReleasePressure) ? null : 'disabled')}} + {{:helper.link('Max', null, {'dist_p' : 'max'}, (data.releasePressure < data.maxReleasePressure) ? null : 'disabled')}} + {{:helper.link('Reset', null, {'dist_p' : 'reset'}, (data.releasePressure != data.defaultReleasePressure) ? null : 'disabled')}} +
      +
      +
      + +{{else}} +
      This pump has no tank installed.
      +{{/if}} \ No newline at end of file diff --git a/nano/templates/communicator.tmpl b/nano/templates/communicator.tmpl index 60558b84c8e..6ef7de16070 100644 --- a/nano/templates/communicator.tmpl +++ b/nano/templates/communicator.tmpl @@ -242,7 +242,7 @@ Used In File(s): code\game\objects\items\devices\communicator\communicator.dm
      {{:helper.link('Home', 'home', {'switch_tab' : 1})}}

      -

      Curren Conditions:

      +

      Current Conditions:

      {{if data.aircontents.reading == 1}}
      @@ -402,4 +402,4 @@ Used In File(s): code\game\objects\items\devices\communicator\communicator.dm -{{/if}} \ No newline at end of file +{{/if}} diff --git a/nano/templates/crew_manifest.tmpl b/nano/templates/crew_manifest.tmpl new file mode 100644 index 00000000000..00c45a1d5ff --- /dev/null +++ b/nano/templates/crew_manifest.tmpl @@ -0,0 +1,27 @@ + + +

      Crew Manifest

      + +
      +
      {{:helper.link('Home', 'home', {'switch_tab' : 1})}}

      + +
      +
      + {{for data.manifest}} + {{if value.elems.length}} + + {{for value.elems :itemValue:itemIndex}} + + + + + + {{/for}} + {{/if}} + {{/for}} +
      {{:value.cat}}
      {{:itemValue.name}}{{:itemValue.rank}}{{:itemValue.active}}
      +
      diff --git a/nano/templates/flight.tmpl b/nano/templates/flight.tmpl index 2ffec337bad..60d4cd605a5 100644 --- a/nano/templates/flight.tmpl +++ b/nano/templates/flight.tmpl @@ -116,7 +116,6 @@ {{if data.is_moving == 0}}

      Available Destinations

      -

      {{for data.routes}} @@ -127,9 +126,7 @@
      {{:helper.link(value.travel_time, 'clock', {"traverse" : value.index})}} - -
      - +
      {{/for}} @@ -150,3 +147,95 @@
    {{/if}} + +{{if data.doors}} +

    Hatch Status

    +
    +
    + {{props data.doors}} +
    +
    {{:key}}
    +
    + {{if value.open}} + OPN + {{else}} + CLS + {{/if}} + - + {{if value.bolted}} + BLT + {{else}} + UBLT + {{/if}} +
    +
    + {{/props}} +
    +{{/if}} + +{{if data.sensors}} +

    Air Readout

    +
    + {{props data.sensors}} +
    +
    + {{:key}} +
    +
    + {{if value.reading == 1}} +
    + Pressure: +
    +
    + {{:helper.string('{1} kPa', value.pressure < 80 || value.pressure > 120 ? 'bad' : value.pressure < 95 || value.pressure > 110 ? 'average' : 'good' , value.pressure)}} +
    +
    + Temperature: +
    +
    + {{:helper.string('{1} °C', value.temp < 5 || value.temp > 35 ? 'bad' : value.temp < 15 || value.temp > 25 ? 'average' : 'good' , value.temp)}} +
    +
    +
    + Oxygen: +
    +
    + {{:helper.string('{1}%', value.oxygen < 17 ? 'bad' : value.oxygen < 19 ? 'average' : 'good' , value.oxygen)}} +
    +
    + Nitrogen: +
    +
    + {{:helper.string('{1}%', value.nitrogen > 82 ? 'bad' : value.nitrogen > 80 ? 'average' : 'good' , value.nitrogen)}} +
    +
    + Carbon Dioxide: +
    +
    + {{:helper.string('{1}%', value.carbon_dioxide > 5 ? 'bad' : 'good' , value.carbon_dioxide)}} +
    +
    + Phoron: +
    +
    + {{:helper.string('{1}%', value.phoron > 0 ? 'bad' : 'good' , value.phoron)}} + +
    + {{if value.other > 0}} +
    + Unknown: +
    +
    + {{:value.other}}% +
    + {{/if}} + {{else}} +
    + Unable to get air reading +
    + {{/if}} +
    +
    + {{/props}} +{{/if}} + diff --git a/nano/templates/identification_computer.tmpl b/nano/templates/identification_computer.tmpl index c023b508d51..feb58a705a7 100644 --- a/nano/templates/identification_computer.tmpl +++ b/nano/templates/identification_computer.tmpl @@ -1,247 +1,202 @@ {{if data.printing}} -
    The computer is currently busy.
    -
    -
    Printing...
    -
    -

    - Thank you for your patience! -

    +
    The computer is currently busy.
    +
    +
    Printing...
    +
    +

    + Thank you for your patience! +

    {{else}} - {{:helper.link('Access Modification', 'home', {'choice' : 'mode', 'mode_target' : 0}, !data.mode ? 'disabled' : null)}} - {{:helper.link('Crew Manifest', 'folder-open', {'choice' : 'mode', 'mode_target' : 1}, data.mode ? 'disabled' : null)}} - {{:helper.link('Print', 'print', {'choice' : 'print'}, (data.mode || data.has_modify) ? null : 'disabled')}} + {{:helper.link('Access Modification', 'home', {'choice' : 'mode', 'mode_target' : 0}, !data.mode ? 'disabled' : null)}} + {{:helper.link('Crew Manifest', 'folder-open', {'choice' : 'mode', 'mode_target' : 1}, data.mode ? 'disabled' : null)}} + {{:helper.link('Print', 'print', {'choice' : 'print'}, (data.mode || data.has_modify) ? null : 'disabled')}} - {{if data.mode}} -
    -

    Crew Manifest

    -
    -
    - {{:data.manifest}} -
    - {{else}} -
    -

    Access Modification

    -
    + {{if data.mode}} +
    +

    Crew Manifest

    +
    +
    +
    + {{for data.manifest}} + {{if value.elems.length}} + + {{for value.elems :itemValue:itemIndex}} + + + + + + {{/for}} + {{/if}} + {{/for}} +
    {{:value.cat}}
    {{:itemValue.name}}{{:itemValue.rank}}{{:itemValue.active}}
    +
    + {{else}} +
    +

    Access Modification

    +
    - {{if !data.authenticated}} - Please insert the IDs into the terminal to proceed.
    - {{/if}} + {{if !data.authenticated}} + Please insert the IDs into the terminal to proceed.
    + {{/if}} -
    -
    - Target Identity: -
    -
    - {{:helper.link(data.target_name, 'eject', {'choice' : 'modify'})}} -
    -
    -
    -
    - Authorized Identity: -
    -
    - {{:helper.link(data.scan_name, 'eject', {'choice' : 'scan'})}} -
    -
    -
    +
    +
    + Target Identity: +
    +
    + {{:helper.link(data.target_name, 'eject', {'choice' : 'modify'})}} +
    +
    +
    +
    + Authorized Identity: +
    +
    + {{:helper.link(data.scan_name, 'eject', {'choice' : 'scan'})}} +
    +
    +
    - {{if data.authenticated}} - + {{if data.authenticated}} + - {{if data.has_modify}} -
    -

    Details

    -
    + {{if data.has_modify}} +
    +

    Details

    +
    -
    -
    -
    - - - Registered Name: -
    -
    - - -
    -
    -
    +
    +
    +
    + + + Registered Name: +
    +
    + + +
    +
    +
    -
    -
    -
    - - - Account Number: -
    -
    - - -
    -
    -
    +
    +
    +
    + + + Account Number: +
    +
    + + +
    +
    +
    -
    -
    - Terminations: -
    -
    - {{:helper.link('Terminate ' + data.target_owner, 'gear', {'choice' : 'terminate'}, data.target_rank == "Terminated" ? 'disabled' : null, data.target_rank == "Terminated" ? 'disabled' : 'linkDanger')}} -
    -
    +
    +
    + Terminations: +
    +
    + {{:helper.link('Terminate ' + data.target_owner, 'gear', {'choice' : 'terminate'}, data.target_rank == "Terminated" ? 'disabled' : null, data.target_rank == "Terminated" ? 'disabled' : 'linkDanger')}} +
    +
    -
    -

    Assignment

    -
    +
    +

    Assignment

    +
    - -
    - -
    - - {{if data.centcom_access}} -
    -

    Central Command

    -
    -
    - {{for data.all_centcom_access}} -
    - {{:helper.link(value.desc, '', {'choice' : 'access', 'access_target' : value.ref, 'allowed' : value.allowed}, null, value.allowed ? 'selected' : null)}} -
    - {{/for}} -
    - {{else}} -
    -

    {{:data.station_name}}

    -
    -
    - {{for data.regions}} -
    -
    {{:value.name}}
    - {{for value.accesses :accessValue:accessKey}} -
    - {{:helper.link(accessValue.desc, '', {'choice' : 'access', 'access_target' : accessValue.ref, 'allowed' : accessValue.allowed}, null, accessValue.allowed ? 'selected' : null)}} -
    - {{/for}} -
    - {{/for}} -
    - {{/if}} - {{/if}} - {{/if}} - {{/if}} + {{if data.centcom_access}} +
    +

    Central Command

    +
    +
    + {{for data.all_centcom_access}} +
    + {{:helper.link(value.desc, '', {'choice' : 'access', 'access_target' : value.ref, 'allowed' : value.allowed}, null, value.allowed ? 'selected' : null)}} +
    + {{/for}} +
    + {{else}} +
    +

    {{:data.station_name}}

    +
    +
    + {{for data.regions}} +
    +
    {{:value.name}}
    + {{for value.accesses :accessValue:accessKey}} +
    + {{:helper.link(accessValue.desc, '', {'choice' : 'access', 'access_target' : accessValue.ref, 'allowed' : accessValue.allowed}, null, accessValue.allowed ? 'selected' : null)}} +
    + {{/for}} +
    +
    + {{/for}} + + {{/if}} + {{/if}} + {{/if}} + {{/if}} {{/if}} diff --git a/nano/templates/pai_manifest.tmpl b/nano/templates/pai_manifest.tmpl deleted file mode 100644 index ca4924d70ae..00000000000 --- a/nano/templates/pai_manifest.tmpl +++ /dev/null @@ -1,76 +0,0 @@ - - -
    -
    - {{if data.manifest.heads.length}} - - {{for data.manifest["heads"]}} - {{if value.rank == "Captain"}} - - {{else}} - - {{/if}} - {{/for}} - {{/if}} - {{if data.manifest.sec.length}} - - {{for data.manifest["sec"]}} - {{if value.rank == "Head of Security"}} - - {{else}} - - {{/if}} - {{/for}} - {{/if}} - {{if data.manifest.eng.length}} - - {{for data.manifest["eng"]}} - {{if value.rank == "Chief Engineer"}} - - {{else}} - - {{/if}} - {{/for}} - {{/if}} - {{if data.manifest.med.length}} - - {{for data.manifest["med"]}} - {{if value.rank == "Chief Medical Officer"}} - - {{else}} - - {{/if}} - {{/for}} - {{/if}} - {{if data.manifest.sci.length}} - - {{for data.manifest["sci"]}} - {{if value.rank == "Research Director"}} - - {{else}} - - {{/if}} - {{/for}} - {{/if}} - {{if data.manifest.civ.length}} - - {{for data.manifest["civ"]}} - {{if value.rank == "Head of Personnel"}} - - {{else}} - - {{/if}} - {{/for}} - {{/if}} - {{if data.manifest.misc.length}} - - {{for data.manifest["misc"]}} - - {{/for}} - {{/if}} -
    Command
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Security
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Engineering
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Medical
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Science
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Civilian
    {{:value.name}}{{:value.rank}}{{:value.active}}
    {{:value.name}}{{:value.rank}}{{:value.active}}
    Misc
    {{:value.name}}{{:value.rank}}{{:value.active}}
    -
    diff --git a/nano/templates/turbine_computer.tmpl b/nano/templates/turbine_computer.tmpl new file mode 100644 index 00000000000..a1bc50f2bdf --- /dev/null +++ b/nano/templates/turbine_computer.tmpl @@ -0,0 +1,56 @@ + +

    Turbine Controller

    +
    +
    Status
    +
    + {{if data.broken}} + Broken + {{:helper.link('Reconnect', 'refresh', {'reconnect' : 1})}} + {{else}} + + {{:data.online && !(data.compressor_broke || data.turbine_broke) ? "Online" : "Offline"}} + + {{/if}} +
    +
    +
    +
    Compressor
    +
    + {{if data.compressor_broke}} +
    + [ Compressor is inoperable ] + {{/if}} + {{if data.turbine_broke}} +
    + [ Turbine is inoperable ] + {{/if}} + {{if (!data.broken)}} + {{:helper.link('On', 'power', {'power-on' : 1}, data.online ? 'selected' : null)}} + {{:helper.link('Off', 'close', {'power-off' : 1}, data.online ? null : 'selected')}} + {{/if}} +
    +
    + +

    Readout

    +
    +
    Turbine Speed
    +
    {{:data.broken ? "--" : data.rpm}} RPM
    +
    +
    +
    Internal Temperature
    +
    {{:data.broken ? "--" : data.temp}} K
    +
    +
    +
    Generated Power
    +
    {{:data.broken ? "--" : data.power}}
    +
    +
    +
    Vent doors
    +
    + {{:helper.link('Closed', 'locked', {'doors' : 1}, data.door_status ? 'selected' : null)}} + {{:helper.link('Open', 'unlocked', {'doors' : 1}, data.door_status ? null : 'selected')}} +
    +
    diff --git a/polaris.dme b/polaris.dme index d9717d6fd7f..dc0b425cc9f 100644 --- a/polaris.dme +++ b/polaris.dme @@ -24,6 +24,7 @@ #include "code\__defines\admin.dm" #include "code\__defines\appearance.dm" #include "code\__defines\atmos.dm" +#include "code\__defines\callbacks.dm" #include "code\__defines\chemistry.dm" #include "code\__defines\construction.dm" #include "code\__defines\damage_organs.dm" @@ -43,12 +44,15 @@ #include "code\__defines\process_scheduler.dm" #include "code\__defines\qdel.dm" #include "code\__defines\research.dm" +#include "code\__defines\sound.dm" #include "code\__defines\species_languages.dm" +#include "code\__defines\stat_tracking.dm" #include "code\__defines\subsystems.dm" #include "code\__defines\targeting.dm" #include "code\__defines\turfs.dm" #include "code\__defines\unit_tests.dm" #include "code\__defines\xenoarcheaology.dm" +#include "code\__defines\ZAS.dm" #include "code\_compatibility\509\_JSON.dm" #include "code\_compatibility\509\JSON Reader.dm" #include "code\_compatibility\509\JSON Writer.dm" @@ -107,9 +111,7 @@ #include "code\ATMOSPHERICS\atmospherics.dm" #include "code\ATMOSPHERICS\datum_pipe_network.dm" #include "code\ATMOSPHERICS\datum_pipeline.dm" -#include "code\ATMOSPHERICS\he_pipes.dm" #include "code\ATMOSPHERICS\mainspipe.dm" -#include "code\ATMOSPHERICS\pipes.dm" #include "code\ATMOSPHERICS\components\portables_connector.dm" #include "code\ATMOSPHERICS\components\tvalve.dm" #include "code\ATMOSPHERICS\components\valve.dm" @@ -136,6 +138,15 @@ #include "code\ATMOSPHERICS\components\unary\unary_base.dm" #include "code\ATMOSPHERICS\components\unary\vent_pump.dm" #include "code\ATMOSPHERICS\components\unary\vent_scrubber.dm" +#include "code\ATMOSPHERICS\pipes\cap.dm" +#include "code\ATMOSPHERICS\pipes\he_pipes.dm" +#include "code\ATMOSPHERICS\pipes\manifold.dm" +#include "code\ATMOSPHERICS\pipes\manifold4w.dm" +#include "code\ATMOSPHERICS\pipes\pipe_base.dm" +#include "code\ATMOSPHERICS\pipes\simple.dm" +#include "code\ATMOSPHERICS\pipes\tank.dm" +#include "code\ATMOSPHERICS\pipes\universal.dm" +#include "code\ATMOSPHERICS\pipes\vent.dm" #include "code\controllers\autotransfer.dm" #include "code\controllers\communications.dm" #include "code\controllers\configuration.dm" @@ -146,12 +157,10 @@ #include "code\controllers\hooks.dm" #include "code\controllers\master.dm" #include "code\controllers\master_controller.dm" -#include "code\controllers\shuttle_controller.dm" #include "code\controllers\subsystem.dm" #include "code\controllers\verbs.dm" #include "code\controllers\voting.dm" #include "code\controllers\observer_listener\atom\observer.dm" -#include "code\controllers\Processes\air.dm" #include "code\controllers\Processes\alarm.dm" #include "code\controllers\Processes\chemistry.dm" #include "code\controllers\Processes\emergencyShuttle.dm" @@ -164,7 +173,6 @@ #include "code\controllers\Processes\planet.dm" #include "code\controllers\Processes\radiation.dm" #include "code\controllers\Processes\scheduler.dm" -#include "code\controllers\Processes\Shuttle.dm" #include "code\controllers\Processes\sun.dm" #include "code\controllers\Processes\supply.dm" #include "code\controllers\Processes\ticker.dm" @@ -172,15 +180,21 @@ #include "code\controllers\Processes\vote.dm" #include "code\controllers\ProcessScheduler\core\process.dm" #include "code\controllers\ProcessScheduler\core\processScheduler.dm" -#include "code\controllers\subsystems\creation.dm" +#include "code\controllers\subsystems\air.dm" +#include "code\controllers\subsystems\airflow.dm" +#include "code\controllers\subsystems\atoms.dm" #include "code\controllers\subsystems\garbage.dm" #include "code\controllers\subsystems\lighting.dm" #include "code\controllers\subsystems\machines.dm" #include "code\controllers\subsystems\orbits.dm" +#include "code\controllers\subsystems\overlays.dm" +#include "code\controllers\subsystems\shuttles.dm" +#include "code\controllers\subsystems\xenoarch.dm" #include "code\datums\ai_law_sets.dm" #include "code\datums\ai_laws.dm" #include "code\datums\beam.dm" #include "code\datums\browser.dm" +#include "code\datums\callback.dm" #include "code\datums\category.dm" #include "code\datums\computerfiles.dm" #include "code\datums\datacore.dm" @@ -310,6 +324,7 @@ #include "code\datums\wires\explosive.dm" #include "code\datums\wires\grid_checker.dm" #include "code\datums\wires\jukebox.dm" +#include "code\datums\wires\mines.dm" #include "code\datums\wires\particle_accelerator.dm" #include "code\datums\wires\radio.dm" #include "code\datums\wires\robot.dm" @@ -428,6 +443,7 @@ #include "code\game\gamemodes\changeling\powers\silence_sting.dm" #include "code\game\gamemodes\changeling\powers\transform.dm" #include "code\game\gamemodes\changeling\powers\visible_camouflage.dm" +#include "code\game\gamemodes\cult\construct_spells.dm" #include "code\game\gamemodes\cult\cult.dm" #include "code\game\gamemodes\cult\cult_items.dm" #include "code\game\gamemodes\cult\cult_structures.dm" @@ -608,6 +624,7 @@ #include "code\game\machinery\nuclear_bomb.dm" #include "code\game\machinery\OpTable.dm" #include "code\game\machinery\overview.dm" +#include "code\game\machinery\oxygen_pump.dm" #include "code\game\machinery\pda_multicaster.dm" #include "code\game\machinery\portable_turret.dm" #include "code\game\machinery\recharger.dm" @@ -735,6 +752,7 @@ #include "code\game\machinery\kitchen\cooking_machines\oven.dm" #include "code\game\machinery\pipe\construction.dm" #include "code\game\machinery\pipe\pipe_dispenser.dm" +#include "code\game\machinery\pipe\pipe_recipes.dm" #include "code\game\machinery\pipe\pipelayer.dm" #include "code\game\machinery\telecomms\broadcaster.dm" #include "code\game\machinery\telecomms\logbrowser.dm" @@ -755,6 +773,7 @@ #include "code\game\mecha\mecha_wreckage.dm" #include "code\game\mecha\combat\combat.dm" #include "code\game\mecha\combat\durand.dm" +#include "code\game\mecha\combat\gorilla.dm" #include "code\game\mecha\combat\gygax.dm" #include "code\game\mecha\combat\marauder.dm" #include "code\game\mecha\combat\phazon.dm" @@ -849,6 +868,7 @@ #include "code\game\objects\items\devices\suit_cooling.dm" #include "code\game\objects\items\devices\t_scanner.dm" #include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\text_to_speech.dm" #include "code\game\objects\items\devices\traitordevices.dm" #include "code\game\objects\items\devices\transfer_valve.dm" #include "code\game\objects\items\devices\translator.dm" @@ -891,6 +911,7 @@ #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\weapons\AI_modules.dm" #include "code\game\objects\items\weapons\autopsy.dm" +#include "code\game\objects\items\weapons\bones.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" #include "code\game\objects\items\weapons\clown_items.dm" @@ -998,6 +1019,7 @@ #include "code\game\objects\items\weapons\storage\laundry_basket.dm" #include "code\game\objects\items\weapons\storage\lockbox.dm" #include "code\game\objects\items\weapons\storage\misc.dm" +#include "code\game\objects\items\weapons\storage\quickdraw.dm" #include "code\game\objects\items\weapons\storage\secure.dm" #include "code\game\objects\items\weapons\storage\storage.dm" #include "code\game\objects\items\weapons\storage\toolbox.dm" @@ -1006,7 +1028,13 @@ #include "code\game\objects\items\weapons\tanks\jetpack.dm" #include "code\game\objects\items\weapons\tanks\tank_types.dm" #include "code\game\objects\items\weapons\tanks\tanks.dm" -#include "code\game\objects\random\random.dm" +#include "code\game\objects\random\_random.dm" +#include "code\game\objects\random\guns_and_ammo.dm" +#include "code\game\objects\random\maintenance.dm" +#include "code\game\objects\random\mapping.dm" +#include "code\game\objects\random\misc.dm" +#include "code\game\objects\random\mob.dm" +#include "code\game\objects\random\spacesuits.dm" #include "code\game\objects\structures\alien_props.dm" #include "code\game\objects\structures\barsign.dm" #include "code\game\objects\structures\bedsheet_bin.dm" @@ -1015,6 +1043,7 @@ #include "code\game\objects\structures\coathanger.dm" #include "code\game\objects\structures\curtains.dm" #include "code\game\objects\structures\displaycase.dm" +#include "code\game\objects\structures\dogbed.dm" #include "code\game\objects\structures\door_assembly.dm" #include "code\game\objects\structures\electricchair.dm" #include "code\game\objects\structures\extinguisher.dm" @@ -1023,6 +1052,7 @@ #include "code\game\objects\structures\girders.dm" #include "code\game\objects\structures\gravemarker.dm" #include "code\game\objects\structures\grille.dm" +#include "code\game\objects\structures\holoplant.dm" #include "code\game\objects\structures\inflatable.dm" #include "code\game\objects\structures\janicart.dm" #include "code\game\objects\structures\kitchen_spike.dm" @@ -1037,6 +1067,7 @@ #include "code\game\objects\structures\safe.dm" #include "code\game\objects\structures\signs.dm" #include "code\game\objects\structures\simple_doors.dm" +#include "code\game\objects\structures\snowman.dm" #include "code\game\objects\structures\tank_dispenser.dm" #include "code\game\objects\structures\target_stake.dm" #include "code\game\objects\structures\transit_tubes.dm" @@ -1089,7 +1120,6 @@ #include "code\game\turfs\flooring\flooring.dm" #include "code\game\turfs\flooring\flooring_decals.dm" #include "code\game\turfs\flooring\flooring_premade.dm" -#include "code\game\turfs\flooring\turf_overlay_holder.dm" #include "code\game\turfs\initialization\init.dm" #include "code\game\turfs\initialization\maintenance.dm" #include "code\game\turfs\simulated\floor.dm" @@ -1314,6 +1344,7 @@ #include "code\modules\clothing\chameleon.dm" #include "code\modules\clothing\clothing.dm" #include "code\modules\clothing\clothing_accessories.dm" +#include "code\modules\clothing\clothing_icons.dm" #include "code\modules\clothing\ears\ears.dm" #include "code\modules\clothing\glasses\glasses.dm" #include "code\modules\clothing\glasses\hud.dm" @@ -1329,6 +1360,7 @@ #include "code\modules\clothing\head\jobs.dm" #include "code\modules\clothing\head\misc.dm" #include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\pilot_helmet.dm" #include "code\modules\clothing\head\soft_caps.dm" #include "code\modules\clothing\head\solgov.dm" #include "code\modules\clothing\masks\boxing.dm" @@ -1427,6 +1459,7 @@ #include "code\modules\economy\EFTPOS.dm" #include "code\modules\economy\Events.dm" #include "code\modules\economy\Events_Mundane.dm" +#include "code\modules\economy\lorenews.dm" #include "code\modules\economy\price_list.dm" #include "code\modules\economy\retail_scanner.dm" #include "code\modules\economy\TradeDestinations.dm" @@ -1654,6 +1687,7 @@ #include "code\modules\mob\_modifiers\modifiers_misc.dm" #include "code\modules\mob\_modifiers\traits.dm" #include "code\modules\mob\_modifiers\traits_phobias.dm" +#include "code\modules\mob\_modifiers\unholy.dm" #include "code\modules\mob\dead\death.dm" #include "code\modules\mob\dead\observer\login.dm" #include "code\modules\mob\dead\observer\logout.dm" @@ -1694,6 +1728,7 @@ #include "code\modules\mob\living\bot\bot.dm" #include "code\modules\mob\living\bot\cleanbot.dm" #include "code\modules\mob\living\bot\ed209bot.dm" +#include "code\modules\mob\living\bot\edCLNbot.dm" #include "code\modules\mob\living\bot\farmbot.dm" #include "code\modules\mob\living\bot\floorbot.dm" #include "code\modules\mob\living\bot\medbot.dm" @@ -1839,6 +1874,7 @@ #include "code\modules\mob\living\silicon\robot\subtypes\syndicate.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" +#include "code\modules\mob\living\simple_animal\simple_hud.dm" #include "code\modules\mob\living\simple_animal\aliens\alien.dm" #include "code\modules\mob\living\simple_animal\aliens\creature.dm" #include "code\modules\mob\living\simple_animal\aliens\drone.dm" @@ -1857,6 +1893,7 @@ #include "code\modules\mob\living\simple_animal\animals\giant_spider.dm" #include "code\modules\mob\living\simple_animal\animals\goose.dm" #include "code\modules\mob\living\simple_animal\animals\lizard.dm" +#include "code\modules\mob\living\simple_animal\animals\miscellaneous.dm" #include "code\modules\mob\living\simple_animal\animals\mouse.dm" #include "code\modules\mob\living\simple_animal\animals\parrot.dm" #include "code\modules\mob\living\simple_animal\animals\penguin.dm" @@ -1864,6 +1901,9 @@ #include "code\modules\mob\living\simple_animal\animals\tomato.dm" #include "code\modules\mob\living\simple_animal\animals\tree.dm" #include "code\modules\mob\living\simple_animal\animals\worm.dm" +#include "code\modules\mob\living\simple_animal\animals\sif_wildlife\diyaab.dm" +#include "code\modules\mob\living\simple_animal\animals\sif_wildlife\savik.dm" +#include "code\modules\mob\living\simple_animal\animals\sif_wildlife\shantak.dm" #include "code\modules\mob\living\simple_animal\borer\borer.dm" #include "code\modules\mob\living\simple_animal\borer\borer_captive.dm" #include "code\modules\mob\living\simple_animal\borer\borer_powers.dm" @@ -2012,6 +2052,7 @@ #include "code\modules\power\fusion\fusion_particle_catcher.dm" #include "code\modules\power\fusion\fusion_reactions.dm" #include "code\modules\power\fusion\fusion_reagents.dm" +#include "code\modules\power\fusion\magpower.dm" #include "code\modules\power\fusion\core\_core.dm" #include "code\modules\power\fusion\core\core_control.dm" #include "code\modules\power\fusion\core\core_field.dm" @@ -2054,6 +2095,7 @@ #include "code\modules\projectiles\ammunition\rounds.dm" #include "code\modules\projectiles\guns\energy.dm" #include "code\modules\projectiles\guns\launcher.dm" +#include "code\modules\projectiles\guns\modular_guns.dm" #include "code\modules\projectiles\guns\projectile.dm" #include "code\modules\projectiles\guns\vox.dm" #include "code\modules\projectiles\guns\energy\laser.dm" @@ -2224,7 +2266,6 @@ #include "code\modules\shuttles\shuttles_web.dm" #include "code\modules\shuttles\web_datums.dm" #include "code\modules\spells\artifacts.dm" -#include "code\modules\spells\construct_spells.dm" #include "code\modules\spells\no_clothes.dm" #include "code\modules\spells\spell_code.dm" #include "code\modules\spells\spell_projectile.dm" @@ -2238,15 +2279,12 @@ #include "code\modules\spells\aoe_turf\smoke.dm" #include "code\modules\spells\aoe_turf\summons.dm" #include "code\modules\spells\aoe_turf\conjure\conjure.dm" -#include "code\modules\spells\aoe_turf\conjure\construct.dm" #include "code\modules\spells\aoe_turf\conjure\forcewall.dm" #include "code\modules\spells\general\area_teleport.dm" #include "code\modules\spells\general\rune_write.dm" #include "code\modules\spells\targeted\ethereal_jaunt.dm" #include "code\modules\spells\targeted\genetic.dm" -#include "code\modules\spells\targeted\harvest.dm" #include "code\modules\spells\targeted\mind_transfer.dm" -#include "code\modules\spells\targeted\shift.dm" #include "code\modules\spells\targeted\subjugate.dm" #include "code\modules\spells\targeted\targeted.dm" #include "code\modules\spells\targeted\equip\equip.dm" @@ -2262,6 +2300,7 @@ #include "code\modules\surgery\generic.dm" #include "code\modules\surgery\implant.dm" #include "code\modules\surgery\limb_reattach.dm" +#include "code\modules\surgery\neck.dm" #include "code\modules\surgery\organs_internal.dm" #include "code\modules\surgery\other.dm" #include "code\modules\surgery\robotics.dm" @@ -2275,6 +2314,7 @@ #include "code\modules\tables\tables.dm" #include "code\modules\tables\update_triggers.dm" #include "code\modules\tension\tension.dm" +#include "code\modules\tooltip\tooltip.dm" #include "code\modules\turbolift\_turbolift.dm" #include "code\modules\turbolift\turbolift.dm" #include "code\modules\turbolift\turbolift_areas.dm" @@ -2308,7 +2348,6 @@ #include "code\modules\xenoarcheaology\boulder.dm" #include "code\modules\xenoarcheaology\effect.dm" #include "code\modules\xenoarcheaology\manuals.dm" -#include "code\modules\xenoarcheaology\master_controller.dm" #include "code\modules\xenoarcheaology\misc.dm" #include "code\modules\xenoarcheaology\sampling.dm" #include "code\modules\xenoarcheaology\artifacts\artifact.dm" @@ -2376,7 +2415,6 @@ #include "code\unit_tests\integrated_circuits\converter.dm" #include "code\unit_tests\integrated_circuits\logic.dm" #include "code\unit_tests\integrated_circuits\trig.dm" -#include "code\ZAS\_docs.dm" #include "code\ZAS\Airflow.dm" #include "code\ZAS\Atom.dm" #include "code\ZAS\Connection.dm" diff --git a/sound/ambience/serspaceamb1.ogg b/sound/ambience/serspaceamb1.ogg new file mode 100644 index 00000000000..b83f2220809 Binary files /dev/null and b/sound/ambience/serspaceamb1.ogg differ diff --git a/sound/effects/footstep/snow1.ogg b/sound/effects/footstep/snow1.ogg new file mode 100644 index 00000000000..e98e6df420c Binary files /dev/null and b/sound/effects/footstep/snow1.ogg differ diff --git a/sound/effects/footstep/snow2.ogg b/sound/effects/footstep/snow2.ogg new file mode 100644 index 00000000000..e4e2058e50c Binary files /dev/null and b/sound/effects/footstep/snow2.ogg differ diff --git a/sound/effects/footstep/snow3.ogg b/sound/effects/footstep/snow3.ogg new file mode 100644 index 00000000000..1a6e23b6c39 Binary files /dev/null and b/sound/effects/footstep/snow3.ogg differ diff --git a/sound/effects/footstep/snow4.ogg b/sound/effects/footstep/snow4.ogg new file mode 100644 index 00000000000..9cc98e830e3 Binary files /dev/null and b/sound/effects/footstep/snow4.ogg differ diff --git a/sound/effects/footstep/snow5.ogg b/sound/effects/footstep/snow5.ogg new file mode 100644 index 00000000000..a3fa77173fe Binary files /dev/null and b/sound/effects/footstep/snow5.ogg differ diff --git a/sound/weapons/cannon.ogg b/sound/weapons/cannon.ogg new file mode 100644 index 00000000000..0b0b7ad4cf1 Binary files /dev/null and b/sound/weapons/cannon.ogg differ diff --git a/sound/weapons/gunshot/gunshot.ogg b/sound/weapons/gunshot/gunshot.ogg new file mode 100644 index 00000000000..2547b98af9e Binary files /dev/null and b/sound/weapons/gunshot/gunshot.ogg differ diff --git a/sound/weapons/gunshot/gunshot2.ogg b/sound/weapons/gunshot/gunshot2.ogg new file mode 100644 index 00000000000..4b26d5e7e6f Binary files /dev/null and b/sound/weapons/gunshot/gunshot2.ogg differ diff --git a/sound/weapons/gunshot/gunshot3.ogg b/sound/weapons/gunshot/gunshot3.ogg new file mode 100644 index 00000000000..49c2b0c5548 Binary files /dev/null and b/sound/weapons/gunshot/gunshot3.ogg differ diff --git a/sound/weapons/gunshot/gunshot_pistol.ogg b/sound/weapons/gunshot/gunshot_pistol.ogg new file mode 100644 index 00000000000..c9d63229921 Binary files /dev/null and b/sound/weapons/gunshot/gunshot_pistol.ogg differ diff --git a/sound/weapons/gunshot/gunshot_smg.ogg b/sound/weapons/gunshot/gunshot_smg.ogg new file mode 100644 index 00000000000..5c0000bb320 Binary files /dev/null and b/sound/weapons/gunshot/gunshot_smg.ogg differ diff --git a/sound/weapons/gunshot/gunshot_strong.ogg b/sound/weapons/gunshot/gunshot_strong.ogg new file mode 100644 index 00000000000..6794bfa08ec Binary files /dev/null and b/sound/weapons/gunshot/gunshot_strong.ogg differ diff --git a/sound/weapons/gunshot/shotgun.ogg b/sound/weapons/gunshot/shotgun.ogg new file mode 100644 index 00000000000..b546fb734f8 Binary files /dev/null and b/sound/weapons/gunshot/shotgun.ogg differ diff --git a/sound/weapons/gunshot/sniper.ogg b/sound/weapons/gunshot/sniper.ogg new file mode 100644 index 00000000000..3acbece950c Binary files /dev/null and b/sound/weapons/gunshot/sniper.ogg differ